【MCP】第一章 初识 MCP
文章目录
- [【MCP】第一章 初识 MCP](#【MCP】第一章 初识 MCP)
- [一、什么是 MCP](#一、什么是 MCP)
- [二、MCP 能干什么](#二、MCP 能干什么)
- [三、MCP 原理](#三、MCP 原理)
一、什么是 MCP
MCP(Model Context Protocol,模型上下文协议),2024 年 11 月 底,由 Anthropic 推出的一种开放标准。旨在为大模型语言(LLM)提供统一的标准化方式与外部数据源和工具之间进行通信。
MCP(模型上下文协议,Model Context Protocol)是一种开源标准,用于将 AI 应用与外部系统连接起来。
通过 MCP,像 Claude 或 ChatGPT 这样的 AI 应用可以连接到数据源(例如本地文件、数据库)、工具(例如搜索引擎、计算器)以及工作流程(例如专用提示)------从而使它们能够获取关键信息并执行任务。
可以把 MCP 想象成 AI 应用的 USB-C 接口。就像 USB-C 为电子设备提供了一种标准化的连接方式一样,MCP 为 AI 应用连接外部系统提供了一种标准化的方法。

传统 AI 集成过于复杂,每个数据源构建独立连接的方式,是一个 M * N 问题。架构碎片化,难以扩展,限制了 AI 获取必要上下文信息的能力。MCP 提供统一且可靠的方式来访问所需数据,克服了以往集成方法的局限性。

MCP 作为一种标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一的方式为 AI 应用添加各种能力。
MCP 官方资源:https://github.com/modelcontextprotocol/servers
MCP热门资源:https://github.com/appcypher/awesome-mcp-servers
Glama:https://glama.ai/mcp/servers
Smithery:https://smithery.ai
Cursor:https://cursor.directory/
阿里云百炼:https://bailian.console.aliyun.com/?tab=mcp#/mcp-market
二、MCP 能干什么
1.举例
- 开发部署
通过自然语言指令 "部署新版本到测试环境",触发 MCP 链式调用 GitLab API、Jenkins API、Slack API - SQL 查询
通过自然语言输入,比如 "查询某集团部门上个季度销售额",就能查询数据库的数据,并结合大模型进行回答,不再需要编写 SQL,MCP 自动转换为精准 SQL 语句并执行。
三、MCP 原理
1.MCP 的通信机制
根据 MCP 的规范,当前支持两种通信机制(传输方式):
- stdio(标准输入输出,MCP 默认通信方式):主要用在本地服务商,操作你本地的软件或者本地的文件。比如 Blender 这种就只能用 stdio,因为他没有在线服务。
- SSE(Server-Sent Events):主要用在远程通信服务上,这个服务本身就有在线的 API,比如访问你的谷歌邮件,天气情况等。
2.stdio
优点
- 这种方式适用于客户端和服务器在同一台机器上运行的场景,简单
- stdio 模式无需外部网络依赖,通信速度快,适合快速响应的本地应用
- 可靠性高,且易于调试
缺点
- stdio 的配置比较复杂,我们需要做一些准备工作,需要提前安装对应的命令行工具
- stdio 模式为单进程通信,无法并行处理多个客户端请求,同时由于进程资源开销较大,不适合在本地运行大量服务。
3.SSE
场景
- SSE 方式适用于客户端和服务器位于不同物理位置的场景
- 适用于实时数据更新、消息推送、轻量级监控和实时日志流等场景
- 对于分布式或远程部署的场景,基于 HTTP 和 SSE 的传输方式更为合适
优点
- 客户端配置方式非常简单,只需要配置一个链接就行
4.MCP 的 C/S 架构

MCP 遵循客户端-服务器架构(client-server),其中包含以下几个核心概念:
- MCP 主机(MCP Hosts)
- MCP 客户端(MCP Clients)
- MCP 服务器(MCP Servers)
- 本地资源(Local Resources)
- 远程资源(Remote Resources)

5.MCP Host
作为运行 MCP 的主应用程序,例如 Claude Desktop、Cursor、Cline 或 AI 工具。为用户提供与 LLM 交互的接口,同时集成 MCP Client 以连接 MCP Server。

6.MCP Client
充当 LLM 和 MCP Server 之间的桥梁,嵌入在主机程序中,主要负责:
- 接收来自 LLM 的请求
- 将请求转发到相应的 MCP Server
- 将 MCP Server 的结果返回给 LLM

7.MCP Server
每个 MCP 服务器都提供了一组特定的工具,负责从本地数据或远程服务中检索信息,是 MCP 架构中的关键组件

与传统的远程 API 服务器不同,MCP 服务器既可以作为本地应用程序在用户设备上运行(Stdio),也可部署至远程服务器(SSE)。MCP Server 让 LLM 不仅能说,还能做。
MCP Server 的本质是运行在电脑上的一个 nodejs 或者 python 程序等。可以理解为客户端用命令行调用了电脑上的 nodejs 或者 python 程序等。
8.MCP 的工作流程

API 主要有两个:
- tools/list:列出 Server 支持的所有工具
- tools/call:Client 请求 Server 去执行某个工具,并将结果返回