使用说明

项目简介

mcp-ectors (MCP SSE Server) 是一个企业级的、高性能的 MCP 服务器实现,它充当大型语言模型 (LLM) 与各种工具、资源和工作流 Prompt 之间的桥梁,类似于 LLM 的 USB 接口。该服务器使用 Rust 语言和 Actors 模式构建,优化了性能和可扩展性,特别适合企业环境。它支持通过 SSE (Server-Sent Events) 协议与 MCP 客户端通信,并计划在未来扩展支持 Stdio 和 WASI 传输协议。

主要功能点

  • 高性能与可扩展性:基于 Rust 和 Actors 构建,保证了服务器的高并发和可扩展性。
  • MCP 协议支持:实现了 MCP 协议的核心功能,允许 LLM 通过标准化的 JSON-RPC 接口访问工具、资源和 Prompt。
  • 多路由支持:允许在同一连接上部署多个路由器 (Router),简化了架构并提高了资源利用率。
  • 动态路由管理:通过 Router Service Manager 动态注册和管理多个路由器,实现灵活的功能扩展。
  • SSE 传输:目前支持 SSE 传输协议,未来计划支持 Stdio 和 WASI。
  • 日志配置:支持自定义日志配置,方便监控和调试。

安装步骤

  1. 安装 Rust 环境: 确保您的系统已安装 Rust 编程语言和 Cargo 包管理器。您可以访问 rust-lang.org 按照官方指南进行安装。

  2. 克隆仓库: 使用 Git 克隆 mcp-ectors 仓库到本地:

    git clone https://github.com/mcp-ectors/mcp-ectors.git
    cd mcp-ectors
  3. 运行服务器: 在仓库根目录下,使用 Cargo 命令运行服务器:

    cargo run

    服务器默认将在 'http://localhost:8080/sse' 启动。

服务器配置

MCP 服务器配置主要在服务器端完成,对于 MCP 客户端,您需要配置连接到 mcp-ectors 服务器的信息。以下是 MCP 客户端需要配置的关键信息(JSON 格式):

{
  "serverName": "mcp-ectors",
  "transport": "sse",
  "command": "cargo",
  "args": [
    "run"
  ],
  "connectionUrl": "http://localhost:8080/sse"
}

配置参数注释:

  • '"serverName"': MCP 服务器的名称,可以自定义,例如 "mcp-ectors"。
  • '"transport"': 指定 MCP 客户端与服务器通信的传输协议,对于 mcp-ectors 当前版本,应设置为 '"sse"' (Server-Sent Events)。
  • '"command"': 启动 MCP 服务器的命令。由于 mcp-ectors 是 Rust 项目,这里设置为 '"cargo"',表示使用 Cargo 运行。
  • '"args"': 启动命令的参数。对于 'cargo run' 命令,无需额外参数,这里设置为 '["run"]'。
  • '"connectionUrl"': MCP 客户端连接到服务器的 URL 地址。对于本地运行的 mcp-ectors 服务器,默认地址为 '"http://localhost:8080/sse"'。

注意: MCP 客户端通常需要这些配置信息来建立与 MCP 服务器的连接,并进行后续的资源访问、工具调用和 Prompt 获取等操作。请根据您的 MCP 客户端的具体配置方式进行设置。

基本使用方法

  1. 启动服务器:按照上述安装步骤运行 mcp-ectors 服务器。

  2. 使用 MCP 客户端连接:配置您的 MCP 客户端,使其连接到 'http://localhost:8080/sse'。例如,可以使用 README 中提到的 Goose Desktop 工具。

  3. 测试示例

    • 连接成功后,您可以尝试使用 Goose Desktop 或其他 MCP 客户端,调用预置的示例 Router,例如:
      • CounterRouter: 调用 'counter_increment' 工具来增加计数器,'counter_decrement' 工具来减少计数器,'counter_get_value' 工具来获取当前值。
      • HelloWorldRouter: 调用 'helloworld_greet' 工具,并传入 'name' 参数,服务器将返回问候语 "Hello {name}"。
  4. 创建自定义 Router: 您可以根据需要创建新的 MCP Router,实现自定义的工具、资源和 Prompt。参考仓库中的 'examples' 目录下的 'CounterRouter' 和 'HelloWorldRouter' 示例,实现 'Router' Trait,并在 'src/main.rs' 中注册您的 Router。

  5. 动态注册 Router: mcp-ectors 支持动态注册 Router,您可以扩展服务器功能而无需重启。

深入了解

  • 架构概览:参考 README 中的 "Architecture Overview" 部分,了解 mcp-ectors 的服务器构建器、路由服务管理器、传输 Actor 等核心组件。
  • 未来发展:关注 README 中的 "Future Development" 部分,了解 mcp-ectors 的后续功能计划,例如 MCP 协议的完善、传输协议的扩展等。

信息

分类

AI与计算