Shoptera Product Intelligence
Search product catalogs across thousands of Central European e-shops. Semantic search, keyword matching, GTIN/EAN lookup — via REST API or MCP. \~2,500 e-shops | ~8.5M products | 7 countries (CZ, SK, PL, HU, RO, DE, AT)
README
Shoptera Product Intelligence
Search product catalogs across thousands of Central European e-shops. Semantic search, keyword matching, GTIN/EAN lookup — via REST API or MCP.
~2,500 e-shops | ~8.5M products | 7 countries (CZ, SK, PL, HU, RO, DE, AT)
Live stats: GET /stats/global
Tools
Three MCP tools are available. All are read-only and require no authentication.
search_products — Semantic Search
Natural language search using vector embeddings. Understands intent, synonyms, and context across Czech, Slovak, German, Polish, Hungarian, Romanian, and English.
When to use: Open-ended queries, gift ideas, category browsing, intent-based search.
Returns: Products ranked by semantic relevance score (0-1). Includes title, description, price, currency, brand, category, gtin, image_url, product_url, availability, eshop info, and cart_action.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Natural language search query |
origin_country |
string | No | E-shop country: CZ, SK, PL, HU, RO, DE, AT |
target_country |
string | No | Target market filter |
min_price |
number | No | Minimum price (set currency too) |
max_price |
number | No | Maximum price (set currency too) |
currency |
string | No | ISO 4217: CZK, EUR, PLN, HUF, RON |
brand |
string | No | Exact brand name (case-sensitive) |
category |
string | No | Category keyword match |
availability |
string | No | in_stock, out_of_stock, preorder |
eshop_domain |
string | No | Filter by e-shop domain |
limit |
integer | No | Results count, 1-50 (default 10) |
fields |
list | No | Fields to include (saves up to 70% tokens) |
search_products_by_text — Keyword Search
Exact keyword matching in product titles. Deterministic results, faster than semantic search.
When to use: Known product names, model numbers, brand + product combinations.
Returns: Products matching all keywords. Same fields as semantic search (without score).
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Keywords for product title (AND logic) |
brand |
string | No | Exact brand name (case-sensitive) |
category |
string | No | Category keyword match |
origin_country |
string | No | E-shop country: CZ, SK, PL, HU, RO, DE, AT |
target_country |
string | No | Target market filter |
min_price |
number | No | Minimum price (set currency too) |
max_price |
number | No | Maximum price (set currency too) |
currency |
string | No | ISO 4217: CZK, EUR, PLN, HUF, RON |
limit |
integer | No | Results count, 1-50 (default 10) |
fields |
list | No | Fields to include (saves up to 70% tokens) |
lookup_by_gtin — GTIN/EAN Barcode Lookup
Exact barcode match. Finds all e-shops selling a product by GTIN/EAN/UPC.
When to use: Price comparison by barcode, product identification.
Returns: All products matching the barcode. Same fields as keyword search.
| Parameter | Type | Required | Description |
|---|---|---|---|
gtin |
string | Yes | GTIN/EAN/UPC barcode (8-14 digits) |
origin_country |
string | No | E-shop country: CZ, SK, PL, HU, RO, DE, AT |
target_country |
string | No | Target market filter |
limit |
integer | No | Results count, 1-50 (default 10) |
fields |
list | No | Fields to include (saves up to 70% tokens) |
Tool Selection Guide
User has a barcode number? --> lookup_by_gtin
User knows the exact product name? --> search_products_by_text
User describes what they want? --> search_products
Installation
No authentication required. MCP endpoint: https://shoptera.ai/mcp/ (streamable HTTP, stateless)
Claude Code
claude mcp add --transport http shoptera https://shoptera.ai/mcp/
Cursor
Add to Cursor Settings > Features > MCP > Add New MCP Server, or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"shoptera": { "url": "https://shoptera.ai/mcp/" }
}
}
Windsurf
Add via Cascade > MCP Servers > Add Server, or edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"shoptera": { "url": "https://shoptera.ai/mcp/" }
}
}
VS Code (Copilot / Continue)
Edit .vscode/mcp.json in your workspace:
{
"mcpServers": {
"shoptera": { "url": "https://shoptera.ai/mcp/" }
}
}
Any tool (universal installer)
npx add-mcp https://shoptera.ai/mcp/ -n shoptera -g -y
All Platforms
| Platform | Setup | Details |
|---|---|---|
| Claude Code | claude mcp add --transport http shoptera https://shoptera.ai/mcp/ |
Skill guide |
| Cursor | MCP config | Settings > Features > MCP |
| Windsurf | MCP config | Cascade > MCP Servers |
| VS Code | MCP config | .vscode/mcp.json |
| OpenAI Codex | AGENTS.md | Agent config reference |
| ChatGPT | OpenAPI spec | Custom GPT actions. Instructions |
| Gemini | GEMINI.md | Tool definitions and endpoints |
| Any HTTP client | Examples | curl, Python, JavaScript |
Usage
Semantic search — natural language, understands intent
curl "https://shoptera.ai/api/v1/search?q=dárek+pro+zahradníka+do+500+Kč&max_price=500¤cy=CZK&origin_country=CZ"
Keyword search — exact title matching, fast
curl "https://shoptera.ai/api/v1/search/text?title=Nike+Air+Max+90&brand=Nike"
GTIN/EAN lookup — find e-shops by barcode
curl "https://shoptera.ai/api/v1/search/gtin/5901234123457"
Saving tokens — return only the fields you need
curl "https://shoptera.ai/api/v1/search?q=boty&limit=5&fields=title,price,product_url,cart_action"
Cart actions
Every product includes a cart_action object:
method: "GET"— navigate tourlto add the product to cart automaticallymethod: "browser_click"— navigate tourl, then click the button matchingbutton_textmethod: "view_product"— show the product page URL to the user
Capabilities
- Product Search — semantic vs keyword vs GTIN, when to use which, filters, scoring
- Cart Actions — three action types, how to handle each
- Data Coverage — countries, data freshness, live stats
API Reference
Full documentation: api/reference.md
OpenAPI spec: api/openapi.yaml
Endpoints
| Method | Path | Description |
|---|---|---|
GET |
/api/v1/search?q=... |
Semantic search (natural language) |
GET |
/api/v1/search/text?title=... |
Keyword search (exact title match) |
GET |
/api/v1/search/gtin/{gtin} |
GTIN/EAN barcode lookup |
GET |
/stats/global |
Catalog statistics |
Code Examples
- Semantic search — curl, Python, JavaScript
- Keyword search — curl, Python, JavaScript
- GTIN/EAN lookup — curl, Python, JavaScript
- Cart actions — handling all three action types
Rate Limits
300 requests per hour per IP address. Shared across REST API and MCP. No authentication needed.
429 responses include a Retry-After header.
Privacy Policy
Shoptera Product Intelligence is a read-only product search service. We do not require authentication, do not collect personal data, and do not process payments.
- No personal data collected — no accounts, no cookies, no tracking pixels
- Query logging — we log anonymized search queries (without IP addresses) for service improvement and aggregate usage statistics
- No data sharing — query logs are not shared with third parties
- Rate limiting — IP addresses are used transiently for rate limiting (300 req/hour) and are not stored
- Product data — all product information is sourced from publicly available e-shop feeds
- Cart actions — purchase redirects go directly to the original e-shop; Shoptera does not intermediate transactions
For questions, contact hello@shoptera.ai.
Agent Discovery
This server supports multiple discovery protocols for AI agents:
| Protocol | Endpoint | Description |
|---|---|---|
| MCP Server Card | /.well-known/mcp/server-card.json |
MCP auto-discovery (tools, capabilities, transport) |
| A2A Agent Card | /.well-known/agent-card.json |
Agent-to-Agent protocol discovery (skills, interfaces) |
| UCP Manifest | /.well-known/ucp |
Universal Commerce Protocol binding |
Contributing
Found an issue with the docs? Open a PR:
- Fork this repo
- Edit the relevant file
- Submit a pull request
Please keep changes consistent with api/reference.md as the source of truth for API behavior.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.