
MCP Service Framework

2025.05.01
0
JavaScript天气服务智能对话位置服务
MCP Service Framework 是一个基于MCP(Model Context Protocol)协议的可扩展服务框架,提供标准化的工具调用接口和AI集成能力。该框架包含基础服务架构、天气服务实现示例和智能对话处理管道,支持动态注册和调用各类工具服务,具备高可用设计和智能对话管理能力。
View on GitHub
Overview
基本能力
产品定位
MCP Service Framework 是一个基于MCP协议的可扩展服务框架,主要用于提供标准化的工具调用接口和AI集成能力,特别适用于需要动态服务管理和智能对话处理的场景。
核心功能
- MCP协议实现:完整支持MCP协议的Server/Client通信模型
- 服务热插拔:支持动态注册和调用各类工具服务
- 智能对话管道:
- 上下文感知的对话管理
- 自动工具调用与结果整合
- 多轮对话状态保持
- 高可用设计:
- 请求重试机制(默认3次)
- 错误统一处理
- 服务健康监控
适用场景
- 需要动态服务管理的应用
- 智能对话系统
- 天气服务集成
- AI驱动的工具调用
工具列表
- 天气服务工具:提供天气查询功能,支持参数校验和数据标准化
- 自定义工具:支持开发者根据需求创建和注册新的工具服务
常见问题解答
- 如何扩展新的服务?
-
开发者可以按照服务扩展指南创建新的MCP服务,并通过Stdio传输协议集成到主服务中。
-
如何处理服务错误?
- 框架内置了错误重试机制和统一错误处理,开发者只需遵循标准MCP错误码即可。
使用教程
使用依赖
npm install @modelcontextprotocol/sdk express dotenv
安装教程
- 配置环境变量
# 服务配置
PORT=3000
AI_MODEL_NAME=xxxxxx
# DeepSeek API
DEEPSEEK_API_BASE_URL=https://api.deepseek.com/v1/
DEEPSEEK_API_ENDPOINT=/chat/completions
DEEPSEEK_API_KEY=your_api_key
# 天气服务API
WEATHER_API_KEY=your_weather_api_key
- 启动服务
# 启动主服务
npm run start:prod
调试方式
- 发送聊天请求
POST /chat
Content-Type: application/json
{
"message": "北京今天天气如何?",
"sessionId": "user123"
}
- 检查响应
{
"status": "success",
"response": {
"text": "北京当前温度28℃,晴,西北风3级",
"reasoning": "",
"toolResults": [{
"toolName": "get_forecast",
"result": "温度:28℃ 风速:20km/h..."
}]
}
}