MCP协议:Agent工具调用的新标准
MCP协议Agent工具调用的新标准工具不是API列表而是Agent的行动边界工具描述、参数Schema、返回值、权限边界、错误恢复这些东西设计不好Agent一定会乱但是如果每个工具都要自己接那不同工具、不同产品、不同模型之间岂不是又要重复造轮子所以这就是MCP要解决的问题现在很多Agent项目最大的问题不是模型不会调用工具而是工具接入太碎接Github要写一套接数据库要写一套接本地文件要写一套MCP是一套标准协议用来让AI应用以统一方式接外部工具、数据和提示模板注意它不是模型也不是Agent框架更像是Agent时代的“工具接入协议”为什么会有MCP假如你要做一个代码助手让它能完成这些事读本地文件搜Github Issue查数据库读公司知识库如果没有统一协议每接一个系统都要自己定义一套工具格式工具怎么发现参数Schema怎么描述工具怎么调用工具结果怎么返回工具权限如何设置这些问题如果每个产品都自己解决就会非常混乱对工具提供方也很痛苦比如你做了一个数据库查询工具你想让Claude Destop能用想让Cusor能用想让公司Agent能用难道每个宿主都要写一套插件这就太浪费了MCP的思路是工具提供方按MCP标准暴露能力AI应用按照MCP标准连接这些能力这样工具和AI应用之间就有了一层统一协议就像前后端之间用的HTTP API通信就像数据库客户端通过统一协议链接数据库它解决的是AI应用怎么标准化地拿到上下文、调用工具、使用提示模板MCP不是Function Calling的替代品这两有关系但是不是一回事Function Calling解决的是模型这一次响应里面要不要调用某个函数以及参数是什么它更贴近模型调用层比如你把工具定义发给模型模型返回{ name:get_order_detail, arguments:{ order_id:38275923 } }然后你的程序执行这个函数把结果再发回模型这个是Function CallingMCP解决的是另一个层面这些工具从哪里来怎么发现怎么连接怎么通信怎么暴露给不同的AI应用也就是说Function Calling更像“模型和工具之间的一次调用格式”MCP更像“AI应用和工具服务器之间的一套连接协议”可以理解为Function Calling关注模型怎么调用工具MCP关注工具怎么标准化接入AI应用他们不是排斥关系很多AI应用会先通过MCP发现工具再把这些工具转换成模型可以用的Function Calling格式让模型决定调用哪一个**Function Calling是模型侧的工具调用机制重点是模型输出哪个函数和参数MCP是应用侧的工具接入协议重点是AI应用如何发现、连接和调用外部工具、资源和提示模板。实际系统里面MCP可以作为工具来源Function Calling可以作为模型选择和调用工具的方式MCP的核心架构Host、Client、ServerMCP官方架构里面有三个角色Host、Clinet、Server这三个词一定要分清HostAI应用本体Host就是用户真正使用的AI应用比如Claude Desktop、Claude CodeHost负责用户交互、模型调用、权限决策、上下文聚合简单说Host是“大脑所在的应用壳”用户不是直接和MCP Server聊聊天而是在Host里面提问ClientHost里面负责连接某个Server的组件MCP Client不是一个独立产品它通常是Host里面的一段连接组件一个Host可以连接多个MCP Server每连接一个ServerHost里面通常就会创建一个对应的Clinet所以Client的职责是和某个MCP Server建立连接做协议版本和能力协商发送工具列表请求接收结果和通知维护这条连接的安全边界你可以把它理解成一个MCP Client对应一个MCP Server的连接通道Server提供工具、资源和提示模板MCP Server是真正提供能力的一方比如文件系统Server暴露读文件、列目录等能力Github Server暴露issue、PR、代码仓库能力数据库Server暴露schema、查询工具Server不负责和用户聊天只负责按照MCP协议提供能力这些能力主要有三类Tools、Resources、Prompts这套架构的最大好处是隔离一个Host可以连接多个Server但是每个Server不应该直接看到全部对话也不应该随便访问其他Server的数据Host负责统一管理权限和上下文Server只暴露自己该暴露的能力MCP不是让所有工具都互相打通是让Host在可控边界内组合多个工具服务器MCP有两层数据层和传输层数据层定义消息和语义数据层负责定义初始化怎么做能力怎么协商工具怎么列出工具怎么调用MCP的数据层基于JSON-RPC比如工具发现可以是tools/list工具调用可以是toos/call资源读取可以是resource/readPrompt获取可以是prompts/get注意MCP不是随便使用HTTP路径写几个接口他有自己的协议方法请求结构和响应结构传输层定义消息怎么传传输层负责把这些JSON-RPC消息送过去常见有两种stdio本地进程之间通过标准输入输出通信这种方式适合本地工具性能好不需要网络Streamable HTTP通过HTTP和远程Server通信也可以支持流式能力和标准鉴权比如远程连接Sentry MCP Server 、公司内部的MCP网关这种方式适合远程服务、多用户场景、需要认证授权的场景MCP暴露的三类能力Tools、Resources、Prompts这是MCP最重要的一块MCP Server不只是暴露工具主要暴露三类能力Tools模型可以主动调用的动作Tools是最像Function Calling的部分他表示模型可以主动调用的函数比如查询订单搜索日志创建工单修改文件Tool通常有名称、描述、参数Schema模型根据用户问题和上下文决定要不要调用它一句话Tools解决Agent能做什么动作Resources提供上下文的数据源Resources是给AI应用读取的上下文数据它更偏向“被动提供信息”比如文件内容数据库schemaAPI文档用户偏好Resources不一定是模型主动调用的动作很多时候是Host或者应用根据需要读取然后放进上下文Resources解决的是“Agent能看到什么信息”Prompts:可复用的提示模板Prompts是预先定义好的交互模块比如帮我规划一次旅行帮我总结会议Prompt可以告诉模型应该怎么使用某些工具和资源prompts解决的是Agent应该按照什么套路做事一句话总结Tools是能做什么Resources是能看到什么Prompts是怎么做更稳很多人只把MCP理解成工具调用协议其实有点窄MCP真正想标准化的是AI应用和外部上下文之间的连接方式MCP一次工具调用大概怎么跑简单的例子“帮我查一下支付服务昨天晚上为什么变慢”假设Host已经连接了一个监控的MCP Server和一个日志MCP Server第一步初始化连接Host为每个MCP Server创建ClientClient和Server做协议初始化协商版本和能力第二步发现工具Client向Server发tools/lsitServer返回自己有哪些工具比如query_api_latencyget_deploy_recordsHost把这些工具整理成模型可用的工具列表第三步模型决定调用工具模型看到用户问题后决定先调用query_api_latency生成工具名和参数第四步:Client调用MCP serverHost通过对应Client发出tools/callMCP Server执行真实查询返回结构化结果第五步模型根据结果继续判断Agent的规划、判断、反思仍然由Host里面的模型和应用逻辑负责MCP为什么适合AgentAgent最怕什么不是没有工具而是工具太多、太散、太不统一MCP对Agent的价值主要有四个工具接入标准化没有MCP每个AI应用都要自己写工具适配层有了MCP工具提供方可以按照标准暴露能力Host只要支持MCP就能连接不同Server这会明显降低接入成本工具发现动态化传统Function Calling往往是开发者在代码里面写死工具列表MCP里面Client可以向Server发tools/list动态发现当前Server提供什么工具如果工具变化Server还可以通过通知让Client知道这对大型Agent平台很重要因为工具不是一成不变的上下文和动作分开Tools是动作Resources是上下文Prompts是模板这比所有东西都包装成函数更清楚比如数据库schema更适合作为Resources查询SQL才适合作为Tool多工具组合更自然一个Host可以连接多个MCP Server比如文件系统ServerGithub Server数据库ServerHost把这些能力聚合之后模型可以围绕一个任务组合使用这就是agent需要的能力但是要注意MCP让工具接入更标准不代表Agent自动变可靠工具描述栏、参数设计栏、权限边界栏MCP也救不了MCP只是把“怎么接入”标准化不是把“怎么设计好工具”自动解决本地MCP和远程MCP怎么选MCP Server可以跑在本地可以跑在远程本地MCP适合文件、命令行、开发环境本地MCP Server常用stdioHost启动一个本地进程通过标准输入输出通信适合读本地文件搜索代码操作本地Git优点是快、简单、没有网络开销缺点是更依赖本地环境也更需要注意本地权限远程MCP:适合企业服务和平台能力远程MCP Server常用Streamable HTTP适合公司知识库监控平台工单系统CRM优点是集中部署、统一鉴权、方便多人使用缺点是要处理认证、授权、网络延迟、审计和多租户隔离所以对于本地文件、代码和开发工具适合本地MCP企业系统、多人共享和需要统一鉴权的能力适合远程MCP不要把所有东西都做成本地要不要把所有东西都做成远程看数据在哪里、权限怎么管、谁在使用MCP的安全边界不能只靠模型自觉MCP让AI应用更容易连接工具但是连接越容易安全问题也就越明显MCP的安全边界核心在HostHost要负责连接哪些Server给每个Server什么权限工具调用前是否需要用户确认传给Server哪些上下文是否允许执行高风险动作调用记录是否可审计Server也要克制不应该默认读取所有上下文不应该默认访问所有文件这些都不应该让模型“想调就调”应该有权限限制、用户确认和审计记录MCP不是安全魔法它提供了标准协议和边界设计空间但是最终安不安全取决于Host怎么设计权限、Server怎么暴露能力、工具怎么做确认和审计别把MCP神化MCP很重要但是不要把它神化他不是万能的agent框架不是用了MCPAgent就会自动规划、自动排版、自动反思MCP解决的是连接问题它让工具、资源、提示模版能以标准方式接入AI应用但是Agent能不能稳定完成任务还要看工具描述清不清楚参数Schema严不严返回值能不能驱动下一步所以你可以这样理解Function Calling是模型调用工具的一种方式MCP是工具接入AI应用的一套标准协议Agent是围绕目标持续行动的系统这三者不是互相替代而是在不同层面解决不同问题

相关新闻

大模型分布式训练实战:DDP、ZeRO、TP、PP与上下文并行全解析

大模型分布式训练实战:DDP、ZeRO、TP、PP与上下文并行全解析

1. 这不是“并行”课,是大模型训练的生存指南你手头有一张A100,或者两块3090,甚至只是租了台云服务器——但你想训一个7B参数的模型。这时候你会发现:显存爆了、训练慢得像在煮咖啡、loss曲线抖得像心电图。这不是你代码写错了&am…

2026/10/9 14:04:06 阅读更多 →
Claude Code 营销技能包:SEO、CRO 与增长实验实战指南

Claude Code 营销技能包:SEO、CRO 与增长实验实战指南

1. 项目缘起:为什么我要把营销方法论塞进 Claude Code做增长和独立站这几年,我最头疼的一件事不是没思路,而是思路太散。SEO 的关键词布局、CRO 的落地页元素、内容营销的选题矩阵、邮件序列的触发逻辑,这些东西散落在 Notion、飞…

2026/10/9 14:04:16 阅读更多 →
AI Agent Skills实战指南:从原理、编写到编排的完整解析

AI Agent Skills实战指南:从原理、编写到编排的完整解析

1. 从"skills"这个热词说起:它到底在解决什么问题最近一段时间,不管是在技术社区还是开发者群里,"skills"这个词出现的频率高得离谱。有人把它当成一个工具,有人把它当成一套规范,还有人把它当成一…

2026/10/9 14:04:19 阅读更多 →

最新新闻

储能电池一次调频容量配置:技术经济模型与Matlab寻优实战

储能电池一次调频容量配置:技术经济模型与Matlab寻优实战

搞储能的人大多绕不过一个灵魂拷问:站址划好了,接入条件谈妥了,到底该装多少兆瓦、多少兆瓦时?尤其当这个站的主要用途是参与一次调频,问题就更具体了——配小了,频率考核指标压不住,收益也上不…

2026/10/10 7:38:27 阅读更多 →
Win11 21H2高性能电源计划激活与深度调优指南

Win11 21H2高性能电源计划激活与深度调优指南

1. 这个“隐藏高性能模式”到底是什么?别被标题带偏了Win11 21H2系统里根本不存在一个官方命名、独立开关、图标可见的“高性能模式”。所谓“一条CMD命令搞定”的说法,本质上是把Windows电源管理中一个长期存在但默认不启用的底层策略——High Performa…

2026/10/10 7:38:27 阅读更多 →
从海尔智家连续赞助澳网看体育营销的长期价值

从海尔智家连续赞助澳网看体育营销的长期价值

营销圈最近讨论比较多的一件事,莫过于海尔智家继续出现在澳网赛场边的消息刷了一波存在感。表面上看,这不过是一条品牌合作资讯;可把“连续赞助”“澳网”“全球化”这三个词放一起琢磨,味道就完全不一样了。这不是一次性的品牌曝…

2026/10/10 7:38:26 阅读更多 →
直齿轮啮合分析Python实战:渐开线、重合度与应力计算

直齿轮啮合分析Python实战:渐开线、重合度与应力计算

直齿轮这东西,在机械系统里确实像社牛一样,哪儿都有它。你随便拆个变速箱、打印机、甚至家里那个电钻,里面保准有一对齿轮在咔咔咬合。但咬合归咬合,能不能“顺畅地玩耍”就是另一回事了,这里面门道深得很。今天咱们就…

2026/10/10 7:38:26 阅读更多 →
Docker Compose Profiles多环境部署实战指南

Docker Compose Profiles多环境部署实战指南

1. 为什么你总在开发、测试、生产环境间反复修改 docker-compose.yml?“Docker Compose Profiles完全指南:多环境部署一键切换”——这个标题里藏着的不是语法糖,而是一线团队每天真实踩出的坑。我带过的三个跨部门协作项目里,有两…

2026/10/10 7:38:26 阅读更多 →
免Delta Rule的在线异常检测:CyFA如何用周期特征对齐超越GDN与KDA

免Delta Rule的在线异常检测:CyFA如何用周期特征对齐超越GDN与KDA

看到这个标题,我估计不少做时序异常检测的朋友第一反应是:又来了一个蹭热门的工作。毕竟从GDN到KDA,在线流式场景下的异常检测几乎离不开增量更新这套地基,突然冒出个“连Delta Rule都不用”的方法,确实反直觉。但我前…

2026/10/10 7:37:26 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →