深度剖析 / MCP
MCP
构建、测试、保护与运维模型上下文协议服务器——mcp-architecture 概念介绍之上的实践层。
- 实操构建 MCP 服务器超越 hello-world 的地道服务器构建——FastMCP 装饰器、TypeScript Standard Schema、何时把能力做成 tool 与 resource 与 prompt 之分,以及一台中位数五工具的服务器里到底该放什么。
- 设计 MCP 工具MCP 工具与其说是 API 不如说是提示词——描述措辞决定选择、粒度决定 token 成本,而 search-then-fetch 模式每一次都胜过"把整份文档丢给模型"。
- 测试 MCP 服务器进程内客户端/服务器绑定胜过子进程管道;契约测试胜过在 agent 循环里"感觉测试";MCP Inspector 是调试器,不是测试。
- Streamable HTTP:MCP 的当前传输对已弃用 HTTP+SSE 传输的单端点替代方案——MCP-Session-Id、基于 Last-Event-ID 的可恢复性,以及为何"远程 MCP 服务器"其实就是"分布式系统"。
- MCP 鉴权:OAuth 2.1 配置强制 PKCE、RFC 8707 资源指示、用于 AS 发现的 Protected Resource Metadata、以及优于动态客户端注册的 Client ID Metadata Documents——OAuth 中面向 MCP 的那一子集,以及为何 39% 的生产服务器一个都不用。
- MCP 安全反模式2025-11-25 规范逐一点名禁止的六种模式——confused deputy、令牌透传、会话劫持、通过发现的 SSRF、javascript-URL 注入、启动命令执行——每一种都给出轨迹指纹与机械修法。
- 采样与征询:服务器主导的 MCP2025-11-25 规范中两个被低估的"服务器主导"特性——带工具的采样让服务器不必自持 API key 也能借用宿主的模型,URL 模式征询则可在不触发令牌透传的前提下采集第三方凭证。
- 工具毒化:经工具描述实施的提示词注入工具描述就是模型会读的提示词——当它们来自一个也接受不受信输入的下游数据源时,就变成了间接提示词注入的攻击面(CVE-2025-54136,MCPTox)。
- MCP 生产运维逐工具的 kill switch、按参数形状(而非值)记录的审计日志、从被验证的令牌 claim(而非请求体)取得的租户隔离,以及按 agent 流量规模化的限流。
- MCP 注册表与分发MCP Registry、包类型(npm/PyPI/OCI)、版本约定,以及 2026 路线图上 .well-known 能力发现将走向何处。