Skip to main content
Glama
joshua-bailey

eiu-mcp-server

eiu-mcp-server

Un servidor del Model Context Protocol que ofrece a Claude (o a cualquier cliente LLM compatible con MCP) un acceso estructurado y eficiente en tokens a la API de datos de EIU — alrededor de 200 países y 320 series de indicadores económicos, con datos históricos y previsiones.

Expone tres herramientas:

Herramienta

Propósito

eiu_browse

Enumera las geografías y series disponibles, opcionalmente filtradas por palabra clave

eiu_search

Búsqueda por palabra clave en el catálogo de series (p. ej., "current account")

eiu_get_data

Obtiene datos por país y código de serie, con filtros de frecuencia y fecha

Los datos de referencia se obtienen una vez por sesión y se guardan en caché en memoria, por lo que explorar y buscar no implican llamadas adicionales a la API.

Requisitos previos

  • Acceso al Developer Portal de la API de EIU. No es autoservicio. Envía un correo a economicssupport@economist.com y solicita acceso al Developer Portal. Crearán tu cuenta manualmente. Necesitas las tres cosas: la dirección de correo de tu portal, la contraseña de tu portal y la clave de API que se muestra en el portal.

  • uv instalado en tu máquina. Instalación en una línea:

    curl -LsSf https://astral.sh/uv/install.sh | sh

No es necesario clonar este repositorio ni gestionar un entorno virtual: uvx se encarga de todo desde la URL del repositorio.

Related MCP server: EODHD MCP Server

Instalación

Claude Code

La instalación en una línea, ejecutada desde una carpeta cuyo .env contiene tus tres valores de EIU. El shell los lee, de modo que las credenciales nunca aparecen en tu conversación:

set -a; source .env; set +a
claude mcp add --scope user eiu \
  -e EIU_API_KEY="$EIU_API_KEY" \
  -e EIU_EMAIL="$EIU_EMAIL" \
  -e EIU_PASSWORD="$EIU_PASSWORD" \
  -- uvx --from git+https://github.com/joshua-bailey/eiu-mcp-server.git eiu-mcp-server

O añade la entrada a .mcp.json manualmente:

{
  "mcpServers": {
    "eiu": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/joshua-bailey/eiu-mcp-server.git",
        "eiu-mcp-server"
      ],
      "env": {
        "EIU_API_KEY": "${EIU_API_KEY}",
        "EIU_EMAIL": "${EIU_EMAIL}",
        "EIU_PASSWORD": "${EIU_PASSWORD}"
      }
    }
  }
}

Después reinicia Claude Code. Las tres herramientas eiu_* deberían aparecer en /mcp.

Claude Desktop

El mismo fragmento JSON, colocado bajo mcpServers en:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Desktop no expande las referencias ${VAR}, así que pon ahí los valores literales.

Fijar una versión

uvx instala por defecto el último commit de main. Para fijar una versión etiquetada, añade @<tag> a la URL del repositorio, por ejemplo:

"git+https://github.com/joshua-bailey/eiu-mcp-server.git@v0.1.0"

Variables de entorno

Variable

¿Obligatoria?

Propósito

EIU_API_KEY

Sí

Tu clave de API de EIU del Developer Portal.

EIU_EMAIL

Sí

La dirección de correo que usa tu cuenta del portal.

EIU_PASSWORD

Sí

La contraseña de tu portal.

Las tres son necesarias. El servidor inicia sesión con el correo y la contraseña para obtener un token bearer, y luego envía ese token junto con la clave de API en cada solicitud. El token se guarda en memoria y se renueva antes de que caduque.

Cómo usarlo

Una vez registrado el MCP, pídele a Claude cosas como:

  • "Busca en EIU las series de saldo por cuenta corriente"

  • "¿Qué códigos de series de EIU cubren los precios al consumo?"

  • "Obtén el crecimiento anual del PIB de EIU (DGDP) para EE. UU., Reino Unido y China de 2015 a 2030"

  • "Muéstrame las previsiones trimestrales de inflación de EIU para Brasil, México y Chile"

Claude elige la herramienta adecuada y la invoca.

Códigos

  • Geografías son códigos ISO de dos letras en mayúsculas: US, GB, CN, BR.

  • Series son los códigos cortos propios de EIU en mayúsculas, p. ej., DGDP, DCPI. Usa eiu_search o eiu_browse para encontrarlas en lugar de adivinar.

  • Frecuencia es uno de Yearly, Quarterly o Monthly.

eiu_get_data limita su respuesta a 200 puntos de datos para mantenerse eficiente en tokens y lo indica cuando trunca. Reduce el rango de fechas o la lista de países para ver el resto.

Referencia de la API

La API subyacente está documentada en developer.eiu.com/help/overview. El servidor se comunica con https://api.eiu.com/v1.

Licencia

MIT — consulta LICENSE. Se aplica únicamente al código del wrapper de este repositorio. Las dependencias conservan sus propias licencias. Los datos de EIU son una suscripción de pago y sus condiciones de uso se aplican independientemente de este wrapper.

Available Tools

3 tools
eiu_browseA

Browse available EIU geographies and data series.

Call with no filter to see all available geographies/series. Use filter to narrow results by keyword.

Args: filter: Optional keyword (e.g. 'Brazil', 'GDP', 'inflation') show: 'geographies', 'series', or 'both' (default)

NameRequiredDescriptionDefault
showNoboth
filterNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It explains what happens with no filter versus with a filter and describes the show options. It does not mention output format or pagination, but the presence of an output schema reduces the need for that detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: a summary line, short usage guidance, and a clean args list. Every sentence contributes value, with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter browse tool, the description is complete. It covers all parameters, defaults, and core behavior, and the output schema exists to document return values. The lack of explicit sibling routing is the only minor omission, but the intended use is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description fully compensates. It defines filter as an optional keyword with concrete examples, and show as selecting 'geographies', 'series', or 'both' with the default noted. This is meaningful semantic content beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Browse available EIU geographies and data series.' This clearly distinguishes it from siblings like eiu_get_data and eiu_search, which presumably retrieve or search data rather than browse the catalog.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: 'Call with no filter to see all available geographies/series. Use filter to narrow results by keyword.' It explains how to use the tool and the effect of each parameter, though it does not explicitly state when to prefer eiu_search or eiu_get_data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eiu_get_dataA

Fetch EIU forecast/indicator data by country and series codes.

Use eiu_browse or eiu_search first to find valid codes.

Args: geography_codes: ISO 2-char codes (e.g. ['US', 'BR', 'CN']) series_codes: EIU series codes (e.g. ['DGDP', 'DCPI']) frequency: 'Yearly', 'Quarterly', or 'Monthly' min_date: Start date YYYY-MM-DD (default: 5 years ago) max_date: End date YYYY-MM-DD (default: 5 years ahead)

NameRequiredDescriptionDefault
max_dateNo
min_dateNo
frequencyNoQuarterly
series_codesYes
geography_codesYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It clearly implies a read-only fetch operation, states the prerequisite of finding valid codes first, and documents default date ranges and accepted frequency values. It could add error/rate-limit behavior, but the default date behavior and non-destructive nature are usefully conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured. The high-level purpose is front-loaded, the prerequisite is stated in a single sentence, and the Args block is clean and easy to scan. No sentence is wasted or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, return-value documentation is not needed. The description covers all five parameters, provides valid examples, explains the required discovery workflow, and states defaults. Everything an agent needs to invoke the tool correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates. It explains every parameter: ISO 2-char geography codes with examples, EIU series codes with examples, allowed frequency values, and date format/defaults for min_date and max_date. This is far beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Fetch') and a specific resource ('EIU forecast/indicator data') with clear scope by country and series codes. This distinguishes it well from the sibling tools eiu_browse and eiu_search, which are for finding codes rather than retrieving data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly explains the intended workflow: use eiu_browse or eiu_search first to find valid codes, then call this tool. This is clear guidance on when to use this tool versus the alternatives, leaving no ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedeiu_browse
    • First observedeiu_get_data
    • First observedeiu_search

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation3/5

eiu_browse and eiu_search both support keyword-based series discovery, so agents may be unsure which to call when looking up series codes. eiu_browse is broader because it also covers geographies, while eiu_search is narrowly focused on series, but the boundary is somewhat blurred. eiu_get_data is clearly distinct.

Naming Consistency4/5

All tools share the eiu_ prefix and use lower_snake_case, making the naming pattern predictable. However, eiu_browse and eiu_search are bare verbs while eiu_get_data is verb_noun, which is a minor inconsistency.

Tool Count4/5

Three tools is a reasonable, compact set for a browse/search/fetch data workflow. The count is appropriate, though eiu_browse and eiu_search overlap enough that the set could arguably be reduced to two tools.

Completeness4/5

The core workflow of discovering geographies and series, then fetching EIU data, is covered without dead ends. Minor gaps exist around metadata details or available date ranges, but agents can complete the primary task effectively.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Economic data MCP server that connects FRED, BLS, BEA, IMF, World Bank, and ECB to any MCP-compatible client, with built-in methodology rules to guide LLMs in selecting appropriate economic indicators.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with EOD Historical Data APIs, providing access to 75 read-only tools for financial data including fundamentals, news, screeners, and options via MCP transports.
    23
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes World Bank development data and country information via MCP resources and tools, enabling AI agents to query historical indicators and live API data.
    -