Ecuador's open government data for AI assistants: CKAN, SRI, BCE, INEC, Supercias, SERCOP and more.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx ecuador-mcp
MCP client config
{
"mcpServers": {
"ecudatamcp": {
"command": "uvx",
"args": [
"ecuador-mcp"
]
}
}
}Sitio: https://dweskz.github.io/EcuDataMCP/
Infraestructura abierta de datos públicos para Ecuador. EcuDataMCP conecta asistentes de IA, investigadores, periodistas y software con datos oficiales ecuatorianos mediante una interfaz común.
Utiliza el Model Context Protocol (MCP) para que clientes compatibles como Claude, ChatGPT, Gemini y Cursor puedan buscar, explorar y analizar esos datos mediante conversación o software.
En lugar de navegar manualmente por portales gubernamentales, simplemente pregunta cosas como:
Aviso: Las definiciones, parámetros y descripciones de algunas herramientas fueron generadas o asistidas por IA y pueden estar incompletas, desactualizadas o no cubrir todos los casos del endpoint subyacente. Una herramienta puede devolver resultados parciales, rechazar parámetros válidos o comportarse de forma inesperada cuando cambia la fuente oficial. Verifica siempre la respuesta contra la fuente enlazada y revisa manualmente los resultados antes de usarlos para decisiones importantes.
preview_resource_data parsea CSV/TSV, JSON/GeoJSON, Excel (XLS/XLSX) y algunos archivos comprimidos en memoria; query_resource_data consulta el DataStore CKAN sin bajar el archivo completo.Este MCP unifica fuentes gubernamentales en un solo servidor:
| Fuente | Datos |
|---|---|
| Datos Abiertos y Cuenca en Datos (CKAN) | Catálogos, DataStore y archivos públicos |
| SRI | Datasets estadísticos, recaudación, RUC y Saiku público |
| Gob.ec | Trámites, instituciones y regulaciones |
| SERCOP/OCDS | Contratación pública |
| SGR e IG-EPN | Eventos de riesgo, tsunami y sismos |
| INEC | ANDA, Ecuador en Cifras, censos y recursos estadísticos |
| BCE | BCEData, IEM y otros indicadores económicos públicos |
| Superintendencia de Compañías | Directorio, auditores y datos financieros |
| Geografía INEC/DPA | Provincias, cantones y parroquias |
Sin API key para las fuentes públicas compatibles.
La forma más simple no necesita levantar ningún servidor: Claude Desktop
ejecuta el paquete de PyPI con uv. Agrega lo
siguiente 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": "uvx",
"args": ["ecuador-mcp", "--transport", "stdio"]
}
}
}
También puedes instalar el archivo .mcpb adjunto a cada
release como extensión de
Claude Desktop. Si ya tienes el servidor HTTP corriendo (ver
Ejecutar localmente), usa "command": "npx" con
"args": ["mcp-remote", "http://localhost:8000/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).
Settings > Apps and connectorsAdvanced settings y habilita Developer modeSettings > Connectors > Browse connectors, haz clic en Add a new connectorhttp://localhost:8000/mcpclaude mcp add --transport http ecuador-datos http://localhost:8000/mcp
codex mcp add ecuador-datos --url http://localhost:8000/mcp
Esto guarda un bloque [mcp_servers.ecuador-datos] con url en ~/.codex/config.toml. Para usar el servidor por stdio en vez de HTTP:
codex mcp add ecuador-datos -- uvx ecuador-mcp --transport stdio
Agrega a ~/.gemini/settings.json:
{
"mcpServers": {
"ecuador-datos": {
"httpUrl": "http://localhost:8000/mcp"
}
}
}
Intelligence > ConnectorsAdd connector > Custom MCP Connectorhttp://localhost:8000/mcpAgrega a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"ecuador-datos": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8000/mcp"]
}
}
}
+ > MCP Servers > Manage MCP ServersAdd Server con nombre "Ecuador Datos" y URL http://localhost:8000/mcpuvx (desde PyPI)uvx ecuador-mcp --transport stdio
search_ranking/get_financials usan una base SQLite local de Supercías que
se construye sola en segundo plano cuando la primera consulta la necesita
(descarga ~356 MB, 5-10 min; esa consulta pide reintentar). Instalado desde PyPI se guarda en el directorio de datos del usuario
(%LOCALAPPDATA%\ecuador-mcp en Windows, ~/Library/Application Support/ecuador-mcp
en macOS, ~/.local/share/ecuador-mcp en Linux); ECUADOR_MCP_DATA_DIR
cambia la ubicación.
La imagen arranca por stdio, como cualquier servidor MCP en Docker:
docker build -t ecuador-mcp https://github.com/DweskZ/EcuDataMCP.git
docker run -i --rm ecuador-mcp
Para el servidor HTTP, docker compose fija MCP_TRANSPORT=http:
git clone https://github.com/DweskZ/EcuDataMCP.git
cd EcuDataMCP
# Iniciar con configuración por defecto (puerto 8000)
docker compose up -d
# Con variables personalizadas
MCP_PORT=8007 LOG_LEVEL=DEBUG docker compose up -d
# Detener
docker compose down
Requiere Python 3.11+ y uv.
git clone https://github.com/DweskZ/EcuDataMCP.git
cd EcuDataMCP
# Instalar dependencias
uv sync
# Copiar variables de entorno
cp .env.example .env
# Iniciar el servidor
uv run main.py
Variables de entorno:
| Variable | Descripción | Default |
|---|---|---|
MCP_HOST | Dirección de bind | 127.0.0.1 |
MCP_PORT | Puerto del servidor | 8000 |
MCP_TRANSPORT | Transporte: http o stdio | http |
LOG_LEVEL | Nivel de log (DEBUG, INFO, WARNING, ERROR) | INFO |
MCP_AUTH_TOKEN | Token Bearer opcional para /mcp | vacío |
MCP_REQUIRE_AUTH | Rechaza el arranque remoto sin token | 0 |
MCP_RATE_LIMIT_REQUESTS / MCP_RATE_LIMIT_WINDOW_SECONDS | Cuota por cliente/IP | 120 / 60 |
MCP_SSL_CERTFILE / MCP_SSL_KEYFILE | Certificado y clave para TLS directo | vacío |
ECUADOR_MCP_USAGE_LOG | 1 guarda cada llamada (tool, resultado, duración; nunca argumentos) en usage.jsonl del directorio de datos; scripts/usage_report.py lo resume | vacío |
ECUADOR_MCP_DATA_DIR | Dónde guardar la base de Supercías y los snapshots del BCE | data/ en un clon; directorio de datos del usuario si se instaló desde PyPI |
Para ejecutar el transporte stdio localmente:
uv run python main.py --transport stdio
La referencia detallada de cada herramienta está en docs/TOOLS.md. El contrato JSON para agentes de BCEData/IEM está en docs/RESPONSE_CONTRACT.md.
| Endpoint | Descripción |
|---|---|
POST /mcp | Mensajes JSON-RPC (cliente → servidor) |
GET /health | Health check: {"status":"ok","uptime_since":"...","version":"..."} |
GET /usage | Llamadas, errores y latencia p50/p95 por tool desde el arranque |
Cuando MCP_AUTH_TOKEN está definido, POST /mcp requiere el encabezado
Authorization: Bearer <token>. Para un despliegue remoto usa también
MCP_REQUIRE_AUTH=1, HTTPS y un proxy con su propia cuota por IP. /health y
/usage permanecen sin autenticación (no exponen argumentos ni datos de usuarios).
Consulta docs/DEPLOYMENT.md para el despliegue remoto.
"¿Qué datos tiene el SRI sobre recaudación?"
El MCP buscará los datos públicos del SRI y te mostrará los resultados con títulos, descripciones y enlaces.
"Muéstrame un preview de los datos de hospitales"
El MCP descargará el archivo compatible y te mostrará las primeras filas como una tabla formateada.
"¿Cuáles son los requisitos para obtener el RUC?"
El MCP buscará en el portal gob.ec y te dará los requisitos, procedimiento y costo.
"¿Qué categorías de datos hay disponibles?"
El MCP listará las categorías temáticas disponibles.
Cliente MCP (Claude, ChatGPT, Cursor, etc.)
│
▼ POST /mcp
┌──────────────────────────────┐
│ MCPServer (main.py) │
├──────────────────────────────┤
│ tools/ │
│ ├── search_ecuador │ → CKAN + gob.ec (unificado)
│ ├── search_datasets │
│ ├── query_resource_data │ → CKAN DataStore
│ ├── preview_resource_data │ → CSV / JSON / XLS / XLSX
│ ├── get_category_info │ → helpers/ckan_client.py
│ ├── search_tramites │
│ ├── get_institucion_info │ → helpers/gobec_client.py
│ └── ... │
└──────────────────────────────┘
MIT License - ver LICENSE para más detalles.
Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md para el proceso de colaboración.