跳到主要内容

MCP 教程

欢迎学习 MCP(Model Context Protocol)!本教程将带你从零开始掌握这一连接 AI 应用与外部系统的开放标准协议。

什么是 MCP?

MCP(Model Context Protocol) 是由 Anthropic 推出的开放标准协议,用于在 AI 应用程序和外部数据源、工具之间建立安全的双向连接。

核心价值

MCP 解决了 AI 应用集成的核心痛点:

  • 标准化接口:一次开发,处处可用
  • 安全连接:建立在安全协议之上,保护数据隐私
  • 双向通信:AI 可以读取数据,也能执行操作
  • 生态兼容:支持 Claude、ChatGPT、VS Code、Cursor 等主流平台

MCP 能做什么?

通过 MCP,AI 应用可以:

  • 访问 Google Calendar 和 Notion,成为个性化的 AI 助手
  • 根据 Figma 设计生成完整网页应用
  • 连接企业数据库,通过对话分析数据
  • 在 Blender 中创建 3D 设计,并使用 3D 打印机输出

为什么学习 MCP?

对开发者

  • 减少开发时间:无需为每个 AI 应用单独开发集成
  • 降低复杂度:标准化协议简化了集成流程
  • 生态系统:一次开发即可接入多个 AI 平台

对 AI 应用

  • 增强能力:获取外部数据和工具的能力
  • 改善体验:为用户提供更强大的功能
  • 扩展生态:轻松接入各种数据源和工具

对最终用户

  • 更强大的 AI:AI 可以访问你的数据并执行操作
  • 更好的隐私:数据访问透明可控
  • 统一的体验:跨平台一致的 AI 能力

核心概念

参与者(Participants)

MCP 采用客户端-服务器架构,主要参与者包括:

角色说明示例
MCP HostAI 应用程序,协调管理多个客户端Claude Desktop、VS Code、Cursor
MCP Client维护与 MCP Server 的连接每个 Server 对应一个 Client 实例
MCP Server提供上下文数据的程序文件系统服务器、数据库服务器

[!NOTE] 关于语言选择:Node.js (TypeScript/JavaScript) 和 Python 都是 MCP 官方支持的一等公民语言。无论你是要开发服务器还是客户端,都可以根据需求自由选择其中之一,它们在协议功能上是完全对等的。

核心原语(Primitives)

MCP 定义了三种核心原语,用于在服务器和客户端之间共享上下文:

原语说明用途
Tools(工具)可执行的函数执行操作,如文件操作、API 调用、数据库查询
Resources(资源)数据源提供上下文信息,如文件内容、数据库记录、API 响应
Prompts(提示)可重用模板结构化交互,如系统提示、Few-shot 示例

传输层(Transport)

MCP 支持两种传输机制:

传输方式说明适用场景
Stdio标准输入/输出流本地进程通信,性能最优
Streamable HTTPHTTP POST + SSE远程服务器通信,支持认证

架构层次

MCP 由两个层次组成:

数据层(Data Layer)

基于 JSON-RPC 2.0 的协议层,包括:

  • 生命周期管理:连接初始化、能力协商、连接终止
  • 服务器特性:Tools、Resources、Prompts
  • 客户端特性:Sampling、Elicitation、Logging
  • 实用功能:通知、进度跟踪

传输层(Transport Layer)

管理通信通道和认证:

  • 连接建立:初始化连接
  • 消息帧:消息格式化
  • 安全通信:认证和授权

广泛的生态支持

MCP 是一个开放协议,得到广泛支持:

官方 SDK

  • Node.js/TypeScript SDK: @modelcontextprotocol/sdk
  • Python SDK: mcp

AI 助手 (Hosts/Clients)

  • Claude (Anthropic)
  • ChatGPT (OpenAI)
  • Visual Studio Code
  • Cursor
  • Windsurf

官方 & 社区服务器

  • Filesystem (文件系统)
  • PostgreSQL (数据库)
  • GitHub (代码仓库)
  • Slack (团队协作)
  • Google Drive (云存储)
  • Puppeteer (浏览器自动化)

教程目录

基础概念

实践开发

参考资源

学习建议

  1. 理解概念:先掌握 MCP 的核心概念和架构
  2. 动手实践:按照教程创建自己的 MCP Server
  3. 阅读规范:参考官方规范深入理解细节
  4. 参与社区:加入 MCP 社区,分享经验

环境准备

MCP 支持多种编程语言开发,目前最成熟的是 Node.js 和 Python。

1. Node.js 环境 (JavaScript/TypeScript)

MCP SDK 需要 Node.js 18 或更高版本:

# 检查 Node.js 版本
node --version # 建议 v18 或更高

# 建议安装 MCP Inspector 用于调试
npm install -g @modelcontextprotocol/inspector

2. Python 环境

MCP SDK 兼容 Python 3.10 或更高版本:

# 检查 Python 版本
python --version # 建议 v3.10 或更高

# 建议使用虚拟环境
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install mcp

3. Claude Desktop (最佳实验宿主)

Claude Desktop 是体验和测试 MCP 的最佳方式:

  1. 访问 Claude Desktop 下载页面
  2. 下载并安装对应平台的版本
  3. 确保使用最新版本

参考资源

准备好开始学习了吗?点击下一章深入了解 MCP 架构!