MCP协议入门教程:给你的工具接上Claude和ChatGPT
简单说:MCP协议让Claude、ChatGPT这类客户端能统一调用你写的工具,不用每个模型单独适配。本文带你写一个查天气MCP server并接上Claude Desktop,照抄半小时跑通,比想象的简单。
MCP协议入门今年是真的火。原因很实在——以前给Claude加个工具得写一套适配,给ChatGPT加又得写一套,重复劳动。MCP把这事儿统一了。根据Anthropic 2026年Q2报告,MCP生态已有超过4200个公开server,半年增长210%。我自己上个月写了第一个MCP server,把公司内部API接给Claude用,效率直接翻倍。这篇就拿一个查天气的server当例子,把全流程拆给你看。
需要的基础和搭 AI Agent 差不多:会Python、会调API。不会也没事,跟着抄能跑。
MCP是什么:一句话说清
原子答案:MCP全称Model Context Protocol,是Anthropic 2024年底推的开放协议,规定大模型客户端怎么发现和调用外部工具,类似"AI届的USB接口"。
打个比方。以前每家手机厂商自己定充电口,苹果Lightning、安卓Type-C、老安卓Micro-USB,你出门带三根线。MCP就是那个统一的Type-C。你写一个MCP server,Claude、ChatGPT、Cursor、Windsurf这些客户端都能用同一套接口调用。一份工具,多处复用。
具体能做什么工具?查天气、查数据库、操作文件、调内部API、查日历、发消息——只要你能用代码干的事,都能包成MCP工具暴露给模型用。对 MCP为什么好用 感兴趣可以看我们另一篇深度分析。
为什么学MCP:值不值得花时间
原子答案:值得。一次写多次用、生态在快速增长、官方和社区都在押注,是2026年AI工具开发的"基础设施级"协议。
我之前给Claude写工具用的是Claude原生的tool_use接口,给ChatGPT写用的是function calling,两套代码逻辑相似但格式完全不同,维护起来烦。迁到MCP后,一份server两个客户端都能调,省了一半工作量。
更重要的是生态。 GitHub上的MCP仓库 已经有官方维护的filesystem、git、postgres、slack等几十个现成server,拿来即用。你要的很多工具别人已经写好了,先搜再写。
当然也有不成熟的地方。协议还在快速迭代,0.3到1.0之间改了不少API。我个人觉得现在入场正好——生态起来了但还没卷死,先学会的人有先发优势。
开工:装环境和SDK
原子答案:Python 3.10以上、pip装mcp包、准备一个Claude Desktop或支持MCP的客户端用来测,三样齐活。
装包一行:pip install mcp。我用的版本是mcp 1.2.x。
客户端这边,Claude Desktop 对MCP支持最成熟,Windows和Mac都有桌面版,开箱即用。ChatGPT桌面版2026年初也支持了MCP,但配置稍麻烦。新手建议先用Claude Desktop练手。
说个坑。Claude Desktop在Windows下的配置文件路径藏得深,在%APPDATA%\Claude\claude_desktop_config.json。我第一次找了半天,还以为是装在程序目录里。Mac下在~/Library/Application Support/Claude/。
第一步:写查天气MCP server
原子答案:一个MCP server就是一个Python脚本,定义工具名、参数schema、处理函数三件套,用FastMCP几行代码搞定。
完整代码我贴核心部分:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("weather-server")
@mcp.tool()
def get_weather(city: str) -> str:
"""查询指定城市的当前天气"""
# 这里调真实天气API
return f"{city}今天晴,25度"
if __name__ == "__main__":
mcp.run()
就这么点。FastMCP把协议细节全包了,你只管写业务函数。docstring很重要——模型靠它判断什么时候调这个工具,写清楚工具干什么、参数是什么。
真实项目里get_weather内部我会调一个免费的天气API,比如wttr.in或者和风天气。返回结构化数据而不是纯文本,模型更好理解。我第一次返回纯字符串"北京晴25度",模型有时会理解错,改成返回JSON后准确率高了一截。
第二步:注册到Claude Desktop
原子答案:编辑claude_desktop_config.json,加上mcpServers字段,指向你的server脚本路径,重启Claude Desktop即可。
配置长这样:
{
"mcpServers": {
"weather": {
"command": "python",
"args": ["D:/mcp_servers/weather.py"]
}
}
}
坑来了。改完配置必须完全退出Claude Desktop再打开,不是关窗口那种退出,是托盘里右键Quit。我第一次只关窗口改了三遍配置都不生效,差点以为是协议坏了。还有一个坑:Python路径要是绝对路径,用虚拟环境的话指向venv里的python.exe,不然Claude起的子进程找不到你装的mcp包。
路径里有中文或空格也可能出问题。我把server放到了D盘根目录的英文路径下,规避这个雷。
第三步:测试和调试
原子答案:打开Claude Desktop,问"北京今天天气怎么样",看它有没有自动调用你的weather工具并返回结果。
正常的话你会看到Claude回复里有个"使用了weather工具"的提示,然后给出天气信息。第一次跑通那一刻挺神奇的——你写的Python函数被大模型自己调用了。
没跑通别急,按这个顺序查。第一,看Claude Desktop的日志,在%APPDATA%\Claude\logs下,里面会写server启动失败的原因。第二,单独跑python weather.py看脚本本身有没有报错。第三,检查配置JSON格式对不对,少个逗号这种低级错误我犯过两次。
有个比较隐蔽的坑:工具名不能和Claude内置工具重名。我有个工具起名叫search,结果被内置search盖住了死活调不到。改成search_weather立刻好了。命名带业务前缀最保险。
接ChatGPT和其他客户端
原子答案:ChatGPT桌面版2026年起支持MCP,在设置里Connectors添加server配置即可;Cursor、Windsurf等编程客户端也都支持。
ChatGPT的接入比Claude多点步骤,要在设置→Connectors里手动加,还要走OAuth或本地连接确认。配置好之后效果和Claude一致,模型自动识别工具并调用。
Cursor里接MCP更顺,毕竟是编程工具,.cursor/mcp.json写一份配置全局生效。我用Cursor接了一个查公司内部文档的MCP server,写代码时让它查API文档,比手动翻Wiki快太多。如果想对比各家编程助手对MCP的支持差异,看我们 2026 AI编程助手对比。
说到这,MCP server还能配合 本地RAG 用——把检索能力包成MCP工具,任何客户端都能调,不用每个客户端各搭一套RAG。这是我个人最看好的用法。
能做什么工具和进阶玩法
原子答案:任何能用代码封装的能力都能做成MCP工具,进阶玩法包括资源(Resources)、提示模板(Prompts)、流式输出和认证。
基础工具之外,MCP还有Resources(暴露只读数据给模型,比如日志文件)和Prompts(预定义提示词模板)两类能力。完整规范看 MCP官方文档。
进阶我建议先玩流式输出。查天气这种快工具用不上,但如果是长任务比如跑数据分析,流式返回进度能让模型边等边反馈用户体验好很多。认证这块要看你接的服务需不需要API key,建议用环境变量传,别写死在代码里。
说个我自己的小得意。我给团队写了个查Jira工单的MCP server,接给Claude和Cursor。现在PM问"这周哪些bug没修完",直接问Claude就行,Claude调MCP查Jira返回列表。以前要开Jira网页筛选半天的事,现在一句话搞定。同事都觉得我会魔法。
常见问题
MCP协议是什么,用大白话说?
就是一个让大模型客户端统一调用外部工具的标准协议。你写一个MCP server暴露工具能力,Claude、ChatGPT、Cursor这些客户端按同一套协议都能调。省去每个客户端单独适配的麻烦。
写一个MCP server要会什么?
会Python基本就行,能写函数、能调API就够了。用FastMCP这种高层封装,几十行代码出一个能用的server。深入定制需要理解JSON-RPC和协议细节,但入门用不到。
MCP server能接哪些客户端?
Claude Desktop支持最成熟,ChatGPT桌面版2026年起支持,Cursor、Windsurf、Cline等编程客户端都支持,开源的Continue也支持。生态在快速扩张,基本主流AI客户端都在接。
MCP server调试最常见的坑有哪些?
三个高频坑:配置文件改了没完全重启客户端、Python路径没指向装了mcp包的环境、工具名和客户端内置工具重名被覆盖。按这个顺序排查能解决八成问题。
不会写代码能用MCP吗?
有点难。MCP本质是给开发者用的协议。不会代码的话,可以用别人写好的现成server,GitHub上官方维护的有几十个。想自己定制工具还是得会点Python,门槛不高,学一周基础够用了。
觉得有用的话分享给朋友吧。