MCP Agent Mail 服务端(Rust 实现)

<Markdown> - 项目简介 - 这是一个用 Rust 重写的 MCP(Model Context Protocol)服务器端实现,核心功能包括托管资源(Resource)、注册和执行工具(Tool)、以及定义与渲染提示模板(Prompts),通过 JSON-RPC 形式与 LLM 客户端通信,提供统一的上下文信息和数据访问能力。
  • 主要功能点

    • 资源管理:提供只读数据的资源接口,支持资源读取与模板列表。
    • 工具注册与调用:注册并执行各类工具,LLM 可以通过工具调用外部功能。
    • 会话与上下文:服务器管理会话、能力声明以及对话上下文。
    • Prompts/模板:支持提示模板的获取与渲染。
    • 传输协议:原生支持 stdio 与 HTTP 传输(以及后续可能扩展的 SSE/WebSocket 等)。
    • 兼容性测试:包含与 legacy Python 实现的对等性 fixture/测试,便于回归与验证。
  • 安装与运行

    • 依赖与构建环境
      • 需要 Rust 工具链,请按照仓库的提示配置 Rust nightly。
    • 快速启动(stdio)
      • 命令:cargo run -p mcp-agent-mail
    • 启用 HTTP 服务
      • 命令:cargo run -p mcp-agent-mail -- serve-http --host 127.0.0.1 --port 8765
    • 运行合规性测试
      • 命令:cargo test -p mcp-agent-mail-conformance
    • 说明
      • 仓库中还提供了其他子 crate(如 core/db/storage 等),用于实现完整的 MCP 服务端功能,当前入口为 mcp-agent-mail-server 提供对外服务能力。
  • 服务器配置示例(供 MCP 客户端了解如何启动服务器) 说明:以下 JSON 配置用于描述服务器的启动信息,包含服务器名称、启动命令和启动参数。MCP 客户端通常需要读取该配置来启动并连接到 MCP 服务器。请注意,实际连接方式以客户端实现为准,此处仅提供配置示例。 { "server_name": "mcp-agent-mail", "command": "cargo", "args": [ "run", "-p", "mcp-agent-mail", "serve-http", "--host", "127.0.0.1", "--port", "8765" ] } 注释:该配置对应仓库示例中通过 cargo 运行 mcp-agent-mail 并以 HTTP 方式对外暴露服务的方式启动。

  • 基本使用方法

    • 启动服务:按照上述快速启动/HTTP 启动指令启动服务。
    • 客户端接入:MCP 客户端通过 JSON-RPC 调用服务器暴露的工具、资源、Prompts 等接口,获取资源数据、调用工具、获取 Prompt 等上下文信息。
    • 运行环境与扩展性:服务器具备会话管理、能力声明以及多传输协议的支持,便于在不同平台和模型架构中集成使用。
</Markdown>

服务器信息