EODHD MCP Server
Accede a datos globales de mercados financieros a través de más de 70 herramientas: precios de cierre e intradía, fundamentales, ganancias y estados financieros, noticias y sentimiento, screener, indicadores técnicos, macro y más - en acciones, ETFs, forex y cripto.
Documentación
Servidor MCP de EODHD
Servidor de Protocolo de Contexto de Modelo (MCP) para las APIs de EOD Historical Data.
El servidor actual expone 88 herramientas MCP a través de tres transportes — 85 son de solo lectura; las tres
herramientas de informes de Praams activan la generación de informes y el envío de correos electrónicos en el proveedor, por lo que están anotadas
como readOnlyHint=False:
streamable-httpvíaserver.pyen/mcppor defectossestdio
También incluye prompts MCP integrados y recursos de documentación.
Cobertura
Conjuntos de datos principales
- Datos de fin de día, intradía y ticks de EE. UU.
- Cotizaciones en vivo y cotizaciones extendidas de US Live v2
- Fundamentos, ganancias y estados financieros
- Noticias de empresas, sentimiento y pesos de palabras de noticias
- Screener, búsqueda e indicadores técnicos
- Acciones corporativas: OPI, divisiones de acciones, dividendos, cambios de símbolos
- Indicadores macro, eventos económicos, bolsas y listados
- Herramientas de índices CBOE
- Letras del Tesoro, rendimientos, rendimientos reales y tasas a largo plazo
- Riesgo crediticio y soberano: primas de riesgo, calificaciones crediticias, diferenciales de CDS/incumplimiento, rendimientos corporativos CMDI/HQM, agregados del mercado de CDS
- Sanciones / OFAC: entidades, embarcaciones, programas, fuentes
- Tasas de interés: tasas de referencia (SOFR, etc.), tasas de política de bancos centrales, diferenciales de estrés de financiamiento
Conjuntos de datos de marketplace y socios
- Opciones de EE. UU.: contratos, fin de día y subyacentes
- Praams: puntuación de riesgo, bonos, estados bancarios, informes, screener
- Investverte ESG: empresas, países y sectores
- Búsqueda de mercado de TradingHours, detalles de mercado y estado
Comportamiento Actual
- Todas las herramientas son de solo lectura excepto las tres herramientas de informes de Praams; cada herramienta se registra a través de
app/tools/__init__.py. - Todas las solicitudes HTTP pasan por el cliente asíncrono compartido en
app/api_client.py. - Los errores de la API ascendente se conservan como
ToolErrorde MCP con código de estado y detalles ascendentes cuando están disponibles. - Los tokens de API se inyectan en las solicitudes de EODHD como parámetros de consulta
api_token=.... - El soporte opcional de reintentos está controlado por
EODHD_RETRY_ENABLEDo configuraciones por llamada en el código.
Requisitos
- Python
3.10+ - Una clave de API de EODHD válida
- Un cliente compatible con MCP como Claude Desktop, Claude Code, ChatGPT MCP/Connectors o MCP Inspector
Instalación
git clone https://github.com/EodHistoricalData/EODHD-MCP-Server.git
cd EODHD-MCP-Server
pip install -r requirements.txt
Para herramientas de desarrollo:
pip install -e ".[dev]"
Cree un archivo .env en la raíz del repositorio:
EODHD_API_KEY=YOUR_EODHD_API_KEY
MCP_HOST=127.0.0.1
MCP_PORT=8000
MCP_PATH=/mcp
LOG_LEVEL=INFO
# Optional:
EODHD_RETRY_ENABLED=false
# Deployment label added to the outbound User-Agent (e.g. v1 / v2):
EODHD_MCP_EDITION=
# Usage telemetry — both are required, and nothing is emitted unless both are set:
EODHD_MCP_TELEMETRY_URL=
EODHD_MCP_TELEMETRY_KEY=
Ejecutar el Servidor
Punto de entrada recomendado
server.py es el punto de entrada principal mantenido.
Ejecutar HTTP (por defecto):
python server.py
Ejecutar HTTP explícitamente:
python server.py --http --host 127.0.0.1 --port 8000 --path /mcp
Ejecutar SSE:
python server.py --sse
Ejecutar stdio:
python server.py --stdio
Anular la clave de API desde la CLI:
python server.py --stdio --apikey YOUR_EODHD_API_KEY
Puntos de entrada de compatibilidad
El repositorio aún incluye puntos de entrada de compatibilidad heredados en entrypoints/:
python -m entrypoints.server_http
python -m entrypoints.server_sse
python -m entrypoints.server_stdio --apikey YOUR_EODHD_API_KEY
Estos siguen siendo utilizables, pero server.py es la superficie de ejecución principal.
Modelo de Autenticación
Para solicitudes salientes de EODHD, el servidor finalmente envía el token como api_token en la cadena de consulta.
Para solicitudes HTTP entrantes de MCP, el servidor puede resolver el token de EODHD desde:
Authorization: Bearer <token>X-API-Key: <token>- parámetros de consulta:
apikey,api_keyotoken - entorno del servidor de respaldo:
EODHD_API_KEY
Muchas herramientas también exponen un argumento explícito api_token para anulación por llamada.
Uso con Claude Desktop
Extensión empaquetada
El manifiesto MCP empaquetado utiliza el punto de entrada stdio en manifest.json.
Ejemplo de checkout de código fuente
{
"mcpServers": {
"eodhd-mcp": {
"command": "python3",
"args": [
"/absolute/path/to/EODHD-MCP-Server/server.py",
"--stdio"
],
"env": {
"EODHD_API_KEY": "YOUR_EODHD_API_KEY"
}
}
}
}
Uso con ChatGPT MCP / Connectors
Para pruebas HTTP locales, use:
- URL:
http://127.0.0.1:8000/mcp
Si su cliente MCP admite encabezados, puede proporcionar el token de EODHD vía Authorization: Bearer ... o X-API-Key: .... De lo contrario, establezca EODHD_API_KEY en el servidor.
Comandos de Desarrollo
pytest tests/auto/ -v --tb=short
pytest tests/auto/ -v --cov=app --cov-report=term-missing
ruff check app/ server.py
ruff format --check app/ server.py
mypy app/ server.py --ignore-missing-imports --explicit-package-bases
bandit -r app/ -ll -ii -x app/resources/
semgrep scan --config p/python --config p/owasp-top-ten --config p/secrets --config p/jwt --error app/
python server.py
python server.py --stdio
Clientes Manuales de Extremo a Extremo
El repositorio incluye clientes MCP manuales en tests/manual/.
Inicie el servidor principal en una terminal:
python server.py
Luego ejecute el cliente manual HTTP:
python tests/manual/test_client_http.py --endpoint http://127.0.0.1:8000/mcp
Para SSE:
python server.py --sse
python tests/manual/test_client_sse.py --endpoint http://127.0.0.1:8000/sse
Para stdio:
python tests/manual/test_client_stdio.py --cmd "python server.py --stdio --apikey YOUR_EODHD_API_KEY"
Los catálogos de pruebas manuales se cargan desde tests/manual/all_tests.py por defecto.
Docker
Ejecutar con Docker Compose:
docker compose up --build
El servicio de compose inicia python server.py y mapea ${MCP_PORT_OUT} a ${MCP_PORT}.
Estructura del Proyecto
server.py— punto de entrada principal y selección de transporteapp/api_client.py— cliente HTTP asíncrono compartido, inyección de autenticación, limitación de velocidad, lógica de reintentosapp/response_formatter.py— formato de recursos MCP y generación de errores de APIapp/input_formatter.py— saneamiento de entrada y coerción de fechasapp/tools/— implementaciones de herramientas MCPapp/prompts/— prompts MCP integradosapp/resources/— recursos MCP integrados y documentos de referenciatests/auto/— pruebas automatizadastests/manual/— clientes MCP manuales de extremo a extremo
Notas
- Algunos endpoints de marketplace requieren acceso específico de suscripción de EODHD.
- Una clave de API válida aún puede recibir errores de permisos ascendentes para herramientas o listas de seguimiento no incluidas en el plan de la cuenta.
- El servidor ahora conserva esas razones ascendentes en errores de herramientas visibles para el agente en lugar de enmascararlas detrás de fallos genéricos.
Política de Privacidad
Este conector es operado por EOD Historical Data (Unicorn Data Services). Envía los parámetros que usted proporciona (por ejemplo, tickers, rangos de fechas y su clave de API) a las APIs de EODHD para cumplir cada solicitud, y devuelve las respuestas a su cliente MCP. No recopila ni almacena contenido de conversación más allá de lo necesario para atender una solicitud.
Política de privacidad completa: https://eodhd.com/financial-apis/privacy-policy