Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Description from the maker (original English)
Read-only shopping decisions, product search, offers, and price history for Greece.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.bestprice.gr/mcpRun this in your terminal
claude mcp add --transport http bestprice https://mcp.bestprice.gr/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"bestprice": {
"url": "https://mcp.bestprice.gr/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"bestprice": {
"type": "http",
"url": "https://mcp.bestprice.gr/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.bestprice.gr/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
get_shopping_decisionProvides read-only shopping recommendations, product comparisons, purchase-timing context, and basket plans for physical products sold in Greece. Accepts only a concise current shopping request with a budget, required specifications, and relevant corrections, excluding chat trans
search_productsSearches physical products sold in Greece by product name, model, category, or barcode and returns up to eight grouped products with canonical product IDs, catalog prices, relevance warnings, and BestPrice links. Price bounds apply before shipping; feature hints are not independe
compare_offersCompares current Greek merchant offers for one exact grouped BestPrice product ID. Returns public store names, item prices, shipping information, calculable delivered totals, ranking reasons, and BestPrice links. Without objective it ranks by lowest_total_cost when postal_code is
get_price_historyReturns historical prices and a deterministic deal classification for one exact grouped BestPrice product ID. Includes minimum and median statistics, a compact daily price series, coverage gaps, and methodology. period_days selects the daily series and coverage gaps only: deal_cl
optimize_basketCalculates read-only basket plans for exact grouped BestPrice product IDs delivered to a Greek postcode. Compares cheapest, fewer-merchant, and balanced reliability-and-cost plans within the requested merchant ceiling and rating floor. Returns public store names and cost breakdow
check_dealChecks an offer using a BestPrice product URL, a reviewed merchant URL, a barcode, or visible product text from a screenshot. Screenshot inputs consist of visible identity text and an optional observed price. Unique barcodes and reviewed variant-identifying URLs can establish an
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified against the domain bestprice.gr (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 922 ms (HTTP 200)
No sign-in needed
Read 6 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.9.0) reached the registry 5 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The official Model Context Protocol server for BestPrice.gr, Greece's price-comparison service. It gives AI assistants read-only access to shopping decisions, live product search, offer comparison, and price history. No account or API key is needed.
For developer integrations, the public endpoint is:
https://mcp.bestprice.gr/mcp
gr.bestprice/mcp1.9.0This repository holds everything that lives outside the hosted service: the install manifests for each AI client, a local stdio bridge for hosts that cannot speak HTTP, and the browser-native WebMCP layer. The server itself is not in this repository.
The current release matrix records the live gateway, UI, OAuth/Events, the ChatGPT directory listing and separate ACP qualification.
The hosted 1.9.0 service now also advertises check_deal and optimize_basket. Both passed a live check on 3 November 2026. check_deal accepts exactly one product URL, visible model/barcode text or selected product ID; image bytes are not ingested. optimize_basket calculates read-only plans for exact products, quantities and a supplied postcode. Neither places an order. The client manifests now advertise the six research tools. OpenAI's acceptance of the new server definitions and the 1.3.0 package are tracked in the release matrix.
| Tool | What it does | Key arguments |
|---|---|---|
get_shopping_decision | Runs the BestPrice Shopping Brain: an evidence-backed recommendation, need-based comparison, or read-only basket plan with reasons, tradeoffs, and unknowns. | message (the need in Greek or English, including any budget), optional postal_code (required for a completed basket plan), optional evidence_detail (summary, the default: only the evidence the answer cites; full: every claim and source) |
search_products | Finds canonical products in the catalog. Returns product IDs and the catalog minimum price before shipping. | query (2–400 characters: a name, model, category, or a bare GTIN/EAN barcode), optional price_min, price_max, required_features, sort (relevance, price_asc, price_desc), limit (1–8) |
compare_offers | Compares current merchant offers for one exact product, separating item price, shipping, and delivered total. | product_id from a previous result, optional postal_code (a Greek postcode, 10000–85999, for delivered totals), objective, in_stock_only, minimum_merchant_rating, limit (1–10) |
get_price_history | Summarises how a product's price moved over time, against its 180-day median. | product_id, optional period_days (30, 90 or 180) |
check_deal | Checks exact identity, current offers and price context for an offer. | Exactly one url, visible model/barcode query, or selected product_id; optional supplied observed_price and postal_code |
optimize_basket | Calculates read-only plans for exact selected products and quantities. | items with product_id and quantity, Greek postal_code; optional objective and maximum_merchants |
Public research tools are read-only. They never place orders, create alerts, or read account data. Results link to a BestPrice product page, never directly to a merchant. Unknown shipping is reported as unknown, not as free. Search covers safe physical products; digital goods, services, and age-restricted categories are excluded.
A broad request can return outcome: "clarification" with clarifications[].choices. Each choice contains a display label and a self-contained message. Ask the shopper to choose, then call get_shopping_decision with that message. When they choose Skip, also send skip_clarification: true as returned by that choice. Never choose on the shopper’s behalf. Exact models and requests that already state the missing type bypass this step. Mandatory budget, age-group, product-type and accessory checks still apply after Skip.
For example, “ANC headphones up to €150 for commuting” can ask whether the shopper wants over-ear or in-ear headphones. The recommendation excludes children’s models and replacement accessories unless the shopper asks for them. This is the same Shopping Brain used by BestPrice Ask.
Ask’s product cards can open BestPrice’s existing alert and saved-list flows. Public research remains read-only. On an MCP Events-capable host, optional account linking can separately create and cancel the exact price alerts the shopper requests. No alert is active until subscription succeeds. Saved comparisons in the 1.3.0 candidate remain separately gated; account conversations and image bytes are not accessed.
Measured against the live endpoint on 24 September 2026.
initialize negotiates 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 and 2024-10-07; a client that asks for any other version is answered with 2025-11-25. The 2026-07-28 per-request revision is also served: send the MCP-Protocol-Version, Mcp-Method (and, for tools/call, Mcp-Name) headers, and put io.modelcontextprotocol/protocolVersion and io.modelcontextprotocol/clientCapabilities in every request's _meta. A request that names the revision without that envelope is refused with -32602.MCP-Session-Id is issued and none is required; DELETE answers 405. A GET with Accept: text/event-stream answers immediately with the SSE comment : connected and retry: 300000, then holds the connection open. It does not send JSON-RPC requests or notifications on that stream. Rechecked 29 October 2026. A client loses nothing by not opening it, and must not wait for the stream to end.tools and resources are available to compatible clients. The resource surface contains the optional MCP Apps UI at ui://bestprice/shopping-results-v1.html, the server card at mcp://server-card.json, and the canonical skill://bestprice-shopping/SKILL.md. On MCP 2026-07-28 the server also declares the final io.modelcontextprotocol/skills extension: skills/list and skills/get return the one BestPrice Shopping Skill with its SHA-256 digest and byte size, and resources/read returns the exact markdown bytes. Older clients simply see the Skill as an ordinary resource. There are no prompts, completions or logging; those methods answer -32601.application/json and text/event-stream gets a one-event SSE response. Accept: application/json, */* or no Accept header gets a single JSON body. Every tool returns structuredContent that validates against its outputSchema, plus the same result as text for clients that do not pass structured content to the model.-32602). Invalid arguments and service failures such as an unknown product are tool results with isError: true, so the model can read and correct them.413 above that), a 12-second request deadline, and per-client rate limits answered with HTTP 429, JSON-RPC error -32029 and a Retry-After header. JSON-RPC batch arrays are refused with 400.Origin header and are not affected. A browser page may call the endpoint from an allowlisted AI-host origin, from bestprice.gr, or from localhost (so MCP Inspector works in direct mode); any other origin gets 403.events:subscribe; protected-resource metadata is available at /.well-known/oauth-protected-resource and /mcp/oauth-protected-resource. Actual host subscription and delivery qualification is recorded separately in the release matrix.Every client below connects to the same endpoint. Copy-paste connector setup for Perplexity, Claude, ChatGPT developer mode, Gemini CLI, Copilot, Grok Bot, and Cursor is in docs/connect.md. Longer provider notes, including OpenAI and Microsoft Copilot Studio, are in docs/provider-setup.md.
Connect BestPrice to Claude opens the custom-connector flow with the endpoint prefilled. For Claude Code:
claude mcp add --transport http bestprice-shopping https://mcp.bestprice.gr/mcp
The bundled .mcp.json is the equivalent project-scoped configuration.
Add BestPrice to Cursor shows the decoded configuration before adding it. The .cursor-plugin/ directory holds the marketplace plugin and an agent skill.
Add BestPrice to VS Code
Add BestPrice to VS Code Insiders
Add BestPrice to Kiro opens Kiro's confirmation dialog with the remote URL. Kiro shows the configuration before writing it.
gemini extensions install https://github.com/TheBestCo/bestprice-mcp
qwen extensions install https://github.com/TheBestCo/bestprice-mcp --consent
Both extensions restrict the imported tools to the four listed above.
The root plugin.json, mcp.json, and skills/bestprice-shopping/SKILL.md form a portable Agent Plugins package: the MCP supplies live shopping data and the Skill teaches the host when and how to route unbranded Greek shopping intent. Agent-compatible hosts that discover repository-local skills under .agents/skills/ get the same canonical workflow at [.agents/skills/bestprice-shopping/SKILL.md](.agents/sk
Only the beginning is shown; read the rest in the repo