模型上下文协议服务器

一个基于Python的MCP服务器,用于使用各种框架处理请求。

  • by Elhan1505
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Elhan1505/mcp-framework-server

使用说明

MCP框架服务器

基于Python的MCP(模型上下文协议)服务器,用于使用各种框架处理请求。

特性

  • 基于FastAPI的REST API
  • 健康检查端点
  • 框架处理端点
  • 铁路部署就绪

项目结构

mcp-framework-server/
├── src/
│   ├── server.py          # Main MCP server logic
│   └── api.py             # FastAPI application
├── frameworks/            # Framework definitions directory
├── requirements.txt       # Python dependencies
├── pyproject.toml        # Project configuration
├── railway.json          # Railway deployment config
└── .env.example          # Environment variables template

注: Telegram机器人集成位于单独的存储库中。 此服务器仅提供用于处理请求的REST API。

本地开发

先决条件

  • Python 3.10或更高版本
  • 点

设置

  1. 克隆存储库:
git clone <repository-url>
cd mcp-framework-server
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env
# Edit .env and add your Anthropic API key
  1. 运行服务器:
uvicorn src.api:app --host 0.0.0.0 --port 8000 --reload

服务器将在以下时间启动 http://localhost:8000

API终点

健康检查

GET /health

答复:

{
  "status": "healthy"
}

处理请求

POST /process
Content-Type: application/json

{
  "framework": "example-framework",
  "input": "your input data"
}

答复:

{
  "framework": "example-framework",
  "input": "your input data",
  "output": "processed output",
  "status": "success"
}

重置对话框

POST /reset_dialog
Content-Type: application/json

{
  "framework": "navigator_vocalis",
  "user_id": "123456"
}

答复:

{
  "status": "ok",
  "message": "История диалога сброшена"
}

Telegram bot用于/new_dialog命令。从数据库中删除对话历史记录。

铁路部署

选项1:从GitHub部署

  1. 将代码推送到GitHub
  2. 首选 铁路
  3. 点击“新建项目”→ “从GitHub仓库部署”
  4. 选择您的存储库
  5. 添加环境变量:
    • ANTHROPIC_API_KEY:您的Anthropic Claude API密钥
    • FRAMEWORKS_PATH: ./frameworks (默认)
  6. 铁路将自动检测 railway.json 配置和部署

选项2:使用Railway CLI进行部署

  1. 安装铁路CLI:
npm i -g @railway/cli
  1. 登录铁路:
railway login
  1. 初始化并部署:
railway init
railway up
  1. 设置环境变量:
railway variables set ANTHROPIC_API_KEY=your_key_here
railway variables set FRAMEWORKS_PATH=./frameworks

验证部署

部署后,Railway将提供一个URL。测试您的部署:

curl https://your-app.railway.app/health

环境变量

  • ANTHROPIC_API_KEY:您的Anthropic Claude API密钥(必需)
  • FRAMEWORKS_PATH:框架目录的路径(默认: ./frameworks)

如何获取Anthropic API密钥:

  1. 注册地址:https://console.anthropic.com
  2. 转到“API密钥”部分
  3. 创建新密钥
  4. 复制密钥(格式: sk-ant-api03-...)

发展路线图

  • []实现从外部存储库加载框架
  • []添加框架执行逻辑
  • []实现身份验证
  • []添加请求日志记录和监控
  • []添加单元测试
  • []添加集成测试

许可证

麻省理工学院