EcuDataMCP

io.github.DweskZ由 GitHub 帳號 DweskZ 發布v0.15.0更新於 Nov 8, 2026

Ecuador's open government data for AI assistants: CKAN, SRI, BCE, INEC, Supercias, SERCOP and more.

概覽

AI 產生的概覽

本機 MCP 伺服器,讓 AI 助理以對話方式存取厄瓜多開放政府資料:CKAN 目錄、SRI、BCE、INEC、Supercias、SERCOP 與 gob.ec。

可以做什麼
搜尋並探索厄瓜多開放資料,涵蓋 CKAN 目錄、gob.ec 申辦流程與機關資訊以及主題分類,提供統一搜尋工具與分類清單。在記憶體中預覽資料集檔案(CSV/TSV、JSON/GeoJSON、Excel 及部分壓縮格式),並查詢 CKAN DataStore 資源而不必下載整個檔案。查詢公共採購(SERCOP/OCDS)、風險與地震事件、INEC 統計與普查、BCE 經濟指標,以及 Supercias 公司名錄與財務資料。取得護照、RUC 登記等政府申辦流程的要求、費用與步驟。
適用情境
適合記者、研究人員、開發者與民眾用自然語言詢問厄瓜多公共資料、統計、採購或政府申辦流程,而不必瀏覽政府入口網站。也適合快速製作儀表板原型或為 AI 代理提供厄瓜多相關背景。
執行需求
以 Python 套件(ecuador-mcp)透過 uvx 在本機執行,或使用 Docker;手動安裝需 Python 3.11+ 與 uv。相容的公開資料來源無需 API 金鑰。需要連線至厄瓜多政府入口網站的網路。選用環境變數可設定傳輸方式、連接埠、資料目錄與 HTTP Bearer 權杖(MCP_AUTH_TOKEN)。
安裝前請注意
部分工具定義與參數由 AI 產生,可能不完整或過時;重要決策前請對照連結的官方來源核實結果。Supercias 的 SQLite 資料庫首次使用時需下載約 356 MB,耗時數分鐘。若將 HTTP 伺服器暴露至遠端,應設定 MCP_AUTH_TOKEN 與 MCP_REQUIRE_AUTH,因為 /health 與 /usage 不要求驗證。選用的呼叫記錄(ECUADOR_MCP_USAGE_LOG)會記錄每次呼叫。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 EcuDataMCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

EcuDataMCP

Sitio: https://dweskz.github.io/EcuDataMCP/

[License: MIT] [Python 3.11+] [MCP] [M8ven Score]

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:

  • "¿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?"
  • "Dame un preview de los datos de transporte aéreo"

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.


Documentación del proyecto

  • docs/ROADMAP.md — qué fuentes están integradas y qué falta.
  • docs/RESEARCH.md — el porqué de cada fila del roadmap: hallazgos verificados en vivo, dominios investigados, dead ends.
  • CHANGELOG.md — qué se publicó recientemente.

Beneficios

  • Acceso instantáneo a datos públicos: Pregunta en lenguaje natural y explora datos de instituciones del Estado ecuatoriano sin navegar portales, descargar archivos ni lidiar con formatos.
  • Unifica múltiples fuentes en un solo punto: Datos abiertos, trámites, regulaciones, contratación pública, riesgos, datos estadísticos y otras fuentes oficiales, todo accesible desde una sola conversación con tu IA.
  • Preview de datos sin descargas: 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.
  • Cero fricción: No necesitas API key ni permisos especiales para las fuentes públicas compatibles.
  • Compatible con cualquier cliente MCP: Claude, ChatGPT, Codex, Gemini, Cursor, VS Code, Windsurf, Le Chat, HuggingChat y más.
  • Listo para producción: Docker, health checks, logging estructurado, y un servidor HTTP Streamable compatible con MCP.

Casos de uso

Para ciudadanos

  • Consultar requisitos, costos y pasos de cualquier trámite gubernamental sin navegar gob.ec.
  • Buscar datos públicos por tema (salud, educación, seguridad, economía) y entender qué publica cada institución.

Para periodistas e investigadores

  • Explorar datasets del catálogo nacional y hacer preview de los datos directamente desde Claude o ChatGPT.
  • Cruzar información de múltiples instituciones (SRI, INEC, BCE y ministerios) en una sola conversación.
  • Acceder rápidamente a datos de anticorrupción, presupuestos y ejecución del gasto público.

Para desarrolladores

  • Integrar datos abiertos de Ecuador en aplicaciones mediante el protocolo MCP estándar.
  • Prototipar dashboards y análisis exploratorios sin escribir código de scraping ni parseo de archivos.
  • Usar como backend de datos para agentes de IA que necesiten contexto sobre Ecuador.

Para el sector público

  • Hacer más accesibles y descubribles los datos que ya publican las instituciones.
  • Permitir que chatbots institucionales respondan preguntas con datos reales y actualizados.
  • Demostrar el valor de los datos abiertos conectándolos directamente con herramientas de IA.

Fuentes de datos

Este MCP unifica fuentes gubernamentales en un solo servidor:

FuenteDatos
Datos Abiertos y Cuenca en Datos (CKAN)Catálogos, DataStore y archivos públicos
SRIDatasets estadísticos, recaudación y RUC
Gob.ecTrámites, instituciones y regulaciones
SERCOP/OCDSContratación pública
SGR e IG-EPNEventos de riesgo, tsunami y sismos
INECANDA, Ecuador en Cifras, censos y recursos estadísticos
BCEBCEData, IEM y otros indicadores económicos públicos
Superintendencia de CompañíasDirectorio, auditores y datos financieros
Geografía INEC/DPAProvincias, cantones y parroquias

Sin API key para las fuentes públicas compatibles.


Conecta tu chatbot al servidor MCP

Claude Desktop

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):

json
{  "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"].

Cursor

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

VS Code

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

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

ChatGPT

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 Code

bash
claude mcp add --transport http ecuador-datos http://localhost:8000/mcp

Codex

bash
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:

bash
codex mcp add ecuador-datos -- uvx ecuador-mcp --transport stdio

Gemini CLI

Agrega a ~/.gemini/settings.json:

json
{  "mcpServers": {    "ecuador-datos": {      "httpUrl": "http://localhost:8000/mcp"    }  }}

Le Chat (Mistral)

  1. Ve a Intelligence > Connectors
  2. Add connector > Custom MCP Connector
  3. Nombre: "Ecuador Datos" / URL: http://localhost:8000/mcp

Windsurf

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

json
{  "mcpServers": {    "ecuador-datos": {      "command": "npx",      "args": ["-y", "mcp-remote", "http://localhost:8000/mcp"]    }  }}

HuggingChat

  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

Ejecutar localmente

Con uvx (desde PyPI)

bash
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.

Con Docker (recomendado)

La imagen arranca por stdio, como cualquier servidor MCP en Docker:

bash
docker build -t ecuador-mcp https://github.com/DweskZ/EcuDataMCP.gitdocker run -i --rm ecuador-mcp

Para el servidor HTTP, docker compose fija MCP_TRANSPORT=http y exige autenticación (MCP_REQUIRE_AUTH=1): sin MCP_AUTH_TOKEN el proceso se detiene con un error y el contenedor se reinicia en bucle. Define el token antes de arrancar, en el entorno o en un .env:

bash
git clone https://github.com/DweskZ/EcuDataMCP.gitcd EcuDataMCP
# Opción A: token en el entorno (puerto 8000)MCP_AUTH_TOKEN="$(openssl rand -hex 32)" docker compose up -d
# Opción B: token en .env (docker compose lo lee solo)cp .env.example .env    # edita MCP_AUTH_TOKEN=... y MCP_REQUIRE_AUTH=1docker compose up -d
# Con variables personalizadasMCP_AUTH_TOKEN=... MCP_PORT=8007 LOG_LEVEL=DEBUG docker compose up -d
# Detenerdocker compose down

Los clientes envían el token como Authorization: Bearer <token> en POST /mcp. La lista completa de variables y el despliegue detrás de un proxy HTTPS están en docs/DEPLOYMENT.md.

Instalación manual

Requiere Python 3.11+ y uv.

bash
git clone https://github.com/DweskZ/EcuDataMCP.gitcd EcuDataMCP
# Instalar dependenciasuv sync
# Copiar variables de entornocp .env.example .env
# Iniciar el servidoruv run main.py

Variables de entorno (las más usadas; la lista completa, con el perfil de tools, la concurrencia, el proxy geográfico y las URLs base de cada fuente, está en docs/DEPLOYMENT.md § Variables de entorno):

VariableDescripciónDefault
MCP_HOSTDirección de bind127.0.0.1
MCP_PORTPuerto del servidor8000
MCP_TRANSPORTTransporte: http o stdiohttp
LOG_LEVELNivel de log (DEBUG, INFO, WARNING, ERROR)INFO
MCP_AUTH_TOKENToken Bearer opcional para /mcpvacío
MCP_REQUIRE_AUTHRechaza el arranque remoto sin token0
MCP_RATE_LIMIT_REQUESTS / MCP_RATE_LIMIT_WINDOW_SECONDSCuota por cliente/IP120 / 60
MCP_SSL_CERTFILE / MCP_SSL_KEYFILECertificado y clave para TLS directovacío
ECUADOR_MCP_USAGE_LOG1 guarda cada llamada (tool, resultado, duración; nunca argumentos) en usage.jsonl del directorio de datos; scripts/usage_report.py lo resumevacío
ECUADOR_MCP_DATA_DIRDónde guardar la base de Supercías y los snapshots del BCEdata/ en un clon; directorio de datos del usuario si se instaló desde PyPI

Para ejecutar el transporte stdio localmente:

bash
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.


Endpoints

EndpointDescripción
POST /mcpMensajes JSON-RPC (cliente → servidor)
GET /healthHealth check: {"status":"ok","uptime_since":"...","version":"..."}
GET /usageLlamadas, 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.


Ejemplos de uso

Buscar datos del SRI

"¿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.

Ver datos de salud

"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.

Consultar trámites

"¿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.

Explorar por categoría

"¿Qué categorías de datos hay disponibles?"

El MCP listará las categorías temáticas disponibles.


Arquitectura

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│   └── ...                    │└──────────────────────────────┘

Licencia

MIT License - ver LICENSE para más detalles.


Contribuir

Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md para el proceso de colaboración.

來源:README.md,提交 6c4d019

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未在限時內回應。

版本歷史

5
  1. v0.13.0Oct 17, 2026
  2. v0.12.0Oct 11, 2026
  3. v0.11.0Oct 2, 2026
  4. v0.10.0Sep 28, 2026
  5. v0.9.1Sep 27, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分