Spaces:
Sleeping
Sleeping
# MCP 服务器说明 | |
本项目现在包含三个MCP(Model Context Protocol)服务器,它们替代了原来的FastAPI HTTP服务。 | |
## 🚀 MCP 服务器概览 | |
### 1. RequestProcessor (service1) | |
**功能**: 通用请求处理和数据分析 | |
**工具**: | |
- `process_request`: 处理各种类型的请求和响应 | |
- `get_service_info`: 获取服务信息 | |
- `validate_data`: 验证数据结构 | |
**使用示例**: | |
```python | |
# 处理请求 | |
result = await process_request( | |
message="analyze this data", | |
data={"key": "value"} | |
) | |
# 验证数据 | |
validation = await validate_data({"name": "test", "value": 123}) | |
``` | |
### 2. DataAnalyzer (service2) | |
**功能**: 数据分析和统计计算 | |
**工具**: | |
- `analyze_data`: 执行数据分析 | |
- `get_data_statistics`: 计算数值统计 | |
- `get_service_statistics`: 获取服务统计信息 | |
**使用示例**: | |
```python | |
# 分析数据 | |
analysis = await analyze_data( | |
input_data={"scores": [85, 90, 78, 92, 88]}, | |
operation="statistics" | |
) | |
# 计算统计 | |
stats = await get_data_statistics([1, 2, 3, 4, 5]) | |
``` | |
### 3. MathComputer (service3) | |
**功能**: 数学计算和统计函数 | |
**工具**: | |
- `compute_operation`: 基本数学运算 | |
- `get_supported_operations`: 获取支持的操作 | |
- `advanced_math_operations`: 高级数学运算 | |
**使用示例**: | |
```python | |
# 基本计算 | |
result = await compute_operation( | |
numbers=[1, 2, 3, 4, 5], | |
operation="average" | |
) | |
# 高级运算 | |
percentile = await advanced_math_operations( | |
operation="percentile", | |
numbers=[1, 2, 3, 4, 5], | |
percentile=75 | |
) | |
``` | |
## 🔧 配置说明 | |
这些MCP服务器已在 `config.json` 中配置: | |
```json | |
{ | |
"request_processor": { | |
"command": "python", | |
"args": ["./python-services/service1/mcp_server.py"], | |
"transport": "stdio" | |
}, | |
"data_analyzer": { | |
"command": "python", | |
"args": ["./python-services/service2/mcp_server.py"], | |
"transport": "stdio" | |
}, | |
"math_computer": { | |
"command": "python", | |
"args": ["./python-services/service3/mcp_server.py"], | |
"transport": "stdio" | |
} | |
} | |
``` | |
## 🚀 启动方式 | |
### 方式1: 通过主应用启动 | |
主Streamlit应用会自动启动这些MCP服务器: | |
```bash | |
python app.py | |
``` | |
### 方式2: 独立启动 | |
```bash | |
# 启动RequestProcessor | |
python python-services/service1/mcp_server.py | |
# 启动DataAnalyzer | |
python python-services/service2/mcp_server.py | |
# 启动MathComputer | |
python python-services/service3/mcp_server.py | |
``` | |
## 📋 依赖要求 | |
每个MCP服务器需要以下依赖: | |
``` | |
mcp | |
fastmcp | |
pydantic | |
``` | |
## 🔄 从HTTP服务迁移 | |
原来的三个FastAPI HTTP服务已被MCP服务器替代: | |
| 原HTTP服务 | 新MCP服务器 | 功能对比 | | |
|-----------|------------|----------| | |
| service1 (8001) | RequestProcessor | 请求处理 → 通用MCP工具 | | |
| service2 (8002) | DataAnalyzer | 数据分析 → 数据分析MCP工具 | | |
| service3 (8003) | MathComputer | 数学计算 → 数学计算MCP工具 | | |
## 💡 优势 | |
1. **统一协议**: 所有服务都使用MCP协议 | |
2. **更好的集成**: 与LangChain等框架无缝集成 | |
3. **工具发现**: 自动工具发现和注册 | |
4. **类型安全**: 更好的参数类型定义和验证 | |
5. **异步支持**: 原生异步操作支持 | |
## 🐛 故障排除 | |
如果MCP服务器启动失败: | |
1. 检查依赖是否正确安装:`pip install mcp fastmcp` | |
2. 确认Python版本兼容性(建议3.8+) | |
3. 检查文件路径是否正确 | |
4. 查看错误日志获取详细信息 | |
## 🔮 扩展建议 | |
可以基于这些MCP服务器模板创建更多专用服务: | |
- 文件处理服务 | |
- 数据库查询服务 | |
- 外部API集成服务 | |
- 机器学习推理服务 |