Skip to main content

Module mcp

Module mcp 

Source
Expand description

MCP(Model Context Protocol)服务器。

把博客暴露为一个 MCP 服务器,管理员的 AI 客户端(Claude Code / Cursor / Cline) 通过 POST /mcp(Streamable HTTP,无状态)以 bearer token 认证,可:

  • 查询已发布文章作为知识库(read 作用域);
  • 执行几乎所有后台操作:文章 CRUD、评论、标签、媒体、设置、代码运行器 (write / admin 作用域)。

传输:官方 rmcp crate 的 StreamableHttpService,挂载于 axum /mcp。 认证:每请求由 axum 中间件解析 Authorization: Bearer ygg_... → 注入 McpPrincipal 到 request extensions;工具经 Extension<http::request::Parts> 提取器读取,按作用域鉴权。Origin→403 / 协议版本头 / 体积上限由 rmcp 内置。

仅 server feature 编译;WASM 前端构建不含本模块(无 #[cfg(not)] stub 需求, 整个模块用 #[cfg(feature = "server")] 门控,前端侧不引用任何 mcp 符号)。

Modules§

auth
MCP 请求鉴权:bearer token → 已认证主体。
config
MCP 客户端配置片段生成。
crypto
MCP token 静态加密(AES-GCM-256)。
router
构建并返回挂载于 /mcp 的 axum 子路由。
server
MCP 服务器:rmcp ServerHandler 实现,组合所有工具组。
tools
MCP 服务器工具集。