BestPrice MCP
Busca productos en BestPrice.gr, compara ofertas actuales de comerciantes y envíos, e inspecciona el historial de precios observado a través de un servidor MCP público de solo lectura.
Documentación
BestPrice MCP
El servidor oficial del Model Context Protocol para BestPrice.gr, el servicio griego de comparación de precios. Proporciona a los asistentes de IA acceso de solo lectura a decisiones de compra, búsqueda de productos en vivo, comparación de ofertas e historial de precios. No se necesita cuenta ni clave de API.

Comienza a comprar
- Abre BestPrice en ChatGPT y añade el plugin publicado.
- Conecta BestPrice a Claude usando el formulario de conexión prellenado.
- Consulta la guía de compra para ver ejemplos y otros asistentes.
Para integraciones de desarrolladores, el endpoint público es:
https://mcp.bestprice.gr/mcp
- Transporte: HTTP Streamable sobre HTTPS; compras anónimas, OAuth opcional para Eventos
- ID oficial del registro:
gr.bestprice/mcp - Versión del servidor:
1.8.4 - Guía pública: https://www.bestprice.gr/mcp
- Soporte: https://www.bestprice.gr/contact
Este repositorio contiene todo lo que vive fuera del servicio alojado: los manifiestos de instalación para cada cliente de IA, un puente stdio local para hosts que no pueden hablar HTTP, y la capa WebMCP nativa del navegador. El servidor en sí no está en este repositorio.
La matriz de versiones actual registra la puerta de enlace en vivo, la interfaz de usuario, OAuth/Eventos, la revisión de plugins y la cualificación ACP separada.
Herramientas
| Herramienta | Qué hace | Argumentos clave |
|---|---|---|
get_shopping_decision | Ejecuta el BestPrice Shopping Brain: una recomendación basada en evidencia, comparación basada en necesidades, o plan de cesta de solo lectura con razones, compensaciones e incógnitas. | message (la necesidad en griego o inglés, incluido cualquier presupuesto), opcional postal_code (requerido para un plan de cesta completo), opcional evidence_detail (summary, el predeterminado: solo la evidencia que la respuesta cita; full: cada afirmación y fuente) |
search_products | Encuentra productos canónicos en el catálogo. Devuelve IDs de producto y el precio mínimo del catálogo antes del envío. | query (2–200 caracteres: un nombre, modelo, categoría o un código de barras GTIN/EAN simple), opcional price_min, price_max, required_features, sort (relevance, price_asc, price_desc), limit (1–8) |
compare_offers | Compara ofertas actuales de comerciantes para un producto exacto, separando precio del artículo, envío y total entregado. | product_id de un resultado anterior, opcional postal_code (un código postal griego, 10000–85999, para totales entregados), objective, in_stock_only, minimum_merchant_rating, limit (1–10) |
get_price_history | Resume cómo ha variado el precio de un producto a lo largo del tiempo, frente a su mediana de 180 días. | product_id, opcional period_days (30, 90 o 180) |
Las cuatro herramientas son de solo lectura. Nunca realizan pedidos, crean alertas ni leen datos de cuenta. Los resultados enlazan a una página de producto de BestPrice, nunca directamente a un comerciante. El envío desconocido se informa como desconocido, no como gratuito. La búsqueda cubre productos físicos seguros; los bienes digitales, servicios y categorías restringidas por edad están excluidos.
Detalles del protocolo
Medido contra el endpoint en vivo el 24 de septiembre de 2026.
- Versiones.
initializenegocia2025-11-25,2025-06-18,2025-03-26,2024-11-05y2024-10-07; un cliente que solicite cualquier otra versión recibe como respuesta2025-11-25. También se sirve la2026-07-28revisión por solicitud: envía los encabezadosMCP-Protocol-Version,Mcp-Method(y, paratools/call,Mcp-Name), y ponio.modelcontextprotocol/protocolVersionyio.modelcontextprotocol/clientCapabilitiesen el_metade cada solicitud. Una solicitud que nombre la revisión sin ese envoltorio es rechazada con-32602. - Sin estado. No se emite ningún
MCP-Session-Idni se requiere;DELETEresponde a405. UnGETconAccept: text/event-streamabre un flujo keep-alive, pero el servidor nunca envía solicitudes ni notificaciones a través de él, por lo que un cliente no pierde nada si no lo abre. - Capacidades.
toolsyresourcesestán disponibles para clientes compatibles. La superficie de recursos contiene la interfaz opcional de MCP Apps enui://bestprice/shopping-results-v1.html, la tarjeta del servidor enmcp://server-card.json, y el canónicoskill://bestprice-shopping/SKILL.md. En MCP2026-07-28el servidor también declara la extensión finalio.modelcontextprotocol/skills:skills/listyskills/getdevuelven la única BestPrice Shopping Skill con su digest SHA-256 y tamaño en bytes, yresources/readdevuelve los bytes exactos de markdown. Los clientes más antiguos simplemente ven la Skill como un recurso ordinario. No hay prompts, completions ni logging; esos métodos responden-32601. - Respuestas. Un cliente que acepte tanto
application/jsoncomotext/event-streamrecibe una respuesta SSE de un evento.Accept: application/json,*/*o sin encabezadoAcceptrecibe un solo cuerpo JSON. Cada herramienta devuelvestructuredContentque valida contra suoutputSchema, más el mismo resultado como texto para clientes que no pasan contenido estructurado al modelo. - Errores. Una herramienta desconocida es un error JSON-RPC (
-32602). Argumentos inválidos y fallos de servicio como un producto desconocido son resultados de herramienta conisError: true, para que el modelo pueda leerlos y corregirlos. - Límites. Cuerpos de solicitud JSON de hasta 256 KiB (
413por encima de eso), un plazo de solicitud de 12 segundos, y límites de tasa por cliente respondidos con HTTP429, error JSON-RPC-32029y un encabezadoRetry-After. Los arrays de lotes JSON-RPC son rechazados con400. - Navegadores. Los clientes de escritorio, CLI y del lado del servidor no envían encabezado
Originy no se ven afectados. Una página de navegador puede llamar al endpoint desde un origen de host de IA en la lista permitida, desde bestprice.gr, o desdelocalhost(para que MCP Inspector funcione en modo directo); cualquier otro origen recibe403. - Autenticación. Las cuatro herramientas de compra funcionan sin cuenta. La vinculación opcional
de cuenta está limitada a
events:subscribe; los metadatos de recursos protegidos están disponibles en/.well-known/oauth-protected-resourcey/mcp/oauth-protected-resource. Eventos permanece deshabilitado durante la cualificación de extremo a extremo.
Inicio rápido para desarrolladores
Cada cliente a continuación se conecta al mismo endpoint. Instrucciones detalladas y específicas
por proveedor, incluyendo OpenAI, Grok, GitHub Copilot y Microsoft Copilot Studio, están en
docs/provider-setup.md.
Claude
Conecta BestPrice a Claude abre el flujo de conector personalizado con el endpoint prellenado. Para Claude Code:
claude mcp add --transport http bestprice-shopping https://mcp.bestprice.gr/mcp
El .mcp.json incluido es la configuración equivalente a nivel de proyecto.
Cursor
Añade BestPrice a Cursor
muestra la configuración decodificada antes de añadirla. El directorio .cursor-plugin/
contiene el plugin del marketplace y una skill de agente.
VS Code
Gemini CLI y Qwen Code
gemini extensions install https://github.com/TheBestCo/bestprice-mcp
qwen extensions install https://github.com/TheBestCo/bestprice-mcp --consent
Ambas extensiones restringen las herramientas importadas a las cuatro listadas arriba.
Codex, plugins de Claude y hosts de Agent Skill
La raíz plugin.json, mcp.json y
skills/bestprice-shopping/SKILL.md forman un paquete
portátil de Agent Plugins: el MCP proporciona datos de compra en vivo y la Skill enseña al host cuándo y
cómo enrutar intención de compra griega sin marca.
Los hosts compatibles con agentes que descubren skills locales del repositorio bajo .agents/skills/ obtienen el
mismo flujo de trabajo canónico en .agents/skills/bestprice-shopping/SKILL.md. .codex-plugin/ sigue siendo el
manifiesto de compatibilidad de Codex. .claude-plugin/plugin.json más la
misma Skill raíz y .mcp.json también hacen de este repositorio un paquete de plugin de Claude.
Marketplaces de plugins autoalojados
El mismo repositorio se puede añadir directamente como marketplace de plugins, sin lógica de herramienta o 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
Copilot lee .github/plugin/marketplace.json y, bajo
Agent Plugins 1.0, carga el canónico plugin.json raíz, mcp.json y
skills/bestprice-shopping/SKILL.md. Claude lee
.claude-plugin/marketplace.json y usa
.claude-plugin/plugin.json, .mcp.json y la misma Skill raíz.
Gemini API, DeepSeek, Z.ai
Los ejemplos ejecutables viven en examples/: la Gemini Interactions API y Genkit,
una entrada de plugin DeepSeek Harness, y una llamada Z.ai GLM. Cada una necesita la clave de API del propio proveedor.
BestPrice no necesita ninguna.
Cualquier otro cliente MCP
Añade un servidor Streamable HTTP en https://mcp.bestprice.gr/mcp. Si el host solo admite
servidores stdio, usa el puente en este repositorio:
git clone https://github.com/TheBestCo/bestprice-mcp.git && cd bestprice-mcp
npm ci
node stdio.mjs
El puente reenvía todo al endpoint público y acepta dos variables
de entorno: BESTPRICE_MCP_URL (predeterminado: el endpoint público) y
BESTPRICE_MCP_TIMEOUT_MS (predeterminado: 60000). Un Dockerfile construye el mismo puente para
Glama y hosts similares.
Una primera conversación segura
- Pide una decisión:
Θέλω κινητό έως 500 ευρώ με NFC και 5G υποχρεωτικά.(Quiero un teléfono de hasta 500 euros, con NFC y 5G obligatorios.) - O busca:
Find Sony WH-1000XM5 under 300 euros. - Pasa un
product_iddevuelto acompare_offerscon el código postal10558. - Pasa el mismo
product_idaget_price_historydurante 180 días.
Las consultas funcionan en griego o inglés. Los resúmenes de resultados, los datos del catálogo y los nombres de los comerciantes vuelven en griego.
| Buscar | Comparar ofertas | Historial de precios |
|---|---|---|
![]() | ![]() | ![]() |
WebMCP nativo del navegador
Las páginas de BestPrice registran 22 herramientas WebMCP contextuales (contrato 2.8) en navegadores compatibles — cada una
lee o actúa, nunca ambas — cubriendo búsqueda con resultados estructurados (filtrados por precio, stock, ofertas y
orden) y abriendo la página de resultados que una búsqueda devolvió en la pestaña, la lista de compras del comprador y
comparaciones (lectura en todas partes, añadido y eliminado en una página de producto), un diálogo de alerta de caída de precio, los productos visibles y cargar más, filtros y ordenación,
abrir cualquier producto por id (lectura antes de que la pestaña se mueva), hechos del producto, ofertas, especificaciones e historial
de precios (con su gráfico), una acción de oferta visible, y el BestPrice Shopping Brain — en cada página
pública, incluidos artículos y tiendas — dejando la elección del comerciante al comprador. Cada herramienta publica un esquema de entrada y de salida.
Los contratos, el runtime de cierre ante fallos, el evaluador determinista y el conjunto de datos de 47 casos en lenguaje
natural están en webmcp/.
Descubrimiento
- Registro oficial de MCP
- Descubrimiento abierto de agentes:
ard.json,ai-catalog.json, tarjeta del servidor, y la BestPrice Shopping skill neutral al proveedor. Los ejemplos de ARD son intenciones de compra deliberadamente sin marca para que el descubrimiento pueda coincidir con "¿qué debería comprar?", precio entregado y solicitudes de timing de precio antes de que un usuario conozca BestPrice. webmcp.jsondescribe las herramientas contextuales del navegador expuestas por las páginas de BestPrice.- El repositorio está listado en la galería de extensiones de Gemini CLI
como
bestprice-shopping(Google rastrea repositorios de extensiones públicos etiquetados), mientras que GitHub Agent Finder puede ingerir el catálogo público de MCP y los recursos de ARD. - Contribuciones externas al catálogo listas para copiar y fijadas por CI viven bajo
distribution/: una entrada de Skill de GitHub Agent Finder y una entrada de servidor remoto de Docker MCP Registry. Esos catálogos requieren revisión en sus propios repositorios; los archivos verificados son cargas de envío, no afirmaciones de que los listados externos ya estén en vivo. - Índices de la comunidad: Glama, WebMCP Registry, webmcp.com, cursor.directory
Desarrollo
npm ci
npm run check # Biome lint and format
npm test # node --test: bridge, WebMCP, manifests, dataset
Las pruebas no requieren red: el puente se ejercita contra un remoto simulado en proceso. Se requiere Node 20
o superior; .nvmrc fija la versión 22.
Versionado
Dos versiones aparecen en este repositorio a propósito:
- Versión del paquete en
package.jsony en cada manifiesto de plugin o extensión. Cambia cuando los manifiestos, el puente o la capa WebMCP de este repositorio cambian, y se etiqueta comovX.Y.Z. - Versión del servidor en
server.jsony en la línea cerca de la parte superior de este README. Es la versión que el servicio alojado reporta y se publica en el Registro oficial de MCP.
CHANGELOG.md rastrea la versión del paquete.
Las comprobaciones del servicio alojado con marca de tiempo se registran por separado. La verificación del 7 de septiembre de Shopping Brain v12 incluye su revisión exacta de la puerta de enlace, resultados de canario saneados y límites de alcance.
Seguridad
Reporta vulnerabilidades de forma privada como se describe en SECURITY.md.
Contribuciones
Consulta CONTRIBUTING.md. Las incidencias y solicitudes de extracción son bienvenidas.
Licencia
Licencia Apache 2.0. Copyright The Best Company S.A. Consulta LICENSE.
Privacidad: https://www.bestprice.gr/policies/privacy · Términos: https://www.bestprice.gr/policies/terms


