MCPheonix
使用Elixir的Phoenix框架实现的简化版模型上下文协议(MCP)服务器。
概览
MCPheonix 是基于 Elixir 的 Phoenix 框架实现的智能、自愈、分布式 Model Context Protocol (MCP) 服务器,允许 AI 模型通过统一接口与您的应用程序交互。
核心特性
- 实时 Server-Sent Events (SSE) 流通知
- JSON-RPC 端点处理客户端请求
- 资源和事件发布/订阅系统
- 工具调用、Flux 图像生成和 Dart 任务管理集成
- 通过 Cloudflare Durable Objects 实现的自愈分布式架构
快速安装
前提条件
- Elixir 1.14+
- Erlang 25+
- Phoenix 1.7.0+
- Python 3.9+(仅用于 Flux/Dart 集成)
- Node.js 18+(仅用于 Dart 集成)
- Cloudflare 账户(用于分布式架构)
安装步骤
- 克隆仓库并安装依赖
git clone https://github.com/yourusername/mcpheonix.git
cd mcpheonix
mix deps.get
- 配置 Cloudflare 集成
- 使用模板创建 Cloudflare Worker
- 设置环境变量:
CLOUDFLARE_WORKER_URL
,CLOUDFLARE_ACCOUNT_ID
,CLOUDFLARE_API_TOKEN
- 启动服务器
mix phx.server
服务器将在 http://localhost:4001 上运行
添加自定义 MCP 服务器
在 priv/config/mcp_servers.json
中定义服务器配置:
{
"mcpServers": {
"your_server_id": {
"command": "/path/to/executable",
"args": ["arg1", "arg2"],
"env": {
"ENV_VAR1": "value1"
},
"tools": {
"your_tool": {
"description": "工具描述",
"parameters": [
{ "name": "param1", "type": "string", "description": "参数描述" }
]
}
}
}
}
}
使用 MCP 端点
- SSE 流:
GET /mcp/stream
- 接收实时通知 - JSON-RPC:
POST /mcp/rpc
- 发送客户端请求
高级功能
- 自愈分布式架构:通过 Cloudflare 实现的故障恢复机制
- Flux 集成:支持 AI 图像生成
- Dart 集成:实现高级任务管理
详细文档请参阅项目文档目录 docs/
。