StatCan ODCAF MCP Server
Un servidor MCP que permite a un asistente de IA consultar el conjunto de datos abierto ODCAF de Statistics Canada en lenguaje natural. Lo construí de extremo a extremo en un reto que duró 48 horas.
Arquitectura
Un servicio FastAPI implementa el Model Context Protocol. Expone un pequeño conjunto de herramientas tipadas que un LLM puede llamar. Cada herramienta valida sus parámetros, consulta el conjunto ODCAF y devuelve resultados estructurados que el modelo puede razonar.
Decisiones clave
MCP en vez de un plugin a medida
MCP es una interfaz portable. El mismo servidor funciona con cualquier cliente que hable MCP, así que la integración no queda atada a un solo producto. Esa portabilidad valía más que un endpoint a medida.
FastAPI para ir rápido con fecha límite
Con 48 horas en el reloj, elegí FastAPI por la validación tipada de peticiones y casi nada de código repetitivo, para dedicar la mayor parte del tiempo a las herramientas de datos y no a la fontanería.
La parte difícil
Mantener al LLM dentro de límites seguros
El modelo dirige las consultas, así que las herramientas no pueden aceptar entrada arbitraria. Cada herramienta expone una superficie estrecha y validada con parámetros fijos, campos en lista blanca y resultados acotados. El modelo obtiene libertad útil sin ninguna vía hacia consultas arbitrarias o abusivas.
Seguridad y rendimiento
- Cada parámetro de herramienta se valida y se restringe. El modelo nunca compone consultas en crudo contra la fuente de datos.
- El conjunto de datos es público y de solo lectura, así que no hay datos sensibles ni una vía de escritura que proteger.