使用说明

项目简介

ruvnet_federated-mcp 是一个实现了 Model Context Protocol (MCP) 的联邦式 AI 服务运行时系统。它旨在为构建分布式 AI 应用提供一个标准化的后端框架,支持在边缘计算环境中部署和运行。该项目遵循 MCP 官方规范,实现了资源管理、工具注册与执行、Prompt 模板渲染等核心功能,并特别强调了联邦能力,允许 AI 系统在不同的 MCP 服务器之间无缝切换上下文和调用工具。

主要功能点

  • MCP 协议完整实现: 遵循 MCP 规范,提供标准化的上下文信息和功能接口。
  • 联邦支持: 实现 MCP 服务器间的联邦连接,允许跨服务器的数据访问和工具调用。
  • 边缘计算能力: 支持在 Supabase, Cloudflare Workers, Fly.io 等边缘计算平台部署。
  • 多种网络协议: 支持 JSON-RPC 2.0, HTTP/REST, WebSocket 等多种通信协议。
  • 安全特性: 提供联邦认证和授权、跨服务器资源隔离、分布式授权管理等安全机制。
  • 可扩展架构: 支持多服务器扩展,适应不同规模的应用需求。
  • 内置工具: 包含意图检测 (intent-detection)、会议信息获取 (meeting-info)、Webhook 处理 (webhook-handler) 等示例工具。

安装步骤

  1. 环境准备:

    • 确保已安装 Deno (推荐版本 >= 1.35) 和 Node.js (根据项目描述,虽然主要使用 Deno,但部分功能可能涉及 Node.js 环境)。
    • 克隆 GitHub 仓库到本地:
      git clone https://github.com/MCP-Mirror/ruvnet_federated-mcp.git
      cd ruvnet_federated-mcp
  2. 运行服务器:

    • 使用 Deno 运行服务器:
      deno run --allow-net --allow-env --allow-read --allow-write --allow-run src/apps/deno/server.ts
      这个命令会启动一个基于 Deno 的 MCP 服务器实例。'--allow-*' 参数是为了授予 Deno 运行时必要的系统权限,例如网络访问、环境变量读取等。

服务器配置

MCP 服务器主要通过命令行参数和环境变量进行配置。对于 MCP 客户端,建立连接时需要以下配置信息:

{
  "serverName": "ruvnet_federated-mcp",  // 自定义服务器名称
  "command": "deno",                    // 启动服务器的命令,这里使用 deno
  "args": [                             // 启动命令的参数
    "run",
    "--allow-net",
    "--allow-env",
    "--allow-read",
    "--allow-write",
    "--allow-run",
    "src/apps/deno/server.ts"
  ]
}

参数注释:

  • 'serverName': MCP 客户端用于标识服务器的名称,可以自定义。
  • 'command': 启动 MCP 服务器的可执行命令,这里是 'deno'。
  • 'args': 传递给 'deno run' 命令的参数列表,与在终端中手动运行 'deno run ...' 命令时使用的参数一致。这些参数用于指定 Deno 运行时权限和服务器入口文件。

注意: MCP 客户端需要根据实际部署环境和需求,调整 'command' 和 'args' 配置,确保能够正确启动和连接到 MCP 服务器。例如,如果将服务器部署在远程主机上,则客户端需要配置相应的网络连接信息(仓库中未明确提及,但根据 MCP 协议,可能需要支持 WebSocket 或 HTTP 连接)。

基本使用方法

  1. 启动 MCP 服务器: 按照安装步骤中的命令启动服务器。
  2. 配置 MCP 客户端: 在 MCP 客户端中,配置上述提供的服务器连接信息。
  3. 连接服务器: MCP 客户端使用 JSON-RPC 协议与服务器进行通信,发送请求 (Request) 和接收响应 (Response)。
  4. 探索功能:
    • 资源 (Resources): 仓库中未明确实现资源管理功能,但 MCP 服务器通常会提供对外部数据源的访问能力。
    • 工具 (Tools): 仓库包含 'intent-detection', 'meeting-info', 'webhook-handler' 等示例工具,可以通过 MCP 客户端调用。
    • Prompt 模板 (Prompts): 仓库中未明确实现 Prompt 模板功能,但 MCP 服务器通常会支持 Prompt 的定义和渲染。
  5. 联邦功能: 要体验联邦功能,需要部署多个 ruvnet_federated-mcp 服务器实例,并配置联邦连接(具体配置方法仓库文档中未详细说明,可能需要参考 MCP 联邦相关规范)。

更详细的使用方法: 请参考仓库的 'README.md' 文件和代码注释,以及 Model Context Protocol (MCP) 的官方文档。

信息

分类

AI与计算