Context Protocol Blueprint / 上下文协议蓝图

AI / MCP.

“MCP 解决的是工具接入的标准化问题:让大模型以可审计、可授权、可隔离的方式访问文件、数据库和外部服务。”

相关专题

MCP Server 上线安全清单

MCP 的风险不在协议名,而在工具权限被模型间接放大。任何能读取文件、查询数据库或触发外部 API 的 Server,都必须先通过安全边界检查。

01

限制 allowedRoots,只暴露业务需要的目录,不把宿主机文件系统交给模型。

02

数据库 Server 使用只读账号或最小权限账号,写操作必须单独设计审批和审计。

03

远程 MCP Server 必须有认证与访问控制,不允许裸露在公网。

04

记录 Tool Call 的输入、输出、耗时、调用人和失败原因,方便安全审计。

05

对不同用户、团队和租户做权限隔离,避免模型跨边界读取资源。

06

对长结果、敏感字段和外部 API 返回值做截断、脱敏和速率限制。

MCP vs Function Calling

Function Calling 更适合单应用内部函数;MCP 更适合跨客户端、跨工具、跨资源的标准化接入和治理。

本地 stdio vs 远程 HTTP

stdio 适合本地开发和桌面客户端;Streamable HTTP 适合远程服务、团队协作和云端资源接入,但必须配合认证。

MCP vs API Gateway

API Gateway 管理服务流量,MCP 管理模型如何理解、发现和调用工具。二者可以组合,不是替代关系。

从本地工具到远程服务

基于 stdio 的本地连接是 MCP 的默认通信信道。但在真实的协作或部署场景中,大模型客户端需要通过网络访问云端资源。

这就是为什么我们需要引入 Streamable HTTP 远程传输层,并在服务暴露给公网时配置 OAuth 认证,确保工具的安全访问控制。

MCP 核心三要素

Tools

大模型可以执行的客户端函数

Resources

静态或动态的上下文数据源

Prompts

标准化的预设交互模板

⚡ 推荐起点

MCP 常见问题

MCP 的核心不是“让模型能调用更多东西”,而是让工具访问进入可治理、可审计、可隔离的工程边界。

MCP 是什么?

MCP 是 Model Context Protocol,用来规范模型客户端和外部工具、资源、提示模板之间的连接方式。它的价值不只是调用工具,而是让工具发现、权限、输入输出和审计更标准化。

MCP 和 Function Calling 有什么区别?

Function Calling 通常绑定在一个模型或应用内部,适合少量函数;MCP 更像面向模型的工具协议层,适合多个客户端共享 Server、接入文件系统、数据库和远程服务。

远程 MCP Server 为什么需要 OAuth 或认证?

远程 Server 一旦暴露到网络,就不再是本地受控环境。如果没有认证,任何能访问地址的人都可能触发工具调用、读取资源或消耗服务额度。

allowedRoots 是什么?

allowedRoots 是文件系统类 MCP Server 的访问边界,用来限制模型只能读取或操作指定目录。它不是装饰项,而是防止越权访问本地文件的核心保护。

MCP Server 如何避免越权访问?

需要同时做路径限制、账号最小权限、用户身份映射、Tool Call 审计、敏感输出脱敏和高风险工具隔离。只靠提示词声明“不要访问敏感文件”没有安全意义。

MCP JSON-RPC parse error 怎么排查?

优先检查 stdio 是否被日志污染、响应是否符合 JSON-RPC 结构、Content-Type 是否正确、工具返回值是否被截断,以及客户端和 Server 的协议版本是否匹配。

系统内容分类清单 / CATEGORIZED_ARTICLES

1. 核心入门:什么是 MCP 协议 (Introduction)

2. 本地实战:构建与集成本地 Server (Local Servers)

3. 远程部署:搭建与扩展远程服务 (Remote Servers)

4. 安全治理:审计、权限与隔离沙箱 (Security & Audits)

5. 故障排查:常见报错与协议调试 (Troubleshooting)

6. 对比选型:探索接口标准边界 (Comparisons)

更多实战记录 / MORE LOGS