Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Imf MCP Server

de cyanheadsversión 0.5.0i★ –iComputadora o nube
Nombre en el registroio.github.cyanheads/imf-mcp-server

Instalar

Resumen

Descripción del creador (original en inglés)

Query IMF SDMX 3.0 macroeconomic dataflows — WEO, BOP, CPI, exchange rates, 190 countries.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Funciona en Claude para web, escritorio y móvil:

  1. Abre Settings → Connectors
  2. Presiona Add custom connector
  3. Pega la dirección de abajo y presiona Add
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Add2https://…3
https://imf.caseyjhand.com/mcp

O ejecútalo en tu computadora

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "imf": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/imf-mcp-server"
      ],
      "env": {
        "IMF_ENABLE_DATAFRAME_DROP": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add --transport http imf https://imf.caseyjhand.com/mcp

O ejecútalo en tu computadora

claude mcp add imf --env IMF_ENABLE_DATAFRAME_DROP=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/imf-mcp-server

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "imf": {
      "url": "https://imf.caseyjhand.com/mcp"
    }
  }
}

O ejecútalo en tu computadora

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "imf": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/imf-mcp-server"
      ],
      "env": {
        "IMF_ENABLE_DATAFRAME_DROP": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "imf": {
      "type": "http",
      "url": "https://imf.caseyjhand.com/mcp"
    }
  }
}

O ejecútalo en tu computadora

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "imf": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/imf-mcp-server"
      ],
      "env": {
        "IMF_ENABLE_DATAFRAME_DROP": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

ChatGPT solo se conecta a servidores en internet:

  1. Abre ChatGPT en la web → Settings → Connectors (Apps)
  2. Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
  3. Pega la dirección de abajo, ponle un nombre y guarda
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Create2https://…3
https://imf.caseyjhand.com/mcp

Los nombres de los menús pueden variar un poco según el plan y con el tiempo.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • IMF_ENABLE_DATAFRAME_DROP env
    Enable imf_dataframe_drop for removing staged DataCanvas tables and views.
  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Nombres y descripciones de las herramientas tal como los informó el servidor el 7 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.

  • imf_list_databases

    List IMF SDMX dataflows available on the portal. Entry point for every query: imf_get_database and imf_query_dataset both require a dataflow id obtained here. Vintage (historical snapshot) dataflows such as WEO_2025_OCT_VINTAGE are excluded by default; set include_vintages=true t

  • imf_get_database

    Fetch a dataflow's dimension list with a codelist preview for each dimension. Resolves human-readable terms to SDMX codes (e.g. "United States" → USA, "Constant prices" → NGDP_RPCH). Required before imf_query_dataset — SDMX keys are opaque without codelist lookups. Each codelist

  • imf_query_dataset

    Query an IMF SDMX dataflow by dimension key over a time range. Returns observations with time_period, value, and status, plus the unit, scale, and decimals of each series — a key resolving to several series carries one entry per series in series_metadata, since unit and scale dif

  • imf_dataframe_describe

    List DataCanvas tables and columns staged by a prior imf_query_dataset call. Returns each table's name, row count, and column schema (name + DuckDB type). Required before imf_dataframe_query to discover the table and column names for SQL.

  • imf_dataframe_query

    Run a read-only SQL SELECT against a DataCanvas table staged by imf_query_dataset. Supports multi-country comparisons, time-series aggregation, and cross-indicator joins. Requires imf_dataframe_describe first to discover table and column names. One SELECT statement per call; a le

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub cyanheads, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • ✓ Superada

    El endpoint responde

    Respondió en 459 ms (HTTP 200)

  • – No aplica

    Inicio de sesión con OAuth

    No hace falta iniciar sesión

  • ✓ Superada

    Sin instrucciones ocultas en las descripciones de herramientas

    Leímos 5 descripciones de herramientas y no encontramos instrucciones ocultas para la IA

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32718 servidores de esta categoría
  • Publicado en el registro más recientemente que el 79% de los otros 32718 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32718 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Imf MCP Server?

Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.5.0) llegó al registro hace 9 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado anteayer
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

@cyanheads/imf-mcp-server Query IMF SDMX 3.0 macroeconomic data — 100+ dataflows across 190 countries, WEO projections, BOP, CPI, exchange rates, and national accounts via MCP. STDIO or Streamable HTTP. 6 Tools • 1 Resource • 1 Skill

Public Hosted Server: https://imf.caseyjhand.com/mcp


Overview

IMF macroeconomic data across 190 countries: World Economic Outlook projections, balance of payments, CPI, exchange rates, national accounts, and 100+ dataflows in all. Browse the catalog, resolve dimension codes, query time series, and run SQL over large multi-country results. No API key required.

Tools
ToolDescription
imf_list_databasesList IMF SDMX dataflows, with an optional word filter
imf_get_databaseFetch a dataflow's dimensions and codelists to resolve terms to SDMX codes
imf_query_datasetQuery a dataflow by dimension key over a time range
imf_dataframe_describeList DataCanvas tables and columns staged by imf_query_dataset
imf_dataframe_queryRun a read-only SQL SELECT across staged DataCanvas tables
imf_dataframe_dropRemove one staged table or view; disabled by default
Resources
ResourceDescription
imf://database/{dataflow_id}Discovery metadata for one dataflow: dimensions, codelist previews, and key_format
Skill
SkillDescription
imf-guideRouting a macro question to the dataflow that holds it, and reading results without mixing projections, group aggregates, or currency units. Served over MCP at skill://imf-guide/SKILL.md

Capability reference

imf_list_databases tool
  • filter keeps dataflows whose ID, name, or description contains every word (split on spaces and commas, case-insensitive); vintage snapshots such as WEO_2025_OCT_VINTAGE are excluded unless include_vintages=true
  • Paged with limit (default 50) and offset; a page holds at most 200, and a larger limit (up to 1,000) echoes requested_limit/applied_limit. total_count and returned_count report the match and page sizes
  • Descriptions are cut to 200 characters; imf_get_database returns the full text

imf_get_database tool
  • Resolves terms to SDMX dimension codes (countries are ISO 3-letter: USA, not US) and returns key_format, the dot-separated dimension order imf_query_dataset requires
  • Codelist previews hold 50 entries; set dimension_id to page one dimension with limit/offset (at most 200 per page, next_offset names the rest), and codelist_filter to keep codes whose ID or name contains every word
  • available_only=true pages only the codes the dataflow publishes, with series count and time coverage; agency_id/version are auto-detected when omitted

imf_query_dataset tool
  • Dot-separated key in DSD order, where + combines codes at a position and * matches all of them; codes and dataflow_id are case-insensitive. start_period/end_period accept YYYY, YYYY-SN, YYYY-QN, YYYY-MM, or YYYY-MM-DD, and last_n_observations (1–1,000,000) keeps each series' last N observations
  • Returns time_period, value, status, and series attributes (unit, scale, decimals, reference_period where published), with one series_metadata entry per series. Responses are held to 100,000 characters: with DataCanvas, larger results spill to it (output_mode: "canvas" forces staging, and staged reports storage); without it, the earliest observations return with truncated: true and retrieval_guidance
  • Key and range errors are invalid_key_code (with the nearest valid codes), wildcard_in_code_list, key_too_long, response_too_large, no_data, and no_data_in_range; a + key that partly returns lists the rest in missing_series. Upstream failures are data_unavailable and rate_limited, both retryable within a 45-second call budget

imf_dataframe_describe tool
  • Lists every staged table with row count and column names and DuckDB types
  • Requires canvas_id from an imf_query_dataset call that returned staged: true; call it before imf_dataframe_query
  • Not listed when CANVAS_PROVIDER_TYPE=none, like the other dataframe tools

imf_dataframe_query tool
  • One read-only SQL SELECT per call; a leading WITH … SELECT is accepted, DML and DDL are rejected
  • Results are capped by the canvas row limit (default 10,000), then a 100,000-character response budget; truncated: true means either cap trimmed the result. Page with a stable ORDER BY plus LIMIT/OFFSET
  • Oversized cells are clipped in the text table while structuredContent keeps every value; response_too_large means a single row exceeds the budget even so
  • Not listed when CANVAS_PROVIDER_TYPE=none

imf_dataframe_drop tool
  • Removes one named table or view from a canvas; requires the exact name from imf_dataframe_describe
  • A repeated or absent drop returns dropped: false rather than an error
  • Disabled by default; set IMF_ENABLE_DATAFRAME_DROP=true (DataCanvas must not be none) to register it

imf://database/{dataflow_id} resource
  • Every dimension with up to 50 codelist entries, plus counts, key_format, name, and description
  • dataflow_id comes from imf_list_databases; continuation metadata points to imf_get_database for codelists beyond the preview

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

IMF-specific:

  • Keyless access to the public IMF SDMX 3.0 portal
  • Typed SDMX 3.0 client that validates the key's dimension count against the DSD before each query
  • Dataflow catalog and availability constraints cached in-session
  • DuckDB-backed DataCanvas spill for large multi-country or long time-range results

Agent-friendly output:

  • Codelist entries carry both the machine code and the human-readable label
  • key_format in every dataflow response states the dimension order
  • Observations carry each dataflow's status flags (e.g. T, C, NA) for data-quality caveats
  • staged and truncated are reported separately, and staged results carry canvas_id, table_name, and retrieval guidance

Getting started

Public Hosted Instance

A public instance is available at https://imf.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP:

{

"mcpServers": { "imf-mcp-server": { "type": "streamable-http", "url": "https://imf.caseyjhand.com/mcp" } } }

Self-Hosted / Local

No API key required. Add the following to your MCP client configuration file.

{

"mcpServers": { "imf-mcp-server": { "type": "stdio", "command": "bunx", "args": ["@cyanheads/imf-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info" } } } }

Or with npx (no Bun required):

{

"mcpServers": { "imf-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@cyanheads/imf-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info" } } } }

Or with Docker:

{

"mcpServers": { "imf-mcp-server": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/imf-mcp-server:latest" ] } } }

DataCanvas is on by default, so large result sets spill to tables the dataframe tools query with SQL; add CANVAS_PROVIDER_TYPE=none to the env block to turn it off. Add IMF_ENABLE_DATAFRAME_DROP=true only when agents should be able to remove staged tables.

For Streamable HTTP, set the transport and start the server:

MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http

Server listens at http://localhost:3010/mcp

Prerequisites
  • Bun v1.4.0 or higher (or Node.js v24+).
  • No API key required.
Installation
  1. Clone the repository:
git clone https://github.com/cyanheads/imf-mcp-server.git
  1. Navigate into the directory:
cd imf-mcp-server
  1. Install dependencies:
bun install
  1. Configure environment:
cp .env.example .env

edit .env as needed — no required vars for basic use

Configuration

VariableDescriptionDefault
CANVAS_PROVIDER_TYPEDataCanvas spill and the dataframe tools. none disables both.duckdb
IMF_ENABLE_DATAFRAME_DROPRegister imf_dataframe_drop.false
IMF_BASE_URLIMF SDMX 3.0 base URL.https://api.imf.org/external/sdmx/3.0
IMF_REQUEST_TIMEOUT_MSPer-request timeout in milliseconds (integer, 1–2147483647).30000
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTPort for HTTP server.3010
MCP_SESSION_MODEHTTP session handling: stateful, stateless, or auto.stateless
MCP_AUTH_MODEAuth mode: none, jwt, or oauth.none
MCP_LOG_LEVELLog level (RFC 5424).info
OTEL_ENABLEDEnable OpenTelemetry instrumentation.false

See .env.example for the full list of optional overrides.

Running the server

Local development
  • Build and run:
  bun run rebuild

bun run start:stdio

or

bun run start:http

  • Run checks and tests:

`

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx