🧩MCP
约 2536 字大约 8 分钟
MCPClaudeAI Tools
2025-04-17
MCP(模型上下文协议)是 AI 应用程序和代理连接并使用数据源(例如本地文件、数据库或内容存储库)和工具(例如 GitHub、Google Maps 或 Puppeteer)的标准方式。 可以将 MCP 视为 AI 应用的通用适配器,类似于 USB-C 之于物理设备。
USB-C 充当通用适配器,将设备连接到各种外设和配件。同样,MCP 提供了一种标准化的方式,将 AI 应用连接到不同的数据和工具。 在 USB-C 出现之前,不同的连接需要不同的线缆。同样,在 MCP 出现之前,开发人员必须为每个 AI 应用程序所需的数据源或工具构建自定义连接——这是一个耗时的过程,而且常常导致功能受限。
现在,有了 MCP,开发人员可以轻松地为他们的 AI 应用程序添加连接,从而让他们的应用程序从一开始就更加强大。
基础概念速览
LLM(大语言模型):理解并生成自然语言的基础模型,是智能体的推理核心。Prompt(提示词):给模型的任务指令,影响模型的理解方式和输出质量。Context(上下文):当前任务相关信息集合,决定回答是否连贯和准确。Function Calling:让模型按结构化参数调用外部工具,而不只输出文本。MCP(模型上下文协议):统一模型与数据源/工具连接方式的协议层。Agent(智能体):以 LLM 为核心,具备规划、调用工具和执行任务能力的系统。Workflow(工作流):把复杂任务拆解并按步骤执行的流程编排。Skill(技能):可复用的能力单元,通常包含工具使用规则和执行模板。Memory(记忆):保存历史信息与偏好,支持跨对话持续协作。RAG(检索增强生成):先检索外部知识,再结合模型生成答案。Search(搜索):从网页、数据库或知识库获取任务所需信息。LangChain:用于构建 Agent、链路和工具编排的开发框架。SubAgent(子智能体):在主智能体下负责特定子任务的执行单元。
MCP 协议
MCP(Model Context Protocol,模型上下文协议)是一种开放协议,旨在实现大型语言模型(LLM) 应用与外部数据源、工具和服务之间的无缝集成,类似于网络中的 HTTP 协议或邮件中的 SMTP 协议。
MCP 协议通过标准化模型与外部资源的交互方式,提升 LLM 应用的功能性、灵活性和可扩展性。


MCP 的核心概念
MCP 的核心是模型上下文,即 LLM 在运行过程中所需的所有外部信息和工具。
MCP 通过定义标准化的接口和协议,使 LLM 能够动态访问和集成以下内容:
- 外部数据源:如数据库、API、文档库等,为 LLM 提供实时或历史数据。
- 工具和服务:如计算工具、搜索引擎、第三方服务等,扩展 LLM 的功能。
- 上下文管理:动态维护 LLM 的对话上下文,确保连贯性和一致性。
MCP 的架构
MCP 的架构由四个关键部分组成:
- 主机(Host):主机是期望从服务器获取数据的人工智能应用,例如一个集成开发环境(IDE)、聊天机器人等。主机负责初始化和管理客户端、处理用户授权、管理上下文聚合等。
- 客户端(Client):客户端是主机与服务器之间的桥梁。它与服务器保持一对一的连接,负责消息路由、能力管理、协议协商和订阅管理等。客户端确保主机和服务器之间的通信清晰、安全且高效。
- 服务器(Server):服务器是提供外部数据和工具的组件。它通过工具、资源和提示模板为大型语言模型提供额外的上下文和功能。例如,一个服务器可以提供与 Gmail、Slack 等外部服务的 API 调用。
- 基础协议(Base Protocol):基础协议定义了主机、客户端和服务器之间如何通信。它包括消息格式、生命周期管理和传输机制等。
MCP 就像 USB-C 一样,可以让不同设备能够通过相同的接口连接在一起。

MCP 的工作原理
MCP 通过定义标准化的数据格式和通信协议,实现 LLM 与外部资源的交互。
MCP 使用 JSON-RPC 2.0 作为消息格式,通过标准的请求、响应和通知消息进行通信。
MCP 支持多种传输机制,包括本地的标准输入/输出(Stdio)和基于 HTTP 的服务器发送事件(SSE)。
MCP 的生命周期包括初始化、运行和关闭三个阶段,确保连接的建立、通信和终止都符合协议规范。
传统的 AI 调用外部工具的方式

目前的通用处理策略使通过Function Call(Tool方法)方法实现对于特定API的访问,这里以调取某地区的天气状况的API为例:

MCP Function Calling

MCP 为何重要?
- 对于 AI 应用程序用户 MCP 意味着您的 AI 应用程序可以访问您每天使用的信息和工具,从而提供更强大的帮助。AI 不再局限于其已知的知识,现在它可以理解您的特定文档、数据和工作环境。
例如,通过使用 MCP 服务器,应用程序可以从 Google Drive 访问您的个人文档或从 GitHub 访问有关您的代码库的数据,从而提供更加个性化和上下文相关的帮助。
想象一下询问人工智能助手:
“总结上周的团队会议记录并安排与每个人的后续会议。”
通过使用由 MCP 提供支持的数据源连接,AI 助手可以:
通过 MCP 服务器连接到您的 Google Drive 来阅读会议记录
根据笔记了解谁需要跟进 通过另一个 MCP 服务器连接到您的日历以自动安排会议
- 对于开发人员 在构建需要访问各种数据源的 AI 应用程序时,MCP 可以缩短开发时间并降低开发复杂性。借助 MCP,开发者可以专注于构建卓越的 AI 体验,而无需重复创建自定义连接器。
传统上,将应用程序与数据源连接起来需要为每个数据源和每个应用程序构建自定义的一次性连接。这造成了大量重复工作——每个想要将其 AI 应用程序连接到 Google Drive 或 Slack 的开发人员都需要自行构建连接。
MCP 简化了这一过程,它允许开发者为数据源构建 MCP 服务器,并让各种应用程序可以重复使用。
例如,使用开源的 Google Drive MCP 服务器,许多不同的应用程序都可以访问 Google Drive 中的数据,而无需每个开发者都构建自定义连接。
这种 MCP 服务器的开源生态系统意味着开发人员可以利用现有工作,而不是从头开始,从而更容易构建强大的 AI 应用程序,并与用户已经依赖的工具和数据源无缝集成。
开源资源推荐
以下项目适合快速了解生态和落地方式:
Anthropic 官方维护的 MCP 服务器合集
微软出品的 MCP 入门教程
将 FastAPI 应用快速转换为 MCP 服务器
社区维护的 MCP 服务器列表
常用 MCP 服务器
前置准备
Claude 安装配置详见 Claude Code 教程。
云平台集成
Vercel:项目部署、日志查看、环境变量管理。
claude mcp add --transport http vercel https://mcp.vercel.com浏览器自动化
Playwright:多内核浏览器自动化。
claude mcp add --transport stdio playwright npx @executeautomation/playwright-mcp-serverChrome DevTools:基于 CDP 的调试与性能分析。
claude mcp add chrome-devtools npx chrome-devtools-mcp@latestPuppeteer:轻量 Headless Chrome 控制。
claude mcp add puppeteer npx @anthropic/mcp-server-puppeteer文件与数据管理
FileSystem:访问本地文件系统(需指定目录)。
claude mcp add filesystem npx @anthropic/mcp-server-filesystem /path/to/directoryPostgreSQL:连接数据库执行查询与分析。
claude mcp add postgres npx @anthropic/mcp-server-postgres postgresql://localhost/mydbMemory:持久化记忆能力。
claude mcp add memory npx @anthropic/mcp-server-memory搜索与网络
Brave Search:网络搜索能力。
需要 API Key
使用前需设置环境变量 BRAVE_API_KEY,可在 Brave Search API 申请。
claude mcp add brave-search npx @anthropic/mcp-server-brave-searchFetch:通用 HTTP 抓取并转 Markdown。
claude mcp add fetch npx @anthropic/mcp-server-fetchGoogle Maps:地理编码、路线规划、地点搜索。
claude mcp add google-maps npx @anthropic/mcp-server-google-maps开发者工具
GitHub:仓库、Issue、PR、代码搜索。
需要 Token
使用前需设置环境变量 GITHUB_PERSONAL_ACCESS_TOKEN。
claude mcp add --transport http github https://api.githubcopilot.com/mcp -H "Authorization: Bearer YOUR_GITHUB_PAT"Docker:镜像与容器管理。
claude mcp add docker npx @modelcontextprotocol/server-docker卸载 MCP 服务器
# 查看已安装的 MCP 服务器
claude mcp list
# 卸载指定服务器
claude mcp remove <name>示例:
claude mcp remove github小结
MCP 解决的是连接标准化问题。先掌握协议模型,再按场景组合服务器,能最快构建可用的 AI Agent 工作流。
更多资源
- 官方文档:MCP Specification
- SDK:TypeScript SDK | Python SDK
