SIIED · MCP Server
Servidor MCP Model Context Protocol
Conecta tu asistente de IA (Claude, Gemini, GPT u otro cliente MCP) a los datos abiertos del SIIED: indicadores, conjuntos de datos, catálogos y hoja de vida de los organismos — directo desde el chat.
¿Qué es el MCP del SIIED?
El Model Context Protocol (MCP) es un estándar abierto que permite a las aplicaciones de IA usar herramientas externas de forma segura. El servidor MCP del SIIED expone 28 herramientas para que tu asistente consulte el catálogo estadístico distrital —y, si tienes rol asignado, automatice cargas y consultas de validación— sin salir de tu aplicación de escritorio o flujo de agentes.
Consulta abierta
Indicadores, series, conjuntos de datos, catálogos de consulta y estructura dominio-tema-subtema.
Gestión por rol
Recolectores cargan series, conjuntos de datos y metadata — siempre a validación, nada se publica directo.
Validación FICED
Validadores consultan la hoja de vida completa del organismo y el detalle del formulario FICED.
Cómo conectar tu cliente
El servidor ofrece dos transportes. Usa Streamable HTTP si tu cliente acepta una URL remota; usa stdio si el cliente lanza el servidor como proceso local (Claude Desktop, Gemini CLI, etc.).
En tu cliente configura un servidor MCP tipo HTTP / streamable:
{
"mcpServers": {
"siied": {
"url": "https://indicadores.cali.gov.co/mcp",
"headers": { "Authorization": "Bearer TU_TOKEN_MCP" }
}
}
}
El header Authorization solo es necesario si tienes token de acceso por rol (ver niveles de acceso).
El cliente lanza el servidor él mismo. Ejemplo para Claude Desktop o
~/.gemini/settings.json de Gemini CLI:
{
"mcpServers": {
"siied": {
"command": "/ruta/del/proyecto/.venv/bin/python",
"args": ["-m", "indicadores.mcp_stdio_entry"],
"cwd": "/ruta/del/proyecto",
"env": { "SIIED_MCP_TOKEN": "TU_TOKEN_MCP" }
}
}
}
- No hace falta mantener ningún servidor corriendo: el cliente lo inicia por sesión.
- La variable
SIIED_MCP_TOKENes opcional — sin ella la sesión queda en capa pública.
Instalación por cliente
Guía rápida para los clientes MCP más usados. En todos los casos el servidor se llama
siied; donde se muestra TU_TOKEN reemplázalo por tu token personal
u omítelo para la capa pública.
Settings → Developer → Edit Config, o edita claude_desktop_config.json:
macOS ~/Library/Application Support/Claude/ · Windows %APPDATA%\Claude\ · Linux ~/.config/Claude/
{
"mcpServers": {
"siied": {
"command": "/ruta/del/proyecto/.venv/bin/python",
"args": ["-m", "indicadores.mcp_stdio_entry"],
"cwd": "/ruta/del/proyecto",
"env": { "SIIED_MCP_TOKEN": "TU_TOKEN" }
}
}
}
Reinicia la app. Para servidor remoto: Settings → Connectors → agregar conector con la URL https://indicadores.cali.gov.co/mcp.
Se configura por interfaz, sin archivo:
- Settings → MCP servers → Add server.
- Nombre:
siied· elige Streamable HTTP y pega la URLhttps://indicadores.cali.gov.co/mcp— o STDIO con el comando/ruta/del/proyecto/.venv/bin/python -m indicadores.mcp_stdio_entry(cwd:/ruta/del/proyecto). - Guarda y reinicia.
Con token, añade header Authorization: Bearer TU_TOKEN (HTTP) o la env var SIIED_MCP_TOKEN (stdio). Las acciones de escritura requieren developer mode en planes Business/Enterprise.
.cursor/mcp.json (proyecto) o ~/.cursor/mcp.json (global):
{
"mcpServers": {
"siied": {
"url": "https://indicadores.cali.gov.co/mcp",
"headers": { "Authorization": "Bearer TU_TOKEN" }
}
}
}
O local por stdio: "command": "/ruta/del/proyecto/.venv/bin/python", "args": ["-m","indicadores.mcp_stdio_entry"], "cwd": "/ruta/del/proyecto". Soporta ${workspaceFolder} y ${env:VAR}.
.vscode/mcp.json — ojo: la clave es "servers", no mcpServers:
{
"servers": {
"siied": {
"type": "http",
"url": "https://indicadores.cali.gov.co/mcp",
"headers": { "Authorization": "Bearer TU_TOKEN" }
}
}
}
Alternativa portable para Copilot: .mcp.json en la raíz o ~/.copilot/mcp-config.json con clave "mcpServers". Para stdio usa "type": "stdio" + command/args/cwd. Pulsa Start sobre el bloque del server.
~/.gemini/settings.json — para HTTP usa httpUrl (url es SSE):
{
"mcpServers": {
"siied": {
"httpUrl": "https://indicadores.cali.gov.co/mcp",
"headers": { "Authorization": "Bearer TU_TOKEN" }
}
}
}
Stdio: "command": "/ruta/del/proyecto/.venv/bin/python", "args": ["-m","indicadores.mcp_stdio_entry"], "cwd": "/ruta/del/proyecto", "env": {"SIIED_MCP_TOKEN":"TU_TOKEN"}. También: gemini mcp add siied -- /ruta/del/proyecto/.venv/bin/python -m indicadores.mcp_stdio_entry. Verifica con /mcp.
~/.codex/config.toml (compartido con ChatGPT desktop):
[mcp_servers.siied]
command = "/ruta/del/proyecto/.venv/bin/python"
args = ["-m", "indicadores.mcp_stdio_entry"]
cwd = "/ruta/del/proyecto"
env = { SIIED_MCP_TOKEN = "TU_TOKEN" }
# o remoto:
# [mcp_servers.siied]
# url = "https://indicadores.cali.gov.co/mcp"
# http_headers = { Authorization = "Bearer TU_TOKEN" }
O vía CLI: codex mcp add siied -- /ruta/del/proyecto/.venv/bin/python -m indicadores.mcp_stdio_entry. Lista con codex mcp list.
opencode.json (proyecto) o ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"siied": {
"type": "remote",
"url": "https://indicadores.cali.gov.co/mcp",
"enabled": true,
"headers": { "Authorization": "Bearer TU_TOKEN" }
}
}
}
Local: "type": "local", "command": ["/ruta/del/proyecto/.venv/bin/python","-m","indicadores.mcp_stdio_entry"], "cwd": "/ruta/del/proyecto", "environment": {"SIIED_MCP_TOKEN":"TU_TOKEN"}.
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"siied": {
"command": "/ruta/del/proyecto/.venv/bin/python",
"args": ["-m", "indicadores.mcp_stdio_entry"],
"cwd": "/ruta/del/proyecto",
"env": { "SIIED_MCP_TOKEN": "TU_TOKEN" }
}
}
}
Guarda y haz "Refresh" en el panel MCP de Cascade.
Niveles de acceso
El servidor decide qué herramientas mostrar según tu identidad. Sin token solo ves la capa pública; con token personal, tu rol vigente en el SIIED define las herramientas adicionales. No se comparten credenciales: cada token es personal y todas las llamadas quedan registradas en auditoría.
| Nivel | Requiere token | Herramientas | Qué puede hacer |
|---|---|---|---|
| Público | No | 17 | Consulta abierta: buscar indicadores, fichas, series, conjuntos de datos, catálogo de consulta, estructura del sistema, satisfacción y documentos. |
| Recolector | Sí | +8 | Todo lo público + mi_contexto, mis_cargas, estado_carga, plantillas, deconstrucción de tablas y cargas de series/conjuntos/metadata en borrador (pasan a validación). |
| Validador | Sí | +3 | Todo lo público + listar_organismos_ficed, hoja_vida_organismo y consultar_ficed: hoja de vida completa del organismo y detalle FICED (solo lectura). |
| Analista | Sí | Todas | Suma las capas recolector y validador. |
¿Cuándo se necesita usuario y token?
Sin token (anónimo)
- Explorar el catálogo público de indicadores y conjuntos.
- Leer fichas, series y catálogos de consulta.
- Probar el servidor y evaluar su utilidad.
Con token personal
- Recolectores: cargar series, conjuntos de datos y metadata de variables.
- Validadores: consultar hoja de vida y formularios FICED.
- Los tokens tienen vigencia y se revocan si cambia tu rol o tu acceso.
Solicita tu token MCP
Si eres funcionario de un organismo del Sistema Estadístico y necesitas cargar datos o consultar la hoja de vida/FICED desde tu asistente de IA, solicita tu token personal indicando: nombre, organismo, correo institucional y el uso previsto.
sistemaestadistico@cali.gov.co¿Prefieres la burbuja?
También puedes enviar tu requerimiento por la burbuja flotante de chat (esquina inferior derecha del sitio). Es el mismo canal de soporte: llega al correo sistemaestadistico@cali.gov.co — indica que la solicitud es para un token MCP y tu organismo.
Notas
- Transporte HTTP: Streamable HTTP (protocolo MCP 2025-03-26) en
https://indicadores.cali.gov.co/mcp. - Transporte stdio:
python -m indicadores.mcp_stdio_entry— el cliente lanza el proceso. - Todas las llamadas quedan registradas en el log de auditoría (usuario, herramienta, duración, resultado).
- Las cargas por MCP nunca se publican solas: quedan en estado pendiente hasta validación del SIIED.
- El token se entrega una sola vez por correo seguro; no lo compartas ni lo subas a repositorios.