MCPheonix

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 账户(用于分布式架构)

安装步骤

  1. 克隆仓库并安装依赖
git clone https://github.com/yourusername/mcpheonix.git
cd mcpheonix
mix deps.get
  1. 配置 Cloudflare 集成
  • 使用模板创建 Cloudflare Worker
  • 设置环境变量:CLOUDFLARE_WORKER_URL, CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN
  1. 启动服务器
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-RPCPOST /mcp/rpc - 发送客户端请求

高级功能

  • 自愈分布式架构:通过 Cloudflare 实现的故障恢复机制
  • Flux 集成:支持 AI 图像生成
  • Dart 集成:实现高级任务管理

详细文档请参阅项目文档目录 docs/