Capitulo 11 FastMCP ArquitecturaMCP
No description available
Ask AI about Capitulo 11 FastMCP ArquitecturaMCP
Powered by Claude · Grounded in docs
I know everything about Capitulo 11 FastMCP ArquitecturaMCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
📘 Data Engineer MCP Server
En este capítulo 11, se implementa un servidor MCP (Model Context Protocol) utilizando FastMCP con una arquitectura limpia implementada desde cero para el diseño de tareas de ingeniería de datos. Proporciona herramientas, recursos y prompts para el análisis de datos, además de integrar otros servidores MCP (Pokemon y Clientes).
🏗️ Arquitectura
El servidor actúa como un punto central que expone capacidades de ingeniería de datos y orquesta sub-servidores.
- Core: Implementado con
fastmcp. - Gestión de Dependencias: Utiliza
uvpara una instalación rápida y eficiente. - Contenerización: Docker y Docker Compose para despliegue.
- Integraciones: Monta servidores secundarios (
mcp-server-pokemonyapi-clientes-mcp).
📂 Estructura del Proyecto
11_arquitectura_mcp_fastmcp/
├── app/
│ ├── composing_servers/ # Servidores secundarios (ej. Pokemon)
│ ├── integration_frameworks/ # Integraciones con APIs (ej. Clientes)
│ └── server_mcp/ # Lógica principal del servidor
│ ├── prompts/ # Definición de Prompts
│ ├── resources/ # Definición de Recursos
│ ├── tools/ # Definición de Herramientas
│ └── server.py # Inicialización y montaje
├── assets/ # Archivos de datos (datasets)
├── Dockerfile # Configuración de imagen Docker
├── docker-compose.yml # Orquestación de contenedores
├── main.py # Punto de entrada de la aplicación
├── pyproject.toml # Dependencias del proyecto
└── uv.lock # Archivo de bloqueo de dependencias
🚀 Instalación y Despliegue
Prerrequisitos
- Python 3.11+
- Docker y Docker Compose (opcional para despliegue en contenedor)
uv(recomendado para gestión de paquetes)
Ejecución Local
-
Instalar dependencias:
uv sync -
Ejecutar el servidor:
uv run main.pyEl servidor se iniciará en
http://0.0.0.0:8000.
Despliegue con Docker
- Construir y levantar el contenedor:
docker-compose up --build
🛠️ Componentes del Servidor
1. Herramientas (Tools)
El servidor expone herramientas para realizar operaciones sobre datos.
estadistica_descriptiva- Descripción: Calcula estadísticas descriptivas (media, desviación estándar, min, max, etc.) de un DataFrame.
- Entrada:
path_dataset(Ruta al archivo Excel). - Implementación: Utiliza
polarspara leer el archivo Excel y generar el resumen estadístico.
2. Recursos (Resources)
Proporciona acceso a datos estáticos o dinámicos.
resource://datasets/- Descripción: Lista los datasets de ventas disponibles en el directorio
assets. - Retorno: JSON con nombre, ruta y tamaño de cada dataset.
- Descripción: Lista los datasets de ventas disponibles en el directorio
3. Prompts
Plantillas predefinidas para interactuar con el modelo.
Prompt Estadistica Descriptiva- Descripción: Genera una instrucción para calcular estadísticas de un año específico.
- Argumentos:
anio_dataset(Año del dataset).
🔌 Integraciones
El servidor principal monta otros servidores MCP para extender su funcionalidad:
-
Pokemon MCP Server:
- Prefijo:
mcp-server-pokemon - Fuente:
app.composing_servers.mcp_server_secundario
- Prefijo:
-
API Clientes MCP:
- Prefijo:
api-clientes-mcp - Fuente:
app.integration_frameworks.fastapi_api_clientes
- Prefijo:
📦 Dependencias Clave
fastmcp: Framework base para el servidor MCP.polars: Manipulación de datos de alto rendimiento.fastexcel: Lectura eficiente de archivos Excel.
Autor: Brayan Neciosup Versión: 1.0.0
