BestPrice MCP
Pesquise produtos no BestPrice.gr, compare ofertas atuais de comerciantes e frete, e inspecione o histórico de preços observado por meio de um servidor MCP público somente leitura.
Documentação
BestPrice MCP
O servidor oficial do Model Context Protocol para BestPrice.gr, o serviço grego de comparação de preços. Ele dá aos assistentes de IA acesso somente leitura a decisões de compra, busca de produtos em tempo real, comparação de ofertas e histórico de preços. Não é necessária conta ou chave de API.

Comece a comprar
- Abra o BestPrice no ChatGPT e adicione o plugin publicado.
- Conecte o BestPrice ao Claude usando o formulário de conexão pré-preenchido.
- Veja o guia de compras para exemplos e outros assistentes.
Para integrações de desenvolvedores, o endpoint público é:
https://mcp.bestprice.gr/mcp
- Transporte: HTTP Streamable sobre HTTPS; compras anônimas, OAuth opcional para Eventos
- ID oficial do registro:
gr.bestprice/mcp - Versão do servidor:
1.8.4 - Guia público: https://www.bestprice.gr/mcp
- Suporte: https://www.bestprice.gr/contact
Este repositório contém tudo o que fica fora do serviço hospedado: os manifestos de instalação para cada cliente de IA, uma ponte stdio local para hosts que não falam HTTP, e a camada WebMCP nativa do navegador. O servidor em si não está neste repositório.
A matriz de versões atual registra o gateway ativo, UI, OAuth/Eventos, revisão de plugins e qualificação ACP separada.
Ferramentas
| Ferramenta | O que faz | Argumentos principais |
|---|---|---|
get_shopping_decision | Executa o BestPrice Shopping Brain: uma recomendação baseada em evidências, comparação por necessidade ou plano de cesta somente leitura com razões, trade-offs e incógnitas. | message (a necessidade em grego ou inglês, incluindo qualquer orçamento), opcional postal_code (obrigatório para um plano de cesta completo), opcional evidence_detail (summary, o padrão: apenas as evidências que a resposta cita; full: cada afirmação e fonte) |
search_products | Encontra produtos canônicos no catálogo. Retorna IDs de produtos e o preço mínimo do catálogo antes do frete. | query (2–200 caracteres: um nome, modelo, categoria ou um código de barras GTIN/EAN puro), opcional price_min, price_max, required_features, sort (relevance, price_asc, price_desc), limit (1–8) |
compare_offers | Compara ofertas atuais de comerciantes para um produto exato, separando preço do item, frete e total entregue. | product_id de um resultado anterior, opcional postal_code (um CEP grego, 10000–85999, para totais entregues), objective, in_stock_only, minimum_merchant_rating, limit (1–10) |
get_price_history | Resume como o preço de um produto mudou ao longo do tempo, em relação à sua mediana de 180 dias. | product_id, opcional period_days (30, 90 ou 180) |
Todas as quatro ferramentas são somente leitura. Elas nunca fazem pedidos, criam alertas ou leem dados de conta. Os resultados vinculam a uma página de produto do BestPrice, nunca diretamente a um comerciante. Frete desconhecido é relatado como desconhecido, não como grátis. A busca cobre produtos físicos seguros; bens digitais, serviços e categorias com restrição de idade são excluídos.
Detalhes do protocolo
Medido contra o endpoint ativo em 24 de setembro de 2026.
- Versões.
initializenegocia2025-11-25,2025-06-18,2025-03-26,2024-11-05e2024-10-07; um cliente que pede qualquer outra versão recebe2025-11-25como resposta. A revisão por solicitação2026-07-28também é servida: envie os cabeçalhosMCP-Protocol-Version,Mcp-Method(e, paratools/call,Mcp-Name), e coloqueio.modelcontextprotocol/protocolVersioneio.modelcontextprotocol/clientCapabilitiesem cada solicitação no_meta. Uma solicitação que nomeia a revisão sem esse envelope é recusada com-32602. - Sem estado. Nenhum
MCP-Session-Idé emitido e nenhum é necessário;DELETEresponde a405. UmGETcomAccept: text/event-streamabre um stream keep-alive, mas o servidor nunca envia solicitações ou notificações nele, então um cliente não perde nada ao não abri-lo. - Capacidades.
toolseresourcesestão disponíveis para clientes compatíveis. A superfície de recursos contém a UI opcional de Apps MCP emui://bestprice/shopping-results-v1.html, o cartão do servidor emmcp://server-card.jsone o canônicoskill://bestprice-shopping/SKILL.md. No MCP2026-07-28, o servidor também declara a extensão finalio.modelcontextprotocol/skills:skills/listeskills/getretornam a única BestPrice Shopping Skill com seu digest SHA-256 e tamanho em bytes, eresources/readretorna os bytes exatos do markdown. Clientes mais antigos simplesmente veem a Skill como um recurso comum. Não há prompts, completions ou logging; esses métodos respondem-32601. - Respostas. Um cliente que aceita tanto
application/jsonquantotext/event-streamrecebe uma resposta SSE de um evento.Accept: application/json,*/*ou nenhum cabeçalhoAcceptrecebe um único corpo JSON. Cada ferramenta retornastructuredContentque valida contra seuoutputSchema, além do mesmo resultado como texto para clientes que não passam conteúdo estruturado ao modelo. - Erros. Uma ferramenta desconhecida é um erro JSON-RPC (
-32602). Argumentos inválidos e falhas de serviço, como um produto desconhecido, são resultados de ferramenta comisError: true, para que o modelo possa ler e corrigi-los. - Limites. Corpos de solicitação JSON de até 256 KiB (
413acima disso), um prazo de solicitação de 12 segundos e limites de taxa por cliente respondidos com HTTP429, erro JSON-RPC-32029e um cabeçalhoRetry-After. Arrays de lote JSON-RPC são recusados com400. - Navegadores. Clientes desktop, CLI e lado do servidor não enviam cabeçalho
Origine não são afetados. Uma página de navegador pode chamar o endpoint de uma origem de host de IA na lista de permissões, de bestprice.gr ou delocalhost(para que o MCP Inspector funcione em modo direto); qualquer outra origem recebe403. - Autenticação. As quatro ferramentas de compra funcionam sem conta. A vinculação opcional
de conta é limitada a
events:subscribe; os metadados de recursos protegidos estão disponíveis em/.well-known/oauth-protected-resourcee/mcp/oauth-protected-resource. Eventos permanece desabilitado durante a qualificação ponta a ponta.
Início rápido para desenvolvedores
Cada cliente abaixo se conecta ao mesmo endpoint. Instruções detalhadas e específicas
por provedor, incluindo OpenAI, Grok, GitHub Copilot e Microsoft Copilot Studio, estão em
docs/provider-setup.md.
Claude
Conecte o BestPrice ao Claude abre o fluxo de conector personalizado com o endpoint pré-preenchido. Para Claude Code:
claude mcp add --transport http bestprice-shopping https://mcp.bestprice.gr/mcp
O .mcp.json incluído é a configuração equivalente no escopo do projeto.
Cursor
Adicione o BestPrice ao Cursor
mostra a configuração decodificada antes de adicioná-la. O diretório .cursor-plugin/
contém o plugin do marketplace e uma skill de agente.
VS Code
Adicione o BestPrice ao VS Code
Gemini CLI e Qwen Code
gemini extensions install https://github.com/TheBestCo/bestprice-mcp
qwen extensions install https://github.com/TheBestCo/bestprice-mcp --consent
Ambas as extensões restringem as ferramentas importadas às quatro listadas acima.
Codex, plugins Claude e hosts de Agent Skill
A raiz plugin.json, mcp.json e
skills/bestprice-shopping/SKILL.md formam um pacote
portátil de Agent Plugins: o MCP fornece dados de compras ao vivo e a Skill ensina o host quando e
como rotear intenções de compra gregas sem marca.
Hosts compatíveis com agentes que descobrem skills locais do repositório em .agents/skills/ recebem o
mesmo fluxo de trabalho canônico em .agents/skills/bestprice-shopping/SKILL.md. .codex-plugin/ continua sendo o
manifesto de compatibilidade do Codex. .claude-plugin/plugin.json mais a
mesma Skill raiz e .mcp.json também tornam este repositório um pacote de plugin Claude.
Marketplaces de plugins auto-hospedados
O mesmo repositório pode ser adicionado diretamente como um marketplace de plugins, sem lógica de ferramenta ou Skill copiada:
copilot plugin marketplace add TheBestCo/bestprice-mcp
copilot plugin install bestprice-shopping@bestprice
claude plugin marketplace add TheBestCo/bestprice-mcp
claude plugin install bestprice-shopping@bestprice
O Copilot lê .github/plugin/marketplace.json e, sob
Agent Plugins 1.0, carrega o plugin.json, mcp.json e
skills/bestprice-shopping/SKILL.md canônicos da raiz. O Claude lê
.claude-plugin/marketplace.json e usa
.claude-plugin/plugin.json, .mcp.json e a mesma Skill raiz.
Gemini API, DeepSeek, Z.ai
Exemplos executáveis estão em examples/: a API Gemini Interactions e Genkit,
uma entrada de plugin DeepSeek Harness e uma chamada Z.ai GLM. Cada um precisa da chave de API do próprio provedor.
O BestPrice não precisa de nenhuma.
Qualquer outro cliente MCP
Adicione um servidor HTTP Streamable em https://mcp.bestprice.gr/mcp. Se o host só suportar
servidores stdio, use a ponte neste repositório:
git clone https://github.com/TheBestCo/bestprice-mcp.git && cd bestprice-mcp
npm ci
node stdio.mjs
A ponte encaminha tudo para o endpoint público e aceita duas variáveis
de ambiente: BESTPRICE_MCP_URL (padrão: o endpoint público) e
BESTPRICE_MCP_TIMEOUT_MS (padrão: 60000). Um Dockerfile constrói a mesma ponte para
Glama e hosts semelhantes.
Uma primeira conversa segura
- Peça uma decisão:
Θέλω κινητό έως 500 ευρώ με NFC και 5G υποχρεωτικά.(Quero um celular de até 500 euros, com NFC e 5G obrigatórios.) - Ou busque:
Find Sony WH-1000XM5 under 300 euros. - Passe um
product_idretornado paracompare_offerscom o código postal10558. - Passe o mesmo
product_idparaget_price_historypor 180 dias.
As consultas funcionam em grego ou inglês. Resumos de resultados, dados de catálogo e nomes de comerciantes voltam em grego.
| Busca | Comparar ofertas | Histórico de preços |
|---|---|---|
![]() | ![]() | ![]() |
WebMCP nativo do navegador
As páginas do BestPrice registram 22 ferramentas WebMCP contextuais (contrato 2.8) em navegadores compatíveis — cada uma
lê ou age, nunca ambos — cobrindo busca com resultados estruturados (filtrados por preço, estoque, ofertas e
ordenação) e abertura da página de resultados que uma busca retornou na aba, a lista de compras do comprador e
comparações (leitura em qualquer lugar, adição e remoção em uma página de produto), um diálogo de alerta de queda de preço, os produtos visíveis e carregar mais, filtros e ordenação,
abertura de qualquer produto por id (leitura antes de a aba se mover), fatos do produto, ofertas, especificações e histórico
de preços (com seu gráfico), uma ação de oferta visível e o BestPrice Shopping Brain — em todas as páginas
públicas, incluindo artigos e lojas — deixando a escolha do comerciante para o comprador. Cada ferramenta publica um esquema de entrada e de saída.
Os contratos, o runtime fail-closed, o avaliador determinístico e o conjunto de dados de linguagem natural com 47 casos estão
em webmcp/.
Descoberta
- Registro oficial MCP
- Descoberta aberta de agentes:
ard.json,ai-catalog.json, cartão do servidor e a skill BestPrice Shopping neutra de provedor. Os exemplos ARD são intenções de compra deliberadamente sem marca para que a descoberta possa corresponder a "o que devo comprar?", preço entregue e solicitações de timing de preço antes de o usuário conhecer o BestPrice. webmcp.jsondescreve as ferramentas contextuais de navegador expostas pelas páginas do BestPrice.- O repositório está listado na galeria de extensões do Gemini CLI
como
bestprice-shopping(o Google rastreia repositórios públicos de extensões marcados), enquanto o GitHub Agent Finder pode ingerir o catálogo público MCP e os recursos ARD. - Contribuições prontas para copiar e fixadas por CI para catálogos externos ficam em
distribution/: uma entrada de Skill do GitHub Agent Finder e uma entrada de servidor remoto do Docker MCP Registry. Esses catálogos exigem revisão em seus próprios repositórios; os arquivos verificados são payloads de envio, não alegações de que as listagens externas já estão ativas. - Índices da comunidade: Glama, WebMCP Registry, webmcp.com, cursor.directory
Desenvolvimento
npm ci
npm run check # Biome lint and format
npm test # node --test: bridge, WebMCP, manifests, dataset
Os testes não precisam de rede: a ponte é exercitada contra um remoto falso em processo. Node 20
ou mais recente é necessário; .nvmrc fixa a versão 22.
Versionamento
Duas versões aparecem neste repositório de propósito:
- Versão do pacote em
package.jsone em cada manifesto de plugin ou extensão. Ela muda quando os manifestos, a ponte ou a camada WebMCP deste repositório mudam, e é marcada comovX.Y.Z. - Versão do servidor em
server.jsone na linha perto do topo deste README. É a versão que o serviço hospedado reporta e é publicada no Registro Oficial do MCP.
CHANGELOG.md rastreia a versão do pacote.
Verificações do serviço hospedado com carimbo de data/hora são registradas separadamente. A verificação do Shopping Brain v12 de 7 de setembro inclui a revisão exata do gateway, resultados de canário sanitizados e limites de escopo.
Segurança
Reporte vulnerabilidades de forma privada conforme descrito em SECURITY.md.
Contribuição
Consulte CONTRIBUTING.md. Issues e pull requests são bem-vindos.
Licença
Apache License 2.0. Copyright The Best Company S.A. Consulte LICENSE.
Privacidade: https://www.bestprice.gr/policies/privacy · Termos: https://www.bestprice.gr/policies/terms


