MCP del BCRP
Proyecto independiente de la sesión 04: un servidor MCP con FastMCP para buscar, consultar y analizar series oficiales del Banco Central de Reserva del Perú.
Contenido
| Archivo | Propósito |
|---|---|
server.py |
Búsqueda de series, observaciones, resúmenes, comparación de series, recurso y prompt |
test_server.py |
Ocho pruebas de contrato con datos reales del BCRP; no modificar |
preguntas.csv |
Diez preguntas con respuestas y tolerancias oficiales |
evaluar.py |
Compara respuestas de Claude sin MCP y con el MCP |
.mcp.json |
Configura los servidores BCRP y Fetch para Claude Code |
pyproject.toml, uv.lock |
Dependencias y versiones reproducibles del entorno |
Requisitos y pruebas
Se necesita Python 3.11 o superior, uv, Claude Code con sesión iniciada e internet.
El entorno local .venv/ se crea automáticamente con uv; el catálogo descargado y el entorno se excluyen de Git.
Desde esta carpeta:
uv run pytest -q
La meta es 8 passed. La primera ejecución descarga el catálogo oficial del BCRP. Para iniciar el servidor en
terminal, ejecuta uv run server.py.
La dependencia cryptography<49 está acotada para permitir la instalación en macOS Intel sin compilar OpenSSL; el
proyecto no la usa directamente.
Conectar con Claude Code
Abre Claude Code desde esta carpeta y aprueba los servidores configurados en .mcp.json cuando lo solicite. Usa
/mcp para comprobar la conexión. El servidor bcrp ofrece:
- Herramientas:
buscar_series,serie,resumenycomparar_series. - Recurso:
bcrp://serie/{codigo}; por ejemplo@bcrp:bcrp://serie/PN01273PM. - Prompt:
informe(tema), disponible como/mcp__bcrp__informe.
Las fechas de serie y resumen son YYYY-MM para series mensuales, YYYY-T1 para trimestrales, YYYY-MM-DD para
diarias y YYYY para anuales. Las respuestas incluyen el código y el enlace oficial de la fuente.
Evaluación
preguntas.csv contiene diez preguntas, con las dos cifras adicionales verificadas manualmente en el sitio oficial
del BCRP. Ejecuta uv run evaluar.py para comparar los modos memoria y mcp; Claude Code debe estar disponible
en PATH. El resultado se guarda en resultados.csv. Para incluir búsqueda web, ejecuta
uv run evaluar.py --modos memoria web mcp.
La ejecución documentada en informe.md obtuvo 0/10 aciertos en modo memoria (10 respuestas «no sabe») y 10/10
con el MCP. La figura correspondiente está en grafico.png. datos/ no se incluye: el catálogo se descarga
automáticamente cuando se necesita.
Conserva test_server.py sin cambios. Los archivos de entrega son server.py, .mcp.json, preguntas.csv,
resultados.csv, informe.md y grafico.png.
La rúbrica del curso suma 20 puntos: pruebas (6), herramienta propia (3), recurso y prompt (2), .mcp.json (2),
evaluación (4) e informe (3).