
MCP:AI 大模型的标准化工具箱
第一章:MCP 概述
1.1 什么是 MCP?
MCP (Model Context Protocol) ,全称为模型上下文协议 ,是近期人工智能领域的热点,特别是在海外社区获得了热烈讨论。它由 Anthropic(Claude 的母公司)于 2024 年底开源发布。简单来说,MCP 就是 AI 大模型的标准化工具箱。
在传统的工作学习方式中,我们经常需要手动截图或复制文本,然后粘贴到 AI 窗口中进行对话,以便大模型获取信息并完成任务。MCP 的出现,通过标准化的协议,将这一过程自动化。MCP 服务(或称 MCP Server)作为 AI 与外部工具的中间层,替代人类访问并操作外部工具。
1.2 MCP 的核心优势
MCP 的最大优点在于它整合了之前各家大模型不同 Function Call 的标准,整合成了一个统一的标准化协议。这意味着它具有极强的通用性,市面上几乎所有的大模型都可以接入 MCP。无论模型是否原生支持 Function Call,只要能理解系统提示词(System Prompt),就能使用 MCP。
1.3 MCP 的技术原理
每个 MCP Server 通常专注于一类工作,例如有的负责读写浏览器,有的负责读写本地文件,有的操作 Git 仓库等。MCP Server 本质上是运行在本地的一段 Node.js 或 Python 程序。
大模型与 MCP Server 之间的交互主要通过以下几种协议:
- STDIO (标准输入输出通道) :这是最常见的方式,AI 客户端将 MCP Server 作为本地程序运行,并通过操作系统的标准输入输出通道进行通信。AI 客户端与 MCP Server 的距离更近,通常用于本地部署和调用。
- SSE (Server-Sent Events) 协议:这种方式允许将 MCP Server 部署到云端服务器上,AI 客户端通过网络(URL)进行远程调用。这使得 MCP Server 可以被多人共享,无需本地部署。
- Streamable HTTP:与 SSE 类似,也是一种远程调用协议,功能上与 SSE 非常相似。
AI 大模型如何知道工具箱中有哪些工具以及如何调用呢? AI 客户端(例如 Clan 或 Cherry Studio)在与大模型交互时,会将 MCP Server 的详细使用方法(包括有哪些工具、如何调用、参数格式等)直接写入系统提示词 (System Prompt) 中,并发送给大模型。大模型理解这些提示词后,就能决定使用哪个 MCP 工具以及如何传递参数。客户端再根据大模型的指令调用对应的 MCP Server。当 MCP Server 执行任务并返回结果后,客户端会将其与用户原始提问、上下文等再次传递给大模型,最终由大模型进行整理并呈现给用户。
这种机制解释了 MCP 的通用性,因为它不依赖大模型具备额外的 Function Call 能力,只要能理解提示词即可。
1.4 MCP 与 Function Call 的关系
MCP 协议与 Function Call 非常相似,但它们是相互独立的,没有依赖关系。Function Call 是大模型自身直接调用外部工具的能力,而 MCP 则是一个统一的协议标准,它将工具的能力通过系统提示词的方式"告知"给大模型,让大模型在决策时能够"看到"并"理解"这些工具。即使像 DeepSeek 这样不直接支持 Function Call 的模型,也能通过 MCP 协议成功调用工具,这进一步验证了 MCP 的独立性和广泛兼容性。
第二章:MCP 客户端配置与使用
要使用 MCP 功能,首先需要一个支持 MCP 协议的 AI 客户端。目前主要的客户端包括 AI 编程工具 Cursor 、Clan 和 Cherry Studio。这些客户端都支持 MCP 的配置和调用,并且配置方式具有一定的通用性。
2.1 Clan 客户端配置
Clan 是一款开源免费的 AI 客户端,通常运行在 VS Code 中。
-
安装 VS Code 和 Clan 插件:在 VS Code 中搜索并安装 "CLAN" 插件。
-
配置 AI 模型:在 Clan 设置中选择模型提供商(例如 OpenRouter),并获取 API Key。
-
安装 Node.js:MCP Server 本质是 Node.js 或 Python 程序,所以 Node.js 运行环境必不可少。
-
安装 MCP Server:
- Clan 提供了一个 MCP Server 应用市场,可以根据 Star 数量排序查找流行的 Server。
- 点击安装后,AI 会引导完成安装,例如 GitHub Server 会要求填写 GitHub Token。
- Windows 系统额外配置 :对于 Windows 用户,需要修改配置,将
npx
放到arguments
中,并将原来的npx
改为cmd
,再添加一行/c
。 - 通用配置方法:MCP Server 的配置关键在于 JSON 格式的配置文件。可以直接编辑 Clan 的 MCP Server 配置 JSON 文件,将其他客户端或 GitHub 页面上的配置直接复制粘贴过来。Clan 通常使用系统提示词来对接 AI,因此对模型没有严格要求。
2.2 Cursor 客户端配置
Cursor 是一款 AI 编程工具,也支持 MCP 功能。
- 更新 Cursor:确保 Cursor 升级到 0.47 或更新版本,以支持 MCP。
- 创建 MCP 配置文件 :在项目根目录创建
.cursor
文件夹,并在其中创建mcp.json
文件。 - 复制配置 :可以将 Clan 或其他地方的 MCP Server 配置(JSON 格式)直接复制到
mcp.json
文件中。 - Windows 系统额外配置 :与 Clan 类似,Windows 用户需要将
npx
放到arguments
中,并将原来的npx
改为cmd
,再添加一行/c
。 - 启用 MCP Server :在 Cursor 设置中找到 MCP 选项,将其状态切换为
Enabled
并点亮绿灯。 - 自动运行模式 :可以在设置中开启
Enable auto run mode
,让 AI 自动使用 MCP 工具,无需每次授权。 - Agent 模式 :在 Cursor 中,必须切换到
Agent
模式才能使用 MCP 功能。
2.3 Cherry Studio 客户端配置
Cherry Studio 也是一款开源免费的 AI 客户端。
-
安装 Cherry Studio:下载并安装 Cherry Studio。
-
配置 AI 模型 :在 Cherry Studio 设置中选择模型服务商(例如 OpenRouter),需要选择支持 Function Call 的模型(如 Claude 3.5 Sonnet),因为 Cherry Studio 利用模型的 Function Call 功能对接 MCP 协议。如果不想使用付费模型,可以选择 DeepSeek V3,其升级后的效果也非常好。
-
安装 UV 和 BN :Cherry Studio 内部依赖 UV (Python 运行环境管理工具)和 BN(类似 Node.js 的运行环境)。如果右上方显示红色叹号,需要点击安装。
- 手动安装 BN 和 UV :有时自动安装可能失败,需要手动下载 BN 和 UV 的可执行文件,并将其放置到 Cherry Studio 对应的目录 (
C:\Users\用户名.cherryStudio\bin
) 下。
- 手动安装 BN 和 UV :有时自动安装可能失败,需要手动下载 BN 和 UV 的可执行文件,并将其放置到 Cherry Studio 对应的目录 (
-
配置 MCP Server:
- 点击 "编辑 JSON" 直接编辑配置文件。
- 将 GitHub 页面上提供的 MCP Server 配置(JSON 格式)粘贴进来。
- 注意,Cherry Studio 使用的是其内置的 UV 版本,而 Clan 可能使用操作系统级别的 UV,因此在不同客户端间粘贴配置时可能需要注意
uvx
或npx
的路径和命令差异,或为特定客户端单独安装其依赖的运行时。 - 配置完成后,启动对应的 MCP 服务。
2.4 配置通用性总结
无论是 Clan、Cursor 还是 Cherry Studio,MCP 的配置关键都在于JSON 格式的配置文件 。这个配置文件在各个客户端是通用的,只要根据各自客户端的特定要求(如 Windows 系统的路径斜杠、npx
到 cmd
的转换、内置环境与系统环境的区分等)进行微调即可。这大大简化了 MCP Server 的管理和使用。
第三章:常用 MCP Server 实践
Smithy.ai 等平台已经收录了将近 3000 种 MCP 工具。本章将介绍一些实用且热门的 MCP Server,展示其强大功能。
3.1 GitHub MCP Server (版本控制)
功能 :为开发人员提供高级自动化和与 GitHub 仓库的交互功能,包括创建仓库、搜索仓库、创建文件、获取文件内容、推送文件等,几乎涵盖了与 GitHub 互动的所有操作。 配置 :需要生成 GitHub 个人访问令牌(Token),并为其授予仓库创建、代码编写、查看仓库内容等权限,然后将 Token 配置到 MCP Server 中。 示例:
- 查询用户在 GitHub 上的仓库。
- 创建新的 GitHub 仓库。
- 组合应用:可以结合其他 MCP 工具,例如查询天气数据,然后将天气信息写入 TXT 文件并推送到 GitHub 仓库中。
3.2 File System MCP Server (本地文件操作)
功能 :允许 AI 操作本地文件系统,实现文件和文件夹的读写权限。 配置 :在配置文件中指定 AI 可操作的本地目录路径。Windows 系统需要注意使用双反斜杠来表示路径。 示例:
- 查询指定文件夹的内容。
- 分析文件内容,例如推测文件夹作者等。
3.3 Time MCP Server (时间转换)
功能 :提供获取当前时间、进行时间转换等与时间相关的服务。 配置 :通常需要确保系统安装了 Python 运行环境,并使用 pip
命令安装对应的 Python 包。配置时可添加本地时区参数。 示例:
- 查询当前时间。
- 进行跨时区时间转换,例如查询纽约下午 4 点时伦敦是几点。
3.4 Browser2 MCP Server (浏览器内容读取)
功能 :让 AI 直接读取浏览器中的内容,包括网络面板数据、页面元素信息等,极大地提高前端开发和网页分析效率。 配置:
- 安装 Chrome 插件:首先需要安装配套的 Chrome 浏览器插件。
- 启动 Server :通过命令(如
npx
)启动 Browser2 MCP Server。 - 客户端配置 :在 AI 客户端中配置 Browser2 MCP Server。 示例:
- 分析浏览器网络面板内容,识别访问的网页和请求信息。
- 解释网页上选中的部分(如 DIV 元素),分析其包含的图片、标题、链接等信息。
3.5 Search MCP Server (联网搜索)
功能 :赋予 AI 大模型联网搜索的能力,获取实时的网络信息。 配置 :一些搜索 MCP Server 可能需要申请 API Key,但也有一些简单易用的免费选项。 示例:
- 搜索特定主题的信息,例如"小龙虾怎么养殖"。
- 组合应用:可以将搜索结果发送到 Slack 等通讯平台。
3.6 Knowledge Graph/Memory MCP Server (知识库与记忆体)
功能 :帮助大模型管理和检索知识,实现记忆功能,例如存储实体、关系和定义等,以便在后续对话中进行检索。 配置 :通常需要通过系统提示词告诉 AI 这是一个知识库助手,并定义其结构。数据默认保存在 JSON 格式的配置文件中。 示例:
- 存储和检索人物信息,如"张三 19 岁了,会说德语",然后查询"张三会说什么语言"。
3.7 Command Line/Desktop Commander (命令行执行)
功能 :赋予大模型在本地电脑上执行命令的权限,例如创建文件、检查操作系统等。 配置 :将对应的 MCP Server 配置到客户端。 示例:
- 在桌面创建文件并在其中写入内容。
3.8 Sequential Thinking (推理模型转换)
功能 :将一个普通的 AI 大模型转换为推理模型,帮助大模型将问题进行拆解,并通过多步思考得出更准确的答案。 配置 :配置并启用该 MCP Server 即可。 示例:
- 解决需要多步推理的问题,例如"strawberry 有几个 r",开启后 AI 会一步步思考并得出正确答案。
3.9 Cloudflare MCP Server (云平台交互)
功能 :操作 Cloudflare 平台上的 KV 存储、R2 数据桶、D1 数据库等服务。 配置 :需要通过 npx
命令进行初始化,登录 Cloudflare 并授权,自动生成 MCP 配置文件。 示例:
- 查询 Cloudflare Worker 列表及其详细信息。
3.10 PostgreSQL MCP Server (数据库交互)
功能 :连接 PostgreSQL 数据库,并提供只读的数据库操作能力(出于安全性考量,通常只读)。 配置 :将数据库连接信息(地址、用户名、密码、端口、数据库名称)配置到 MCP Server 中。 示例:
- 查询数据库中的 Schema。
- 查询特定 Schema 下的表。
- 查询表中数据,例如查询"tag 表里有什么数据"。
- 结合提示词:可以告知 AI 表结构信息,使其更好地根据用户输入生成 SQL 语句进行复杂查询,例如"查询所有选择了语文课的学生"。
3.11 Git MCP Server (本地 Git 仓库操作)
功能 :赋予大模型本地读写 Git 仓库的能力,例如查看最新提交、创建分支、暂存和提交更改等。 配置 :需要配置本地 Git 仓库的地址。 示例:
- 查询 Git 仓库的最新提交。
- 创建新的 Git 分支。
- 提交文件更改到当前分支。
3.12 YouTube MCP Server (视频总结)
功能 :帮助用户获取 YouTube 视频字幕并进行总结。 配置 :依赖于 yt-dlp
等工具,需要将其配置到 MCP Server 中。 示例:
- 总结指定的 YouTube 视频内容,例如视频的主题、主要内容等。
3.13 Baidu Map MCP Server (高德地图/地理位置服务)
功能 :提供地理信息查询、IP 定位、天气查询、路径规划、距离测量等与地图相关的服务。 配置 :需要申请百度地图 API Key,并将其配置到 MCP Server 中。 示例:
- 将地理位置转换为经纬度坐标。
- 规划公共交通路线,并能根据用户需求(如"主要坐地铁")调整方案。
- 查询附近美食或兴趣点。
- 智能规划行程:可以结合赏花、用餐、交通方式等需求,让 AI 智能规划一天的行程。
3.14 Slack MCP Server (即时通讯)
功能 :让 AI 大模型能够调用 Slack 发送机器人通知,实现与团队成员的自动化沟通。 配置 :需要在 Slack 中创建应用和机器人,并获取 Bot Token 和 App ID,授予必要的权限,然后将其配置到 MCP Server 中。 示例:
- 让 AI 在 Slack 频道中发送特定消息。
- 组合应用:结合地图 MCP Server,查询公共交通路线后,将路线信息发送到 Slack 频道。
3.15 Browserless (浏览器自动化)
Browserless 是一个独立的开源项目,它允许 AI 大模型自动操作浏览器,实现商品搜索、下单支付、深度研究(Deep Research)生成报告等复杂任务。虽然它不直接是 Smithy.ai 市场中的一个 MCP Server,但其原理和功能与 MCP 理念高度契合,是实现 AI 与外部世界交互的强大工具。
核心原理:
- DOM 解析与元素标注:Browserless 会将网站上的按钮和元素拆解成一种更易于 AI 理解的文本格式,并通过彩色标注视觉化,帮助 AI 搞清网页上有哪些选项,并自主做出决策。
- 视觉识别辅助:它也使用模型的视觉识别功能作为辅助,但并非必需,即使不具备视觉功能的模型也能完成任务。
- 任务拆解:Browserless 将一个大的任务拆分成多个步骤,每个步骤开始前,AI 会评估上一步结果,然后思考下一步要做什么,并将其拆分成具体的动作(如输入、点击)。
- 浏览器环境:Browserless 可以启动一个全新的浏览器实例,也可以通过修改配置文件使用用户电脑上的浏览器(需要先关闭浏览器),或者导入 Cookie 实现免登录操作,扩展了功能。
高级功能:深度研究 (Deep Research) 深度研究功能会进行多次深度查找,每次查找结果整理成 Markdown 文件,最终将多次结果整合,形成一份完整的报告。 示例:
- 规划日本七日游行程,包括详细路线、预算明细和旅游小贴士。
- 深度分析特斯拉股票,生成包含主要段落、图表(若支持)的专业报告。
Browserless 的强大在于它能够通过自动化浏览器操作,让 AI 执行传统上需要人工完成的复杂网页交互任务,极大地提升了效率和自动化能力。
第四章:MCP Server 开发与发布
本章将从开发者的角度,介绍如何从零开始编写一个 MCP Server 并将其发布上线。
4.1 MCP Server 编写基础
MCP Server 本质上是一段 Python 或 Node.js 程序。官方提供了 Python 和 TypeScript 的 SDK (开发工具包)。这里以 Python SDK 为例:
-
准备环境:
- 安装 UV (Python 环境管理工具),它是目前最热门的 Python 环境管理工具。
- 使用 UV 创建一个 Python 项目并指定 Python 版本(如 3.13)。
- 安装 MCP 的 SDK 依赖包。
- 安装 VS Code 及 Python 相关插件进行开发。
-
编写核心代码:
-
代码结构通常包含导入
fast_mcp
、初始化 MCP 对象、定义 MCP 工具函数。 -
关键点一:注释 (Docstring) :必须编写详细的注释,用自然语言告诉 AI 大模型该函数的功能,例如"把两个数字加起来"。这是大模型理解工具用途的关键。
-
关键点二:类型修饰符 (Type Hints) :必须明确函数参数和返回值的类型(如
int
)。这有助于大模型理解工具参数的类型。 -
关键点三:工具类型 (
mcp.tool
和mcp.resource
) :@mcp.tool
:声明这是一个工具,类似于 HTTP REST API 中的POST
方法。大模型使用工具与外部系统交互,通常会产生副作用,如写入文件、发送邮件、写入数据库等。@mcp.resource
:声明这是一个资源,类似于 HTTP 中的GET
方法。通常为大模型提供只读数据,只请求数据而不产生任何副作用。
-
运行协议 :在代码最后添加
mcp.run(protocol=...)
来指定 MCP Server 的运行协议,例如stdio
、sse
或stream_http
。
-
-
本地测试:
- STDIO 协议:将 MCP Server 作为本地程序运行,AI 客户端通过标准输入输出通道进行交互。
- SSE/Streamable HTTP 协议:将 MCP Server 作为服务器程序启动,AI 客户端通过 HTTP 请求远程调用,需要提供服务器的监听地址。这些协议允许 AI 客户端与 MCP Server 距离更远,实现远程部署和调用。
4.2 MCP Server 发布上线
将 MCP Server 发布到公网有两种主要方式:
-
打包成 Python 包并上传到 PyPI:
- 将 MCP Server 代码组织成一个标准的 Python 包。
- 使用 UV 进行打包 (
uv package
)。 - 在 PyPI 注册账号,并生成 API Token。
- 使用 UV 命令 (
uv publish
) 将打包好的程序发布到 PyPI。 - 发布后,其他人可以使用
uvx
命令自动下载该 Python 包并在本地执行。客户端只需填写包名即可调用。
-
部署到云服务器并暴露 SSE 地址:
- 将编写好的 Python 程序部署到具有公网 IP 的云服务器上(如 Ubuntu 系统)。
- 修改代码,将协议改为 SSE,并将
host
设置为0.0.0.0
,允许从远程访问。 - 在云服务器上安装 UV 和必要的依赖,然后启动 MCP Server 程序。
- AI 客户端通过云服务器的公网地址和 SSE 协议进行远程调用。
通过以上方法,开发者可以将自己编写的 MCP Server 提供给所有人使用,极大地扩展了 AI 大模型的能力边界。
第五章:基于 MCP 的高级应用
MCP 不仅能够实现单一工具的调用,更强大的在于其组合能力以及在云端智能体中的应用。
5.1 云端搭建 MCP 智能体 (以阿里云百炼平台为例)
阿里云百炼平台提供了全生命周期的 MCP 服务,无需复杂的本地配置,即可在云端快速搭建 MCP 驱动的 AI 智能体。
主要特点:
- 预制 MCP Server:平台预置了多种 MCP Server(如高德地图、GitHub 等),可以直接开通使用。
- 智能体集成:将 MCP Server 集成到智能体应用中,AI 会智能地从工具箱中找到最合适的工具并组合使用,无需用户指定调用顺序。
- 动态规划与自我修正:AI 在调用过程中会进行动态规划,如果发现调用异常,AI 还会尝试自我修复问题(例如先查询坐标再规划路径)。
- 自定义 MCP 服务:可以将自己编写的 MCP Server 直接注册并部署到百炼平台,借助平台的函数计算能力,免去资源购买和服务部署过程,轻松对接智能体,尤其适合企业级 MCP 业务开发。
- 多种发布渠道:智能体可以在多种渠道发布,如微信公众号,使其成为公众号客服,提供智能问答和任务处理。
示例:
- 高德地图智能体:规划公共交通路线、查询附近美食、智能规划行程。
- GitHub 智能体:查询 GitHub 热们仓库、创建 GitHub 仓库。
- 数据库智能体 (PostgreSQL) :将自己的数据库变为大模型的知识库,通过自然语言查询复杂业务数据。
- 多工具组合:让 AI 组合高德地图和 GitHub,查询青岛未来几天天气,并将其写入 TXT 文件保存到 GitHub 仓库中。
5.2 通过 MCP 光速建站 (以腾讯云 EdgeOne Pages MCP Server 为例)
腾讯云 EdgeOne Pages MCP Server 借助 CDN 网络和边缘计算技术,大幅简化了传统 Web 开发流程,实现了通过 AI 一句话构建公网可用的完整网站。
核心技术:
- CDN (内容分发网络) :通过全球节点缓存静态资源,让访客从最近的节点读取数据,加快网站加载速度。
- 边缘计算 (Edge Computing) :允许将业务代码部署到全球 CDN 节点中,访客访问时由最近的节点响应请求并执行代码逻辑,确保超低延迟和极高可用性。
- 国内友好:腾讯云 EdgeOne 在国内拥有 2300 多个边缘节点,访问速度远超海外同类产品。
应用流程:
- 自然语言描述需求:用户通过自然语言向 AI 描述网页需求(如"做一个表白爱心网页")。
- AI 生成 HTML:AI 根据需求生成 HTML 网页内容。
- MCP Server 部署:AI 使用 MCP Server 调用 EdgeOne 的边缘计算 API,将 HTML 内容快速部署到 CDN 节点。
- 生成公网访问链接:部署完成后,自动产生一个公网访问链接。
特点:
- 无需登录或申请 API Key:EdgeOne Pages 当前免费公测,配置简单便捷。
- 超低延迟:网站在国内的平均访问速度可达毫秒级(如 0.12 秒),远超传统托管和海外同类产品。
- 丰富模板:EdgeOne Pages 提供丰富的开箱即用模板,不仅限于网页生成,还包括 AI 聊天网站、内容管理、数据库管理、电商平台、个人博客等,实现一键快速部署全栈应用。
- 低运维:利用边缘计算架构,提供低延迟、高性能、零运维的 AI 推理能力。
- 代码定制:生成的网站代码可以通过国内代码托管平台(如 Gitee)进行修改和提交,触发自动部署,实现网站的任意定制。
示例:
- 制作表白爱心网页。
- 设计贪吃蛇网页小游戏。
- 创建本周青岛天气预报网页。
- 基于边缘计算的 DeepSeek R1 对话网站,实现低延迟 AI 交互。
这些高级应用展示了 MCP 不仅仅是一个工具调用协议,更是一个强大的平台,能够驱动 AI 智能体完成复杂任务,甚至构建和部署云端应用,极大地拓展了 AI 的边界和实用性。
结语
MCP 作为 AI 大模型的标准化工具箱,通过统一协议将大模型与外部世界连接起来,极大地拓展了 AI 的能力。无论是通过系统提示词还是 Function Call,它都能让大模型"看懂"并"使用"各种工具,完成从文件操作、数据查询到浏览器自动化、云端部署等一系列任务。同时,开发者可以轻松编写和发布自己的 MCP Server,将其贡献给更广泛的 AI 生态。未来,MCP 有望与更多工具组合,形成复杂的智能体流水线,实现更强大的自动化和智能化应用。