跳转至

MCP介绍

1. 什么是 MCP

MCP(Model Context Protocol,模型上下文协议)是 Anthropic 在 2024 年 11 月推出的开源协议,目的是为大语言模型(LLM)连接外部数据源和工具提供统一标准

可以把 MCP 类比为 "USB-C 之于设备"

  • 以前每个 LLM 应用要对接 GitHub、Slack、数据库...都得各写一套
  • MCP 之后,只要工具或数据源实现了 MCP 服务器,任何支持 MCP 的客户端(Claude Desktop、Cursor、各种 AI Agent 框架)都能即插即用

2. MCP 解决了什么问题

在 MCP 出现之前,如果你想让 Claude 帮你查 GitHub PR、读取本地文件、查询数据库,每个集成都要:

  • 写一份特定工具调用代码
  • 在 prompt 中手动注入上下文
  • 处理认证、错误、限流等通用问题

每个 LLM 客户端、每个工具提供方都在重复造轮子。MCP 把这些通用问题抽象成协议,让生态可以无缝拼接:

[Claude Desktop / Cursor / 自研 Agent]   ← MCP Client
                ↕   (MCP 协议)
[GitHub MCP / 数据库 MCP / 文件系统 MCP]   ← MCP Server

3. MCP 的核心价值

维度 说明
统一标准 一个协议对接所有 LLM 应用,避免重复开发
开放生态 协议开源,任何人都能写 Server 和 Client
能力丰富 不只是 Tool(函数调用),还有 Resource(数据)、Prompt(模板)
可组合 一个客户端可以同时连多个 MCP Server
本地优先 默认运行在用户本地,敏感数据不出设备

4. MCP 与 Function Calling 的关系

很多人会问:"Function Calling(函数调用)已经能让 LLM 调用工具,为什么还需要 MCP?"

维度 Function Calling MCP
层级 模型能力 应用层协议
作用域 单次 API 调用 跨进程、跨应用
扩展方式 调用方写代码 第三方写 Server
能力 仅工具调用 工具 + 资源 + 提示词
生态 各模型独立 统一标准

简单理解: Function Calling 是"模型调函数的能力",MCP 是"应用之间共享 AI 能力的协议"。MCP 内部很多场景是用 Function Calling 实现的,但封装在标准协议里。

5. MCP 与 LangChain 的关系

LangChain 是 LLM 应用开发框架,定义了 Tool、Agent 等概念。MCP 是协议,定义了应用之间如何通信

它们是互补关系

  • 你可以用 LangChain 写一个 Agent,通过 MCP 连接外部工具
  • 也可以把 LangChain 中定义的 Tool 暴露成 MCP Server

实际上 LangChain 已经有官方的 langchain-mcp-adapters 集成包。

6. MCP 已有的生态

截至 2026 年,MCP 已经有数百个开源 Server 实现,涵盖:

类别 示例 Server
代码托管 GitHub、GitLab、Bitbucket
协作工具 Slack、Linear、Notion、Jira
数据库 PostgreSQL、MySQL、SQLite、MongoDB
云服务 AWS、Cloudflare、Stripe
本地工具 文件系统、Shell、Git、浏览器
搜索 Brave Search、Tavily、Google Drive
设计 Figma、Sketch

完整列表见 github.com/modelcontextprotocol/servers

7. MCP 已有的客户端

支持 MCP 的客户端越来越多:

  • Claude Desktop(官方,最早支持)
  • Claude Code(命令行 AI 编程工具)
  • CursorWindsurfCline(AI 代码编辑器)
  • Zed Editor
  • OpenAI Agents SDK
  • 各种自研 Agent

8. MCP 的三大原语

MCP 把 Server 提供的能力归为三类:

原语 类比 控制方 用途
Tools(工具) 函数 / API 模型自主调用 执行操作(查询、写入、计算)
Resources(资源) 文件 / URL 客户端选择 提供只读数据作为上下文
Prompts(提示词) 命令模板 用户触发 预制的高质量提示

后面的章节会逐个深入讲解。

9. 一个简单的概念示例

假设你有一个本地 SQLite 数据库,希望让 Claude 帮你查数据。流程是:

  1. 启动一个 SQLite MCP Server(已有现成的)
  2. 在 Claude Desktop 配置文件中注册这个 Server
  3. 重启 Claude Desktop
  4. 直接在对话中说 "帮我查一下用户表中年龄大于 30 的人"
  5. Claude 自动通过 MCP 调用 Server 的 SQL 工具,把结果作为上下文回答你

整个过程不需要你写任何 LLM 代码,配置一下就可以用。

10. 学习路径

本系列教程会带你从零掌握 MCP:

  1. 本文:MCP 介绍 (了解全貌)
  2. 核心概念与架构 (理解协议设计)
  3. 快速入门:第一个 MCP Server (动手)
  4. 构建 Tools (让模型能执行操作)
  5. 构建 Resources (提供上下文数据)
  6. 构建 Prompts (预制提示词模板)
  7. 传输协议(stdio / SSE / HTTP) (Server 怎么和 Client 通信)
  8. 在 Claude Desktop 中使用 (完整接入流程)
  9. 实战:构建一个完整的 MCP Server (综合应用)

总结

  • MCP 是 Anthropic 开源的协议,统一了 LLM 应用与外部工具/数据的对接方式
  • 类比 USB-C:一个协议,对接所有设备
  • 三大原语:Tools(工具)、Resources(资源)、Prompts(提示词)
  • 已有数百个开源 Server 和多种客户端支持
  • 与 Function Calling、LangChain 是互补关系,不是替代

评论