MCP 协议入门到实战:5 分钟搞懂 Model Context Protocol
最通俗的 MCP 教程|什么是 MCP、为什么 Claude/Cursor 都在用它、如何 3 步配置你的第一个 MCP Server。附 25 个开箱即用的 MCP 服务器推荐。
2025 年底以来,MCP 这个词几乎出现在了每一个 AI 开发者的视野中。无论你是在用 Claude Desktop 写代码,还是在 Cursor 里调试项目,亦或是在探索 AI Agent 的各种玩法——MCP 已经成为绕不开的基础设施。
那么 MCP 到底是什么?它解决了什么问题?作为开发者,我们该如何使用它,甚至自己动手构建 MCP Server?这篇文章将从原理到实践,给你一个完整的答案。
什么是 MCP(Model Context Protocol)?
MCP,全称 Model Context Protocol(模型上下文协议),是 Anthropic 于 2024 年底开源发布的一项标准协议。它的核心目标很明确:为 AI 模型与外部工具、数据源之间建立一套统一的交互标准。
在 MCP 出现之前,AI 应用与外部工具的集成是高度碎片化的。Claude 有自己的 tool calling 格式,ChatGPT 有自己的插件系统,每个 IDE 扩展也都在重新发明轮子。开发者想给 AI 接入一个新工具,往往需要针对不同平台写完全不同的适配代码。
MCP 把这个问题彻底解决了。它就像 AI 世界的 USB-C 接口——你只需要写一次 MCP Server,任何兼容 MCP 的客户端都能直接使用,不管底层跑的是 Claude、GPT 还是 Gemini。
MCP 的核心理念
MCP 的设计哲学可以用一句话概括:将 AI 模型与它所使用的工具彻底解耦。
MCP Server 负责暴露能力(工具、数据、提示词模板),MCP Client(比如 Claude Desktop)负责发现和调用这些能力。两者之间通过标准化的 JSON-RPC 协议通信,互不耦合。
MCP 与传统 API 集成方式对比
| 维度 | 传统方式 | MCP 方式 |
|---|---|---|
| 集成成本 | 每个工具、每个应用都要写适配代码 | 写一次 Server,到处使用 |
| 能力发现 | 硬编码 endpoint | 动态能力发现机制 |
| 认证与传输 | 各家各异 | 标准化(stdio、SSE、HTTP) |
| 生态效应 | 碎片化,各自为战 | 共享生态,社区驱动 |
MCP 架构详解
MCP 采用经典的客户端-服务器架构,围绕三个核心原语(Primitives)展开:
三大核心原语
1. Tools(工具)
工具是 AI 模型可以主动调用的函数。比如一个 GitHub MCP Server 可能暴露 create_issue、search_repos、create_pull_request 等工具。AI 模型根据用户意图自主决定何时调用、如何调用这些工具。
2. Resources(资源)
资源是只读的数据接口。可以理解为文件、数据库记录、或任何结构化数据。比如一个文件系统 MCP Server 会把本地文件暴露为 Resources;一个数据库 Server 会把查询结果暴露为 Resources。AI 读取这些数据来获取上下文信息。
3. Prompts(提示词模板)
Server 可以提供预定义的提示词模板,用于特定的工作流。比如「总结这个代码仓库」或「审查这个 Pull Request」。Client 可以直接调用这些模板,降低用户的使用门槛。
通信流程
以「让 Claude 创建一个 GitHub Issue」为例,整个过程如下:
用户发送请求 → MCP Client(Claude Desktop)
→ 从 GitHub MCP Server 发现可用工具
→ AI 决定调用 create_issue 工具
→ Client 通过 JSON-RPC 向 Server 发送请求
→ Server 调用 GitHub API 执行操作
→ 响应结果回传给 AI
→ AI 将结果呈现给用户
传输层方面,MCP 使用 JSON-RPC 2.0 协议,支持三种传输方式:
- stdio:本地子进程模式,桌面应用最常用
- SSE(Server-Sent Events):基于 HTTP 的远程服务器模式
- Streamable HTTP:新一代传输方式,适合生产环境部署
为什么 MCP 如此重要?
1. 一次集成,全平台可用
这是 MCP 最直接的价值。过去你给 Claude 写了一个工具集成,想在 Cursor 或 ChatGPT 里用,只能重写。现在你写一个 MCP Server,它在 Claude Desktop、VS Code Copilot、Cursor、Windsurf、JetBrains IDE 里都能直接用。开发成本从 O(M*N) 降到了 O(M+N)。
2. 爆发式增长的生态
因为 MCP 是开放标准,社区贡献的 Server 数量增长极快。截至 2026 年初,各大注册中心(mcp.so、Smithery、Glama 等)已经收录了超过 8,600 个社区 MCP Server,覆盖了数据库、云服务、开发工具、生产力工具等几乎所有品类。你可以在我们的 MCP Server 目录 中浏览和搜索。
3. 多 Server 组合使用
MCP 的另一个强大之处在于可组合性。你可以同时给一个 AI 客户端连接多个 MCP Server——在同一个对话中,Claude 可以读取本地文件、查询数据库、搜索网页、管理 GitHub 仓库,全部通过 MCP 实现。这让 AI Agent 的能力边界大大拓展。
4. 安全可控的权限模型
MCP Server 的运行需要用户明确授权。用户决定连接哪些 Server,Server 只暴露预设的能力。AI 模型每次调用工具都需要经过 Client 的审批门控(approval gate),不存在”偷偷执行”的可能。这种设计在企业环境中尤为重要。
5. 各大厂商全面拥抱
MCP 已经不是 Anthropic 一家的事了。OpenAI 在 ChatGPT Desktop 和 Agents SDK 中加入了 MCP 支持;Google 将 MCP 集成到了 Gemini 和 Agent Development Kit 中;Microsoft 在 Copilot Studio 和 Azure AI Foundry Agent Service 中支持了 MCP。三大 AI 巨头的统一采纳,基本确立了 MCP 作为事实标准的地位。
实战:用 Claude Desktop 配置 MCP
对于大多数开发者来说,最快的上手方式就是在 Claude Desktop 中配置 MCP Server。
第一步:安装 Claude Desktop
从 claude.ai/download 下载最新版本的 Claude Desktop。国内开发者需要确保网络环境正常。
第二步:找到配置文件
Claude Desktop 从一个 JSON 文件中读取 MCP Server 配置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
第三步:添加你的第一个 MCP Server
打开配置文件,添加一个文件系统 Server,让 Claude 能访问你的项目目录:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/your/project"
]
}
}
}
第四步:配置多个 Server
实际使用中,你通常会同时配置多个 Server。下面是一个包含文件系统、GitHub 和 Brave 搜索的完整配置:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/your/projects"
]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your_brave_api_key"
}
}
}
}
第五步:重启并验证
重启 Claude Desktop 后,你会在聊天输入框中看到一个锤子图标,点击它可以查看所有已发现的 MCP 工具。如果看到了你配置的 Server 提供的工具列表,说明配置成功。
手动编辑 JSON 容易出错? 试试我们的 MCP Manifest Generator(MCP 配置生成器),可视化构建你的 claude_desktop_config.json,完全不需要手写 JSON。已有配置文件也可以用 MCP Config Validator(MCP 配置校验器) 来检查格式是否正确。
常用 MCP Server 推荐
官方参考 Server
| Server | 包名 | 功能说明 |
|---|---|---|
| Filesystem | @modelcontextprotocol/server-filesystem | 读写和搜索本地文件 |
| GitHub | @modelcontextprotocol/server-github | 管理仓库、Issue、PR、代码搜索 |
| PostgreSQL | @modelcontextprotocol/server-postgres | 查询和检查 PostgreSQL 数据库 |
| Brave Search | @modelcontextprotocol/server-brave-search | 通过 Brave API 进行网页搜索 |
| Memory | @modelcontextprotocol/server-memory | 持久化知识图谱,让 AI 拥有长期记忆 |
社区热门 Server
| Server | 功能说明 |
|---|---|
| Playwright | 浏览器自动化——导航、截图、与网页交互 |
| Notion | 读写 Notion 页面和数据库 |
| Slack | 发送消息、搜索频道、管理工作区 |
| Linear | 管理 Linear 中的 Issue 和项目 |
| Sentry | 查询错误报告和性能数据 |
| Supabase | 管理 Supabase 项目、执行 SQL、处理认证 |
想看完整列表?访问我们的 MCP Server 目录,包含 GitHub Star 数、分类标签和文档链接。
自己动手构建 MCP Server
如果你的内部工具或服务还没有 MCP Server,自己动手构建一个并不复杂。官方提供了 TypeScript、Python、Java、C#、Kotlin 五种语言的 SDK。
TypeScript 快速示例
以下是一个最简单的 MCP Server 骨架代码:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "my-custom-server",
version: "1.0.0",
});
// 定义一个工具
server.tool(
"greet_user",
"向用户打招呼",
{ name: z.string().describe("用户的名字") },
async ({ name }) => ({
content: [{ type: "text", text: `你好,${name}!欢迎使用 MCP。` }],
})
);
// 启动服务器
const transport = new StdioServerTransport();
await server.connect(transport);
安装 SDK、构建 Server,然后把它添加到你的 Claude Desktop 配置中:
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["path/to/your/build/index.js"]
}
}
}
短短几十行代码,你就拥有了一个可以被任何 MCP Client 调用的 Server。
已有 OpenAPI 接口?直接转换
很多团队已经有了完善的 REST API 和 OpenAPI(Swagger)文档。这种情况下完全不需要从零开始写 MCP Server——直接用我们的 OpenAPI to MCP 转换器 就能把你的 OpenAPI 文档转换成 MCP 工具定义,大幅节省开发时间。
2026 年的 MCP 生态全景
自 2024 年 11 月发布以来,MCP 的增长速度令人瞩目:
- 8,600+ 社区 Server:覆盖数据库、云服务、开发工具、生产力工具、通信工具等几乎所有开发场景
- 三大巨头全面采纳:OpenAI、Google、Microsoft 都已在核心产品中支持 MCP
- IDE 原生支持:Cursor、Windsurf、VS Code(Copilot)、JetBrains IDE 均已内置 MCP 支持
- 远程 Server 兴起:从本地 stdio 进程模式向远程认证模式(OAuth 2.1 + Streamable HTTP)的迁移正在加速,推动 MCP 进入企业级部署阶段
- 协议持续演进:MCP 规范仍在活跃迭代中,社区正在完善认证流程、Server 发现机制和能力协商标准
MCP 的未来方向
MCP 正在从「本地工具」向「远程基础设施」演进。早期的 MCP Server 大多是本地运行的 Node.js 进程,但生态正在向可共享的远程托管模式转变。可以预见的趋势包括:
- MCP Server 市场:一键安装和部署 MCP Server
- OAuth 认证标准化:取代手动配置 API Key 的方式
- Agent 间通信:基于 MCP 原语构建 Agent-to-Agent 的协作协议
- 企业治理工具:统一管理和审批组织内可用的 MCP Server
开始你的 MCP 之旅
如果你刚刚接触 MCP,建议按照以下路径循序渐进:
- 先体验——在 Claude Desktop 中配置文件系统和 GitHub Server,亲身感受 MCP 的工作流程
- 探索生态——浏览我们的 MCP Server 目录,找到与你技术栈匹配的 Server
- 生成配置——用 MCP Manifest Generator 可视化构建配置文件,告别手写 JSON
- 校验配置——用 MCP Config Validator 检查配置文件格式,避免因格式错误导致的静默失败
- 构建自己的 Server——如果你有内部工具或 API,用 TypeScript/Python SDK 把它封装成 MCP Server;已有 OpenAPI 文档的话,直接用 OpenAPI to MCP 转换器 一键生成
MCP 正在快速成为 AI 助手与外部世界交互的基础协议层。无论你是在构建 AI 开发工具、将 AI 集成到现有工作流中,还是仅仅想让 Claude 更好地帮你干活——理解 MCP 已经不再是可选项,而是 AI 原生开发者的必备技能。
延伸阅读: