MCP Boilerplate Rust
使用说明内容(Markdown格式)
-
项目简介
- 该项目是一个基于 MCP 2025-11-25 规范的后端服务器实现,旨在向大语言模型(LLM)客户端提供标准化的上下文信息、资源数据、工具执行能力以及可定制的提示模板渲染。支持多种传输协议(stdio、SSE、WebSocket、HTTP、HTTP Streaming、gRPC),并提供鉴权、观测与扩展性设计。
-
主要功能点
- 资源管理:托管和提供可访问的资源(如服务器描述、能力集合等)。
- 工具注册与执行:注册工具并通过 JSON-RPC 调用执行,支持多种工具示例(echo、calculate、health_check 等)。
- 提示模板:定义并渲染提示模板,支持 Code Review、Explain Code、Debug Help 等示例。
- 会话与任务管理:支持长任务、进度通知、任务状态查询等。
- 安全与认证:包含基于 OAuth 2.1、JWT 的安全机制(可选开启)。
- 多传输支持:包含标准输入/输出、HTTP、SSE、WebSocket、HTTP Streaming、gRPC 等传输实现。
- 观测与指标:集成观测(OpenTelemetry/Prometheus)与日志系统。
- 数据库工具(可选):通过 PostgREST 封装 PostgreSQL 的工具,提供数据库访问能力。
- 客户端 SDK 代码生成:多语言客户端 SDK(TypeScript、Python、Go、Rust)的自动生成框架。
-
安装步骤
- 克隆代码仓库并进入目录。
- 构建并运行(示例):
- 只在 stdio 模式下运行并启用 http 与 auth 功能:cargo build --release --features "http,auth";运行:./target/release/mcp-boilerplate-rust
- 运行 HTTP 接口模式:./target/release/mcp-boilerplate-rust --mode http
- 测试与工具:
- 运行测试用例:cargo test --features "http,auth"
- MCP Inspector 测试(可选):npx @modelcontextprotocol/inspector ./target/release/mcp-boilerplate-rust
-
服务器配置(供 MCP 客户端参考的简要配置含注释,不作为代码示例)
- server_name: MCP Boilerplate Rust
- start_command: ./target/release/mcp-boilerplate-rust
- args: ["--mode", "http"] 或 [""] 取决于需要的传输模式
- 说明:MCP 客户端需要读取该服务器的启动信息并基于提供的 mode 选择合适的传输通道(例如 http、stdio、sse、websocket 等)进行连接。实际配置信息以 MCP 客户端文档为准,仓库内含快速启动说明与多传输示例。
-
基本使用方法
- 运行后端服务,选择传输模式(stdio、http、sse、websocket、http-stream、grpc 等)。
- 使用 MCP 客户端(例如仓库内生成的 TypeScript/Python/Go/Rust SDK)通过 JSON-RPC 调用工具、读取资源、获取 Prompts、以及执行任务。
- MCP 客户端需在配置中指定服务器启动入口、端口及传输参数;服务器端维护会话与能力声明,支持多种传输协议与安全策略。
- 如需调试,MCP Inspector、Prompts 测试以及各传输模式的示例用例在仓库的示例模板和文档中给出。
-
适用场景
- 将 LLM 客户端接入到可扩展的上下文服务,包含资源、工具、提示模板等能力,适用于需要结构化上下文和功能调用的 LLM 应用。