Volver a proyectos

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. Construido de extremo a extremo en un reto de 48 horas.

Arquitectura

Cliente LLMServidor MCP (FastAPI)Conjunto ODCAF
Herramientas tipadas validan cada llamada antes de tocar el conjunto público.

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 y consulta el conjunto ODCAF, devolviendo 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 compatible con 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, elegí FastAPI por la validación tipada de peticiones y casi cero 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: parámetros fijos, campos en lista blanca y resultados acotados. El modelo obtiene libertad útil sin una 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.

Stack

PythonFastAPIMCPPydantic

Enlaces