📘 数据工程师MCP服务器
在第11章中,实现了一个服务器 MCP(模型上下文协议) 使用 FastMCP 有一个 清洁建筑 从头开始执行数据工程任务的设计。除了集成其他MCP服务器(口袋妖怪和客户机)外,它还提供数据分析工具、资源和提示。
🏗️ 建筑
服务器作为一个中心点,暴露了数据工程和协调子服务器的能力。
- 核心:实施
fastmcp. - 单位管理:使用
uv快速有效的安装。 - 遏制:Docker和Docker Compose用于部署。
- 整合:装载辅助服务器(
mcp-server-pokemonyapi-clientes-mcp).
📂 项目结构
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🚀 安装和部署
先决条件
- Python 3.11+
- Docker和Docker Compose(可选用于容器部署)
uv(推荐用于包管理)
当地执行
- 安装依赖项:
uv sync- 运行服务器:
uv run main.py服务器将在 http://0.0.0.0:8000.
使用Docker部署
- 建造和提升容器:
docker-compose up --build🛠️ 服务器组件
1.工具
服务器公开了对数据执行操作的工具。
estadistica_descriptiva
- 描述:计算数据帧的描述性统计数据(平均值、标准差、最小值、最大值等)。 - 入口: path_dataset (Excel文件的路径)。 - 实施:使用 polars 读取Excel文件并生成统计摘要。
2. 资源
提供对静态或动态数据的访问。
resource://datasets/
- 描述:列出目录中可用的销售数据集 assets. - 返回:json,包含每个数据集的名称、路径和大小。
3.提示
与模型交互的预定义模板。
Prompt Estadistica Descriptiva
- 描述:生成用于计算特定年份统计数据的指令。 - 参数: anio_dataset (数据集年)。
🔌 整合
主服务器安装其他MCP服务器以扩展其功能:
- 口袋妖怪MCP服务器:
- 前缀: mcp-server-pokemon - 资料来源: app.composing_servers.mcp_server_secundario
- API客户端:
- 前缀: api-clientes-mcp - 资料来源: app.integration_frameworks.fastapi_api_clientes
📦 关键依赖项
fastmcp:MCP服务器的基本框架。polars:高性能数据处理。fastexcel:高效读取Excel文件。
______________________________________________________________________
作者:Brayan neciosup 版本: 1.0.0
