MCP Service Framework

MCP Service Framework

site icon
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驱动的工具调用

工具列表

  • 天气服务工具:提供天气查询功能,支持参数校验和数据标准化
  • 自定义工具:支持开发者根据需求创建和注册新的工具服务

常见问题解答

  1. 如何扩展新的服务?
  2. 开发者可以按照服务扩展指南创建新的MCP服务,并通过Stdio传输协议集成到主服务中。

  3. 如何处理服务错误?

  4. 框架内置了错误重试机制和统一错误处理,开发者只需遵循标准MCP错误码即可。

使用教程

使用依赖

npm install @modelcontextprotocol/sdk express dotenv

安装教程

  1. 配置环境变量
# 服务配置
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
  1. 启动服务
# 启动主服务
npm run start:prod

调试方式

  1. 发送聊天请求
POST /chat
Content-Type: application/json

{
  "message": "北京今天天气如何?",
  "sessionId": "user123"
}
  1. 检查响应
{
  "status": "success",
  "response": {
    "text": "北京当前温度28℃,晴,西北风3级",
    "reasoning": "",
    "toolResults": [{
      "toolName": "get_forecast",
      "result": "温度:28℃ 风速:20km/h..."
    }]
  }
}

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。