Turul MCP 框架(Rust-Beta 实现)

使用说明(Markdown 格式)

  • 项目简介

    • Turul MCP 框架是一套用 Rust 实现的 MCP 服务器端框架,目标是提供一个标准化的上下文服务后端,向 LLM 客户端暴露 Resources、Tools、Prompts 等能力,并通过 JSON-RPC 与客户端交互。支持多种传输模式(如流式 HTTP、SSE、AWS Lambda),并具备会话管理、任务跑法、通知广播等企业级特性。
  • 主要功能点

    • 资源管理(Resources):对静态资源与模板资源进行托管与访问,支持模板变量提取。
    • 工具注册与执行(Tools):通过函数式、派生宏、构建器等方式注册工具,并支持通过 MCP 调用执行。
    • 提示模板(Prompts):定义和渲染面向 LLM 的提示模板。
    • 流式传输与传输协议:支持现代的 Streamable HTTP、SSE、以及 AWS Lambda 的服务器端集成;提供对 MCP 版本的尊重性路由和兼容层。
    • 会话与存储(Session & Storage):提供会话创建、持久化、TTL 清理等机制,以及对任务的存储和恢复。
    • 事件通知(Notifications):通过 SSE 将服务器端事件广播或按会话订阅进行推送。
    • 服务器端实现与客户端示例:包含核心服务器、HTTP 服务器、Lambda 集成等多种示例与测试用例,方便集成与验证。
  • 安装步骤

    • 克隆仓库并进入项目根目录
    • 构建整个工作区:cargo build --workspace
    • 运行集成合规性测试(示例命令):cargo test -p turul-mcp-framework-integration-tests --test compliance
    • 运行简单示例服务器(示例名称多样,可以选择 Core、Resource、Prompts 等):cargo run -p minimal-server
    • 如需本地浏览器/LLM 集成测试,请参考 README 中的快速测试和示例服务器清单
  • 服务器配置(用于 MCP 客户端连接的配置信息,采用 JSON 结构,描述服务器在运行时的必要信息) { "serverName": "turul-mcp-core", "command": "cargo run -p comprehensive-server --", "args": [ "--port", "8002", "--transport", "http-streamable", "--storage-backend", "InMemory", "--sse", "true" ], "notes": "使用 MCP 2025-11-25 版本,启用流式 HTTP(Streamable HTTP)传输,开启 SSE/通知。" }

  • 基本使用方法

    1. 启动服务器
      • 选择核心服务器(如 comprehensive-server)或最简示例,使用上述命令行参数运行。
    2. 与 MCP 客户端建立连接
      • 客户端通过 MCP 的 JSON-RPC 2.0 规范向服务器的 /mcp 入口发送初始化 initialize 请求,包含协议版本 "2025-11-25"、能力声明和客户端信息。
    3. 调用工具/读取资源
      • 客户端可以通过 tools/list、tools/call、resources/list、resources/read 等方法与服务器交互,获取资源、执行工具并接收结果。
    4. 使用高度定制的交互
      • 通过 prompts、elicitations、notifications 等能力对话流程进行更复杂的 LLM 交互与协作。
    5. 测试与部署
      • 本仓库提供大量测试与示例服务器,建议在开发阶段使用集成测试(cargo test --workspace),在本地或云环境按需部署 Lambda/API 网关等。
  • 重要提示

    • MCP 客户端配置应以服务器提供的 JSON-RPC 交互为准,客户端无需依赖服务器内部实现细节。
    • MCP 版本 negotiating、传输选择与安全性(如鉴权、中继、CORS、SSE 等)均在框架中有实现和示例。
    • 本实现包含多种传输模式的兼容性,要求在实际部署时正确配置对应的传输组件和环境。

服务器信息