EcuDataMCP

Infraestructura abierta de datos públicos para Ecuador

Explora datos abiertos.

Conecta tu asistente de IA a datos públicos verificables de Ecuador: datasets, trámites, contratos, sismos, indicadores del BCE, RUC y compañías. Encuentra la fuente, consulta con límites y cita el origen oficial.

Claude · EcuDataMCP ejemplo real
¿Cuánto cuesta el pasaporte y qué piden?
tool · get_tramite_info

Para mayores de 18 años el pasaporte electrónico cuesta USD 90, sin IVA. La tercera edad paga la mitad. Con discapacidad del 30% o más, no se paga.

comprobante de pago
cédula vigente
pasaporte anterior, si sigue vigente
fuente · gob.ec, Registro Civil
Pasaporte · 1 / 4
Tu IA ClaudeCursorChatGPT
Protocolo MCP EcuDataMCP
Fuentes vivas BCESRIINECSERCOP
90tools MCP
59fuentes oficiales
0API keys de fuentes
BCE SRI INEC SERCOP Supercías IG-EPN gob.ec Datos Abiertos Superbancos IESS

El problema

Menos tiempo en portales. Más respuestas de tus datos.

Ecuador publica una enorme cantidad de datos públicos, pero encontrarlos significa navegar portales distintos, revisar catálogos separados y adivinar cuál archivo está vigente. EcuDataMCP le da a tu asistente de IA las herramientas para hacer ese trabajo por ti, y sigue citando la fuente oficial en cada respuesta.

Cómo funciona

Un camino trazable.

Cuatro pasos, del lenguaje natural a la fuente oficial.

01

Buscar

search_ecuador busca a la vez en datasets, trámites, regulaciones, contratos y riesgos por palabra clave.

02

Inspeccionar

get_dataset_info y list_dataset_resources revisan campos, formatos y fechas antes de traer datos.

03

Consultar

query_resource_data filtra en el DataStore de CKAN sin descargar el archivo completo, o preview_resource_data para CSV, JSON y XLSX.

04

Citar

Cada resultado enlaza a la fuente oficial (el dataset, el trámite, el expediente SERCOP) para que puedas verificarlo.

Aviso: Algunas definiciones, parámetros y descripciones de herramientas fueron generados o asistidos por IA. Pueden estar incompletos o desactualizados; una herramienta puede devolver resultados parciales, rechazar parámetros válidos o comportarse inesperadamente cuando cambia la fuente oficial. Verifica siempre la respuesta contra la fuente enlazada y revisa manualmente los resultados antes de usarlos para decisiones importantes.

¿Qué puedes preguntar?

Pregunta en lenguaje natural, sin buscar portal por portal.

59 fuentes oficiales, en una sola conversación.

“¿Qué datos tiene el SRI sobre recaudación tributaria?”
“Muéstrame los datasets de salud del INEC”
“¿Cuáles son los requisitos para sacar el pasaporte?”
“¿Qué compañías del CIIU de comercio al por menor tienen mayor rentabilidad sobre el patrimonio (ROE) este año?”
“Investiga el expediente de esta licitación pública en SERCOP”
“¿Cómo ha cambiado la confianza del consumidor según el BCE en los últimos dos años?”
“Busca una tabla IEM del BCE sobre exportaciones y muéstrame sus valores recientes.”
“¿Qué cubos públicos del SRI están disponibles para consultas agregadas?”

Fuentes

Datos oficiales, siempre citados.

EcuDataMCP no copia ni almacena estos catálogos: cada consulta va en vivo contra el portal de origen. 59 fuentes agrupadas por tema — Banco Central, SRI, INEC, Supercías, Superbancos y más — cada una con su institución de origen.

Catálogos de datos abiertosTrámites, regulaciones y contratación públicaRiesgos y desastres naturalesEconomía y finanzasEstadísticas y demografíaAgriculturaEnergíaTrabajo y empleoControl y transparenciaTransporte y aviación civilSaludTelecomunicacionesFuentes internacionales con foco Ecuador
Ver las 59 fuentes agrupadas →

El backstage

Servidor MCP de código abierto.

EcuDataMCP corre como un servidor en Python construido con el SDK oficial de MCP, expuesto sobre HTTP Streamable o stdio. No hay base de datos propia: cada tool llama en vivo al portal oficial correspondiente (CKAN, gob.ec, SERCOP, BCE, Supercías, IG-EPN, SGR) y devuelve la respuesta formateada.

Ver los 90 tools en la Referencia →

Conecta tu asistente

Copia la configuración de tu cliente.

Corre el servidor localmente (Docker o uv run, ver el README) y apunta tu cliente MCP a http://localhost:8000/mcp. El compose de Docker exige un token: define MCP_AUTH_TOKEN (o MCP_REQUIRE_AUTH=0 solo en local). Para un cliente local por stdio, lo más simple es uvx ecuador-mcp --transport stdio.

Inicio rápido
uv sync && uv run python main.py --transport http --port 8000

Opción rápida

Si tu asistente tiene acceso a una terminal, pégale el link del repositorio y déjalo instalar todo por ti:

Clona https://github.com/DweskZ/EcuDataMCP, instala sus dependencias con uv sync,
y regístralo como servidor MCP en mi cliente usando modo stdio con
`uv run --directory <ruta-del-clon> python main.py --transport stdio`.
Verifica que el servidor responda antes de darlo por terminado.

Revisa siempre lo que tu asistente cambie (archivos de configuración, comandos ejecutados) antes de confirmar. Esta opción solo funciona con asistentes que pueden ejecutar comandos por su cuenta: hoy eso es Claude Code, Codex, Cursor y Windsurf en modo agente. Con ChatGPT, Claude.ai de solo-chat u otros clientes sin terminal, usa la configuración manual de abajo.

Agrega esto a tu archivo de configuración (~/Library/Application Support/Claude/claude_desktop_config.json en macOS, %APPDATA%\Claude\claude_desktop_config.json en Windows):

{
  "mcpServers": {
    "ecuador-datos": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8000/mcp"
      ]
    }
  }
}
  1. Abre Cursor Settings
  2. Busca "MCP"
  3. Agrega un nuevo servidor MCP:
{
  "mcpServers": {
    "ecuador-datos": {
      "url": "http://localhost:8000/mcp",
      "transport": "http"
    }
  }
}

Agrega a tu archivo mcp.json (ejecuta MCP: Open User Configuration desde la paleta de comandos):

{
  "servers": {
    "ecuador-datos": {
      "url": "http://localhost:8000/mcp",
      "type": "http"
    }
  }
}

*Disponible para planes pagos (Plus, Pro, Team, Enterprise).*

  1. Ve a Settings > Apps and connectors
  2. Abre Advanced settings y habilita Developer mode
  3. En Settings > Connectors > Browse connectors, haz clic en Add a new connector
  4. Configura la URL: http://localhost:8000/mcp
claude mcp add --transport http ecuador-datos http://localhost:8000/mcp

Guarda la configuración en ~/.codex/config.toml (bloque [mcp_servers.ecuador-datos] con url). Para usar el servidor por stdio en vez de HTTP: codex mcp add ecuador-datos -- uvx ecuador-mcp --transport stdio.

codex mcp add ecuador-datos --url http://localhost:8000/mcp

Agrega a ~/.gemini/settings.json:

{
  "mcpServers": {
    "ecuador-datos": {
      "httpUrl": "http://localhost:8000/mcp"
    }
  }
}
  1. Ve a Intelligence > Connectors
  2. Add connector > Custom MCP Connector
  3. Nombre: "Ecuador Datos" / URL: http://localhost:8000/mcp

Agrega a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ecuador-datos": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:8000/mcp"]
    }
  }
}
  1. En el chat, haz clic en el ícono + > MCP Servers > Manage MCP Servers
  2. Add Server con nombre "Ecuador Datos" y URL http://localhost:8000/mcp

Solución de problemas

¿Algo no funciona?

Empieza por confirmar que el servidor está vivo. Si responde, el problema casi siempre está en la configuración del cliente o en el portal de origen, no en EcuDataMCP.

curl http://localhost:8000/health

Debe devolver {"status":"ok", "version": ...}. Si no responde, el servidor no está corriendo o escucha en otro puerto.

Mi cliente no muestra ningún tool

Revisa, en orden: (1) que el servidor esté corriendo (/health responde); (2) que la URL termine en /mcp, no en / ni en /health; (3) que el JSON de configuración sea válido (una coma de más lo invalida en silencio); y (4) que hayas reiniciado el cliente por completo después de editar la configuración. Claude Desktop, Cursor y Windsurf solo leen el archivo al arrancar.

Claude Desktop o Windsurf: npx no se encuentra

Esas configuraciones usan mcp-remote como puente, que necesita Node.js 18+ instalado y en el PATH. Instálalo desde nodejs.org y reinicia el cliente. Alternativa sin Node: usa modo stdio con "command": "uv" y "args": ["run", "--directory", "<ruta-del-clon>", "python", "main.py", "--transport", "stdio"].

El puerto 8000 ya está en uso

Arranca el servidor en otro puerto (uv run main.py --port 8007, o MCP_PORT=8007 docker compose up -d) y cambia la URL del cliente a http://localhost:8007/mcp.

En modo stdio el servidor se cierra al instante

Corre el mismo comando a mano en una terminal para ver el error real. Las causas típicas son una ruta incorrecta en --directory, no haber corrido uv sync en el clon, o que uv no esté en el PATH que ve el cliente (en ese caso, usa la ruta absoluta a uv).

ChatGPT o Le Chat no pueden conectarse a localhost

Los clientes web corren en la nube y no ven tu máquina. Necesitas exponer el servidor con una URL pública HTTPS (un túnel o un despliegue propio) y, en ese caso, activar MCP_REQUIRE_AUTH=1 con un MCP_AUTH_TOKEN. Nunca expongas el servidor sin token.

Error 401, 429 o 503 del servidor

401: el servidor exige token (MCP_AUTH_TOKEN) y el cliente no lo envía como Authorization: Bearer .... 429: superaste el límite de solicitudes por ventana (MCP_RATE_LIMIT_REQUESTS, 120 por 60 s por defecto); espera o súbelo en uso local. 503: demasiadas solicitudes simultáneas (MCP_MAX_CONCURRENT_REQUESTS, 8 por defecto).

Error 403 o timeout del portal de Datos Abiertos

www.datosabiertos.gob.ec a veces rechaza conexiones que vienen de fuera de Latinoamérica (error 403). Si ves esto, corre el servidor desde una conexión con salida en Ecuador o la región (por ejemplo, una VPN). Los tools de trámites e instituciones usan otro portal y no tienen este problema. Los portales del Estado también tienen caídas propias: si un solo tool falla y los demás responden, reintenta más tarde.

Error de certificado TLS / SSL

Algunos portales oficiales han publicado certificados vencidos o con la cadena incompleta (el de Datos Abiertos venció en julio de 2026). Para ese portal existe un reintento opt-in: CKAN_INSECURE_TLS=1 en tu .env. Úsalo solo mientras dure la falla del portal y quítalo después.

El preview sale cortado o dice que el archivo es muy grande

Es intencional: las descargas se limitan a 5 MB y la descompresión de ZIP/tar.gz a 20 MB. Para recursos grandes usa query_resource_data (filtra en el DataStore de CKAN sin bajar el archivo) o list_zip_contents para ver qué trae un ZIP antes de abrirlo.

Necesito más detalle para reportar un bug

Arranca con LOG_LEVEL=DEBUG, reproduce el error y abre un issue en GitHub con el tool, los parámetros, la salida de /health y el log. No incluyas tokens.

Sin fricción

Listo para usar, sin registros.

  • Sin API keyTodas las fuentes son datos públicos, sin autenticación. (El endpoint HTTP puede protegerse con tu propio token, MCP_AUTH_TOKEN.)
  • Sin cuentaNo hay registro ni cuenta de usuario que crear.
  • 100% datos públicosBajo licencia abierta, tal como los publica el Estado ecuatoriano.
  • Sin telemetríaEl servidor corre en tu máquina y no envía tus consultas a nadie; solo lleva contadores locales de uso por tool (nunca los argumentos).

FAQ

¿Tienes más preguntas?

¿Qué es EcuDataMCP?

Un servidor MCP (Model Context Protocol) de código abierto que ayuda a tu asistente de IA a descubrir y consultar datos abiertos del gobierno de Ecuador: datasets, trámites, regulaciones, contratos públicos, riesgos, sismos, indicadores del Banco Central y compañías.

¿Qué es MCP?

Model Context Protocol es un estándar abierto para conectar asistentes de IA con herramientas y fuentes de datos externas, manteniendo el control sobre qué puede hacer el modelo y qué datos puede leer.

¿Qué asistentes puedo usar?

Cualquier cliente compatible con MCP: Claude Desktop, Claude Code, Codex, ChatGPT (planes pagos), Cursor, VS Code, Gemini CLI, Le Chat, Windsurf, HuggingChat, y más.

¿Necesito una API key?

No. Todas las fuentes que usa el servidor son datos públicos sin autenticación.

¿Es esto un servicio oficial del gobierno ecuatoriano?

No. EcuDataMCP es un proyecto independiente de código abierto que consulta las mismas fuentes públicas que ya publica el Estado ecuatoriano. No está afiliado a ninguna institución.

¿El servidor guarda mis preguntas?

No hay telemetría externa. El servidor corre localmente en tu máquina y cada consulta va directo del cliente MCP al portal oficial correspondiente. Lo único que se registra son contadores locales de uso por tool (nombre, resultado y duración, nunca los argumentos).

¿Qué formatos soporta?

Preview en memoria de CSV, TSV, JSON, GeoJSON y XLSX; consulta tabular filtrada vía el DataStore de CKAN cuando el recurso lo soporta.

Algo no funciona, ¿dónde busco?

Revisa la sección Solución de problemas: cubre clientes que no muestran tools, puertos ocupados, errores 401/403/429, certificados TLS y archivos demasiado grandes.

¿Puedo contribuir?

Sí, el proyecto es MIT y acepta pull requests. Ve la guía en Cómo colaborar.

Datos abiertos de Ecuador, con tu asistente de IA favorito.

Ver en GitHub