Documentación
Qué es el conector, hasta dónde llega y cómo enchufarlo a lo que ya uses. Diez minutos, y la mayoría es leer.
MCP —Model Context Protocol— es el enchufe por el que un asistente de IA llega a algo que está fuera de él. Este da a un almacén de datos fundamentales de empresas que capturamos todos los días. Lo conectas una vez y, a partir de ahí, tu asistente consulta mientras habláis.
Pegas una dirección en tu cliente de IA y entras con Google. Es la última vez que piensas en fontanería.
Preguntas como le preguntarías a un compañero: en lenguaje normal, sin sintaxis de consulta ni códigos de métrica que memorizar.
Tu asistente elige la herramienta, consulta el almacén y responde con números de verdad: ni una estimación, ni algo que recuerde a medias de su entrenamiento.
No son informes enlatados. Son preguntas, hechas con naturalidad, que el conector puede responder porque tiene delante todas las empresas y todas las métricas.
Búscame la empresa más barata por PER de todo el universo con un ROE por encima del 15 %
Lee todas las empresas de los cinco mercados y devuelve la lista corta. Una pregunta, veintitrés mil empresas miradas.
screenCompara ASML, TSMC y Applied Materials por márgenes, rentabilidad y valoración
Una al lado de otra sobre las métricas que digas, tomadas de la misma captura: comparas peras con peras, no tres fechas distintas.
compare¿Un PER de 18 es caro en este sector, o normal?
Mediana, media y extremos de esa métrica en el sector, para que un número deje de ser abstracto.
sector_stats¿Cómo ha cambiado la valoración de esta empresa desde que la seguimos?
La serie entera de la métrica, captura a captura. El histórico es nuestro y crece cada día: nadie puede reconstruirlo después.
metric_history¿Quién presenta resultados en las dos próximas semanas?
El calendario de todo el universo, para que la semana no te pille de nuevas.
upcoming_earningsDame la serie semanal de precios de estos valores
Velas hacia atrás, listas para dibujar o para alimentar lo que estés construyendo.
price_historyUna sola dirección para todo. La pegas en tu cliente, entras con Google y listo: la credencial se la queda el programa y tú no copias ninguna contraseña a ningún sitio.
https://themarketpirates.com/mcp
Ajustes → Conectores → Añadir. Ponle el nombre que quieras y pega esa dirección: Claude ve solo que hay que iniciar sesión. Pulsa Conectar, entra con Google y acepta las condiciones. Lo que conectas en la web aparece también en la aplicación de escritorio, porque es la misma cuenta.
Una línea, y después /mcp para entrar con Google desde el navegador.
# --scope user: disponible en todos tus proyectos de esa maquina
claude mcp add --transport http --scope user \
market-pirates https://themarketpirates.com/mcp
La misma dirección y el mismo inicio de sesión. El servidor habla MCP sobre HTTP, responde con un flujo de eventos —manda Accept: application/json, text/event-stream— e implementa la revisión 2026-07-28 del protocolo.
Un proceso que corre solo no puede abrir un navegador ni entrar con Google, así que ahí sí hace falta un token fijo, que se manda en una cabecera. Pídelo en tu cuenta.
curl -sS -X POST https://themarketpirates.com/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/json, text/event-stream"
Hay dos formas de entrar, y la primera es la que debería usar casi todo el mundo. Iniciando sesión: tu cliente pide permiso, entras con Google y se queda con una credencial propia que tú no llegas a ver; puedes desconectar una aplicación sin tocar las demás. Con un token: para lo que corre sin nadie delante. Sin una cosa o la otra, el servidor responde 401 y nada más.
Los tokens los damos nosotros. Son 64 caracteres, no caducan y se comparan en tiempo constante: un token equivocado no le dice nada a quien lo esté probando sobre el bueno.
Como una contraseña: nunca en un repositorio, una captura o un documento compartido. Si se filtra, pide otro: cambiarlo lleva menos de un minuto y el anterior muere en el acto.
Leer datos. Nada más. El servicio no tiene por dónde escribir: el almacén se abre en solo lectura y el proceso no alcanza nada que esté fuera de él.
Pégalo aquí para confirmar que funciona desde donde estés. Se usa para esa única petición y no se guarda, ni se apunta, ni se manda a ningún sitio.
Catorce herramientas de solo lectura. Los porcentajes se guardan como fracción -un ROE del 15 % es 0.15- y las claves de métrica son literales exactos, así que llama a list_metrics antes de filtrar por nada.
| Herramienta | Argumentos | Qué devuelve |
|---|---|---|
data_coverage | — | Qué hay en el almacén y de cuándo es: mercados, capturas, empresas, métricas y cobertura de precios. Empieza por aquí. |
list_metrics | categoria |
El diccionario de métricas: clave exacta, etiqueta, unidad y origen. El origen separa lo capturado de lo que calculamos nosotros (márgenes, ROIC, múltiplos, reinversión, crecimiento esperado). |
list_snapshots | limite, universo |
Las últimas capturas, con cuántas filas y columnas traía cada una: sirve para confirmar que un mercado ha entrado hoy. |
search_companies | texto, limite |
Busca una empresa por ticker o por nombre. |
get_company | ticker, exchange |
La ficha completa con el último dato conocido, métrica a métrica. Un ticker suelto es ambiguo entre plazas, así que ante la duda devuelve los candidatos en vez de adivinar. |
compare | tickers, metricas |
Varias empresas una al lado de otra sobre las mismas métricas. |
metric_history | ticker, metrica, limite, exchange |
Una métrica a lo largo del tiempo, captura a captura. Es lo que una criba de mercado no te puede dar: esa solo enseña hoy. |
screen | filtros, mostrar, ordenar_por, limite, universo, sector |
Filtra el universo con condiciones sobre claves de métrica, por ejemplo ["roe > 0.25", "margen_bruto > 0.5"]. El orden es determinista: la misma pregunta, la misma lista. |
sector_stats | metrica, universo |
Mediana, media y extremos de una métrica por sector: el contexto que te dice si un PER de 18 es barato. |
upcoming_earnings | dias |
Quién presenta resultados en los próximos N días. |
price_history | ticker, exchange, limite |
Velas semanales, hasta tres años por defecto y mucho más si las pides. |
etoro_link | tickers |
Con qué instrumento de eToro se corresponde cada empresa, si se puede operar y con cuánta confianza se ha emparejado. |
sql_query | consulta, limite |
Un SELECT de solo lectura sobre el almacén, para lo que no cubran las herramientas de arriba. |
my_plan | — | Hasta dónde llega tu conexión: filas por respuesta, límites del día y si incluye ratios calculados, histórico y SQL libre. Pregunta «¿qué incluye mi plan?» y el asistente responde con esto. |
# initialize first: the session id comes back in a response header curl -sS -X POST https://themarketpirates.com/mcp \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"screen","arguments":{ "filtros":["roe > 0.3","margen_bruto > 0.6"],"limite":5}}}'
Estados Unidos, Europa, Japón, Hong Kong y Australia, capturados cada mañana de lunes a viernes. La cobertura tira hacia el listado principal, así que una empresa aparece una vez y no en cada plaza donde cotiza.
Cada captura se guarda y no se reescribe nunca, así que el almacén responde lo que se sabía aquel día: sin ventaja del que mira hacia atrás, y con las empresas que luego dejaron de cotizar todavía en las capturas antiguas.
Además de las cifras publicadas hay ratios que sacamos nosotros: márgenes, ROIC, múltiplos sobre el valor de empresa, descomposición DuPont, reinversión y crecimiento esperado. El diccionario marca cuál es cuál.
Velas semanales de años atrás, más la correspondencia entre cada empresa y el instrumento con el que se opera, porque un ticker en una base de datos y un ticker que puedes comprar no son lo mismo.
| Lo que ves | Qué significa |
|---|---|
401 | Falta el token o no es el bueno. Comprueba que la cabecera dice Authorization: Bearer <token>, con un espacio y sin comillas alrededor del token. |
421 Invalid Host header | La petición ha llegado con un nombre de servidor que no reconocemos: es la protección contra reenganche de DNS. Usa la dirección tal cual está escrita arriba; si pones tu propio proxy delante, hay que declarar su nombre en el servidor. |
400 después de una primera llamada buena | Se ha perdido el identificador de sesión. Lee Mcp-Session-Id en la respuesta de apertura y devuélvelo en todas las peticiones siguientes: el nombre de la cabecera no distingue mayúsculas, pero algunos clientes lo comparan literalmente. |
| Cuerpo vacío o ilegible | Las respuestas van como eventos del servidor. Manda Accept: application/json, text/event-stream y lee las líneas data:. |
503 o una llamada que se queda colgada | El almacén se está sustituyendo por la subida de la mañana. Son segundos: reintenta. |
| Quejas del certificado | El certificado es uno público y normal, que se renueva solo. Si se queja una sola herramienta, es que esa herramienta lleva una lista de autoridades desactualizada. |
GET /salud responde {"estado":"vivo"} sin token, y GET /resumen devuelve recuentos y fechas: va bien para un monitor, y ninguno de los dos enseña datos.