2026 年 MCP 协议彻底火了:用 Python 从零搭建你的第一个 AI Agent 工具链
2026 年 MCP 协议彻底火了用 Python 从零搭建你的第一个 AI Agent 工具链如果 2024 年是 RAG 的元年2025 年是 Function Calling 的普及年那 2026 年毫无疑问属于MCPModel Context Protocol模型上下文协议。它正在用一种USB-C 式的统一接口终结大模型接工具时N 个模型 × M 个工具 N×M 套适配代码的混乱局面。这篇文章带你 30 分钟从零跑通一个可用的 MCP 工具链。一、为什么 2026 年所有人都在聊 MCP先说一个让所有接过大模型工具链的开发者都头秃的痛点。假设你的业务里要用到查询数据库、调用企业内部 OA、读取 Confluence 文档、操作 Jira 工单。你为 OpenAI 写了一套 Function Calling 的 JSON Schema为 Claude 又写了一套换成国产的 DeepSeek / Qwen 又得改一遍。每加一个工具每换一个模型适配代码都要重写。这就是经典的N×M 问题。MCP 的出现相当于在大模型和工具之间插了一个中间层协议┌──────────┐ MCP 协议 ┌──────────────┐ │ LLM │ ←──────────────→ │ MCP Server │ ← 数据库 / API / 文件 │ (Client) │ JSON-RPC over │ (工具提供方) │ └──────────┘ stdio 或 HTTP └──────────────┘从此模型侧只需实现一次 MCP Client工具侧只需实现一次 MCP ServerN×M 退化成了 NM。一个写好的 MCP Server可以被 Claude、Cursor、Cline、Continue 等任何支持 MCP 的客户端复用——这便是它被称作AI 界的 USB-C的原因。二、MCP 的三大核心原语MCP Server 能向模型暴露三种能力务必先建立这个心智模型原语作用典型场景Tools工具让模型执行有副作用的操作写数据库、发消息、创建工单Resources资源让模型读取数据读文件、查配置、获取文档Prompts提示词模板预置的可复用提示词标准化的代码审查、总结模板90% 的实战场景你只用Tools就够了。下面我们直接上手。三、30 分钟实战写一个天气查询 待办管理MCP Server3.1 环境准备pipinstallmcp[cli]httpx官方 Python SDK 已经把 JSON-RPC 的通信细节全部封装好了你只需要关心业务逻辑。3.2 编写 Server新建my_mcp_server.pyfrommcp.server.fastmcpimportFastMCPimporthttpximportjsonfrompathlibimportPath mcpFastMCP(my-first-mcp-server)TODO_FILEPath(todos.json)def_load_todos()-list:ifTODO_FILE.exists():returnjson.loads(TODO_FILE.read_text(encodingutf-8))return[]def_save_todos(todos:list):TODO_FILE.write_text(json.dumps(todos,ensure_asciiFalse,indent2),encodingutf-8)# —— Tool 1: 天气查询 ——mcp.tool()defget_weather(city:str)-str:查询指定城市的实时天气。 Args: city: 城市名称如 北京、上海 # 这里用公开接口演示生产环境请换成可靠的天气 APIresphttpx.get(fhttps://wttr.in/{city},params{format:j1},timeout10)dataresp.json()currentdata[current_condition][0]returnf{city}当前天气{current[weatherDesc][0][value]}\f气温{current[temp_C]}°C湿度{current[humidity]}%\f风速{current[windspeedKmph]}km/h# —— Tool 2: 添加待办 ——mcp.tool()defadd_todo(title:str,priority:strnormal)-str:添加一条待办事项。 Args: title: 待办内容 priority: 优先级可选 low / normal / high todos_load_todos()todo{id:len(todos)1,title:title,priority:priority,done:False}todos.append(todo)_save_todos(todos)returnf已添加待办[{priority}]{title}ID:{todo[id]}# —— Tool 3: 查看待办列表 ——mcp.tool()deflist_todos()-str:列出所有未完成的待办事项。todos_load_todos()pending[tfortintodosifnott[done]]ifnotpending:return当前没有未完成的待办摸鱼愉快 lines[f- [{t[priority]}] #{t[id]}{t[title]}fortinpending]return待办列表\n\n.join(lines)if__name____main__:mcp.run()# 默认走 stdio 传输注意三个关键点mcp.tool()装饰器把普通函数变成 MCP 工具函数的 docstring 就是给模型看的工具说明——写清楚参数含义模型才能正确调用。类型注解city: str会自动转成 JSON Schema模型据此决定传什么参数。mcp.run()默认用 stdio 传输适合本地客户端如 Claude Desktop、Cursor通过子进程拉起。3.3 接入客户端方式 AClaude Desktop编辑配置文件macOS:~/Library/Application Support/Claude/claude_desktop_config.json{mcpServers:{my-tools:{command:python,args:[D:/path/to/my_mcp_server.py]}}}重启 Claude Desktop对话框右下角会出现一个 工具图标说明你的 Server 已被识别。方式 BCursorSettings → MCP → Add New MCP Server填入Type: stdio Command: python D:/path/to/my_mcp_server.py Name: my-tools之后在对话里说帮我查一下北京天气再把’写周报’加到待办里优先级 high模型就会自动编排这两个工具的调用。3.4 效果演示用户今天上海天气怎么样顺便把准备下周的晋升答辩加进待办标 high 模型内部自动执行 → 调用 get_weather(city上海) → 调用 add_todo(title准备下周的晋升答辩, priorityhigh) 模型回复 上海现在多云气温 29°C湿度 65%。 已帮你添加待办[high] 准备下周的晋升答辩ID: 3注意——你没有写任何调用编排逻辑。模型读了工具的描述和参数 Schema自己决定了先查天气、再加待办、按什么顺序、传什么参数。这就是 MCP 原生工具调用带来的开发体验跃迁。四、从 Demo 到生产三个容易踩的坑坑 1docstring 是给模型看的不是给人看的很多新手写的 docstring 是# get weather这种。模型理解不了调用就乱套。正确写法是用人话描述这个工具干什么、什么时候该用、参数什么含义。可以用中文模型完全能理解。坑 2工具粒度太粗或太细太粗一个do_everything(action, params)工具模型不知道什么时候该调。太细get_user_id、get_user_name、get_user_email拆成三个模型要连调三次。合理粒度一个工具完成一个用户心智里的完整动作。坑 3stdio 传输的性能瓶颈stdio 是同步的、单连接的。如果你的工具要高频调用或长耗时比如跑一个大模型推理应该切到SSE / Streamable HTTP传输mcp.run(transportsse)# 或 http五、2026 年 MCP 生态现状与选型建议截至 2026 年中MCP 生态已经相当成熟官方生态Smithery、MCP Hub 上已有上千个现成 Server覆盖 GitHub、Slack、Postgres、K8s 等主流场景。客户端支持Claude Desktop、Cursor、Cline、Continue、Zed、VS CodeCopilot Chat均已原生支持。国产模型跟进DeepSeek、Qwen、GLM 等主流国产模型均已在工具调用层面兼容 MCP 接入。选型建议个人开发者 / 小团队 → stdio 本地 Server5 分钟接入 Claude Desktop 或 Cursor。企业级 → 部署 HTTP 传输的 MCP 网关统一鉴权、限流、审计。工具厂商 → 把你的 SaaS 包装成 MCP Server 发布到 Smithery等于一次性接入了所有主流 AI 客户端。六、写在最后MCP 的意义不在于它引入了多复杂的技术——它的通信层就是 JSON-RPC核心就是三个原语。它的真正价值在于统一了标准让工具开发者写一次、到处用让模型厂商接一次、拥有全部工具。如果说 Function Calling 让大模型长出了手那 MCP 就是给这些手定了一套统一的握持协议。在 Agent 时代谁能掌握这套协议的工程化落地谁就能在 AI 应用的下半场拿到门票。下一篇我会写如何用 MCP Claude Code 搭建一个全自动的代码审查 Agent敬请关注。作者夏文强 OpenHarmony 贡献者专注 AI Agent 工程化落地专栏AI Agent 实战笔记觉得有用就点个赞 有疑问欢迎评论区交流

相关新闻

嵌入式CAN通信学习记录(万字解析):从STM32到Linux双机联调实战

嵌入式CAN通信学习记录(万字解析):从STM32到Linux双机联调实战

1. 引言 CAN(Controller Area Network)总线是嵌入式系统中广泛使用的一种高可靠性、多主机的串行通信协议,尤其在汽车电子、工业控制等领域应用广泛。本文旨在记录我学习嵌入式CAN通信的完整过程,涵盖从STM32开发板的环回/静默模…

2026/8/26 17:57:31 阅读更多 →
当“问小白怎么复制表格”成为日常:从格式崩塌到一键归档的技术突围

当“问小白怎么复制表格”成为日常:从格式崩塌到一键归档的技术突围

当“问小白怎么复制表格”成为日常:从格式崩塌到一键归档的技术突围 问小白用户想必都经历过同一个噩梦:让AI生成了一份逻辑清晰的对比表格,对话框内完美渲染,复制到Word或Excel后,却变成了一堆挤在单元格里的竖线符号…

2026/8/26 17:57:31 阅读更多 →
【RAG实战】LlamaIndex 深度集成:常用 Reader 全解析与自定义 Reader

【RAG实战】LlamaIndex 深度集成:常用 Reader 全解析与自定义 Reader

LlamaIndex 深度集成:常用 Reader 全解析与自定义 Reader 实战 文章目录LlamaIndex 深度集成:常用 Reader 全解析与自定义 Reader 实战LlamaIndex 深度集成:常用 Reader 全解析与自定义 Reader 实战一、LlamaIndex Reader 体系架构1.1 BaseRe…

2026/8/26 17:57:31 阅读更多 →

最新新闻

【快读系列】skill的方方面面

【快读系列】skill的方方面面

【快读系列】skill的方方面面概述skill的生命周期基于三个问题的探究这篇文章我们得到了什么剩下的一些疑问概述 本文是对《From Raw Experience to Skill Consumption: A Systematic Study of Model-Generated Agent Skills》的学习和整理。这篇文章是从skill相关的what层面出…

2026/8/26 19:16:14 阅读更多 →
第07篇-Session模型与记忆

第07篇-Session模型与记忆

【OpenClaw 从入门到精通】第 7 篇:Session 模型与记忆 本系列定位:零基础入门,从安装配置到高级架构全覆盖。无论你是开发者、运维工程师、还是技术爱好者,本系列带你彻底掌握 OpenClaw。 本篇你将学到 OpenClaw 的 Session 概念…

2026/8/26 19:16:14 阅读更多 →
门店导购 Agent 怎么做?装个可实时互动的 3D 身体,一键补齐自然交流界面

门店导购 Agent 怎么做?装个可实时互动的 3D 身体,一键补齐自然交流界面

我学了 3-4 年后端,去年开始转向 Agent 开发。做过基于 RAG 的问答机器人,也给聊天机器人接过各种模型能力,功能都能跑通,但每次给非技术背景的朋友演示,对方的反应都很一致:哦,一个聊天框。 这…

2026/8/26 19:16:14 阅读更多 →
短剧出海保留原声还是全量配音?两种声音策略怎么选

短剧出海保留原声还是全量配音?两种声音策略怎么选

短剧出海保留原声还是全量配音?两种声音策略怎么选 摘要: 保留原声加字幕和全量目标语配音,适合的市场、渠道与成本结构并不相同。本文比较两种声音策略在观看门槛、沉浸感、制作周期和审核难度上的差异,帮助团队选择合适的本地化…

2026/8/26 19:16:14 阅读更多 →
Python图论库NetworkX初步

Python图论库NetworkX初步

文章目录简介无向图基础图简介 NetworkX是 Python 生态中最著名、应用最广泛的图论与复杂网络分析开源库。它的核心使命是提供一套直观、灵活且功能全面的 API,用于创建、操作、分析和可视化复杂网络(图)的结构、动态与功能。 这个库十分著…

2026/8/26 19:15:13 阅读更多 →
文心导出word手机,AI导出鸭让AI导出回归优雅

文心导出word手机,AI导出鸭让AI导出回归优雅

文心导出word手机,AI导出鸭让AI导出回归优雅 通勤路上用文心一言生成了一份带表格的市场分析报告,到公司打开电脑准备导出Word时,却发现表格边框错乱、合并单元格分裂、公式变成了纯文本——这种场景,每个重度AI用户都不陌生。作为…

2026/8/26 19:15:13 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →