




















本文通过讲解MCP解决了什么问题,以及和以及与Function Call、Agent的关系。通过两个实际对比的案例,对MCP、Function Call、Agent在应用层的关系进行详细的介绍。以便于小伙伴们对AI专有名词有进一步的理解和学习。

Model Context Protocol(模型上下文协议),简称MCP,是一个开放的协议标准,旨在建立AI模型与开发环境、外部工具和数据源之间的统一上下文交互机制。MCP的核心目标是让AI模型能够更好地理解和处理代码、访问外部资源、执行具体任务,从而将AI从被动的文本生成器转变为主动的数字工作者。
MCP基于JSON-RPC 2.0协议设计,支持双向通信和丰富的上下文信息传输。它定义了一套标准化的接口和消息格式,使得不同的AI模型和工具能够无缝协作。
MCP是由Anthropic公司提出的开源协议标准。Anthropic是一家专注于AI安全和对齐研究的公司,其开发的Claude系列AI助手在业界享有盛誉。2024年11月25日,Anthropic正式发布了MCP协议,并将其作为开源项目向全社区开放。
Anthropic选择开源MCP协议的原因很明确:他们希望建立一个行业标准,让所有AI开发者都能受益于统一的上下文交互机制。这一决策体现了Anthropic对AI生态系统开放发展的承诺。
MCP协议具有以下关键特点:
在MCP出现之前,大型语言模型面临着几个关键问题:
MCP通过以下方式解决了这些问题:
MCP在以下场景中显示出了巨大价值:
Function Call(函数调用)是现代大型语言模型的一项关键能力,它允许LLM在处理用户请求时,智能地识别需要调用的外部函数,并生成相应的函数调用指令。这项技术将LLM从纯文本生成器转变为能够执行具体任务的智能代理。
Function Call的工作原理可以概括为以下几个步骤:
1. 意图识别:LLM分析用户的自然语言输入,识别用户的真实意图。
2. 函数选择:根据意图和可用的函数列表,选择最合适的函数。
3. 参数提取:从用户输入中提取函数所需的参数。
4. 结构化输出:生成标准的JSON格式的函数调用指令。
5. 执行反馈:接收函数执行结果并生成最终回复。
Function Call的实现需要LLM具备以下能力:
让我们通过一个具体的例子来理解Function Call的工作过程:
用户询问:”今天北京的天气如何?”
1. 意图识别:LLM识别这是一个天气查询请求。
2. 函数选择:选择`get_weather`函数。
3. 参数提取:提取城市参数”北京”和时间参数”今天”。
4. 函数调用:生成JSON格式的调用指令:
{
“function”: “get_weather”,
“parameters”: {
“city”: “北京”,
“date”: “2024-01-15”
}
}
5. 结果处理:接收天气数据并生成用户友好的回复。
为了更好地理解MCP、Function Call和Agent之间的关系,我们首先需要明确三者的定义和定位:
这三者之间存在着清晰的层次关系:
三者之间的协作机制可以描述为:
在实际应用中,这三者形成了一个完整的技术栈:

MCP、Function Call和Agent三者的关系比较抽象,最好的理解方式是通过具体的使用场景来观察它们是如何协同工作的。我们将通过两个不同的场景来展示这种协作关系。
想象一下,周一早上你对AI助手说:”帮我整理今天的工作安排,看看有什么重要的事情需要处理。”
5.2.1 Agent的理解和规划
Agent的思考过程:
– 用户想要了解今天的工作安排
– 需要查看日历、邮件、任务清单
– 需要分析优先级并给出建议
– 最终整理成一个清晰的工作计划
Agent制定的行动计划:
1. 查看今天的日历安排
2. 检查未读邮件中的紧急事项
3. 查看任务管理系统中的待办事项
4. 分析优先级并生成工作建议
5.2.2 Function Call的具体执行
第一步:查看日历
– Agent识别需要使用”获取日历事件”功能
– Function Call机制将这个需求转换为具体的日历查询操作
– 返回结果:上午9点团队会议,下午3点客户电话,晚上7点培训课程
第二步:检查邮件
– Agent识别需要使用”获取邮件”功能
– Function Call机制执行邮件查询操作
– 返回结果:老板发来的项目进度询问邮件,客户的反馈邮件
第三步:查看任务清单
– Agent识别需要使用”获取任务”功能
– Function Call机制执行任务查询操作
– 返回结果:完成报告撰写,准备会议材料,回复客户邮件
5.2.3 MCP的幕后工作
在整个过程中,MCP协议在幕后默默工作:
– 与日历系统通信:MCP协议确保Agent能够标准化地访问不同的日历软件(Google Calendar、Outlook等)
– 与邮件系统通信:MCP协议让Agent能够统一地处理不同邮件服务的数据
– 与任务管理系统通信:无论是Notion、Trello还是其他工具,MCP都提供了统一的访问方式

5.2.4 最终结果呈现
Agent整合所有信息后,给出了这样的回复:
“根据您今天的安排,这里是我为您整理的工作计划:
上午重点:
– 9点前:回复老板的项目进度邮件,准备团队会议材料
– 9-10点:参加团队会议
下午重点:
– 完成报告撰写(建议在客户电话前完成)
– 3点:客户电话(记得查看客户的反馈邮件)
晚上:
– 7点培训课程
优先级建议:建议优先处理项目进度邮件和客户反馈,这两件事可能影响下午的客户电话效果。”
这是一个更具体的AI工具使用场景。假设你是一名数据分析师,需要处理一份销售数据报告。
5.3.1 任务描述
你对Claude Desktop说:”我有一份Excel销售数据,需要分析上季度的销售趋势,并生成一份给管理层的报告。”
5.3.2 Agent的智能规划
Agent的分析思路:
– 需要访问和读取Excel文件
– 需要进行数据分析和可视化
– 需要生成专业的报告文档
– 需要确保数据的准确性和报告的专业性
Agent的执行策略:
1. 先访问Excel文件,了解数据结构
2. 进行数据清洗和基础分析
3. 生成图表和趋势分析
4. 撰写分析报告
5. 格式化并输出最终报告

5.3.3 Function Call的工作流程
文件访问阶段:
– Agent判断需要使用”文件读取”功能
– Function Call将请求转换为具体的文件操作
– 成功读取Excel文件,获取销售数据
数据分析阶段:
– Agent识别需要使用”数据分析”功能
– Function Call执行数据处理和统计分析
– 计算出销售增长率、趋势变化、关键指标等
报告生成阶段:
– Agent确定需要使用”文档生成”功能
– Function Call创建格式化的报告文档
– 包含图表、分析结论和建议

5.3.4 MCP的协议支持
在这个过程中,MCP协议发挥了关键作用:

5.3.5 实际使用体验
用户的感受:
– 只需要一句话描述需求
– 不需要学习复杂的数据分析软件
– 几分钟内就能得到专业的分析报告
– 可以随时调整分析方向和报告内容
系统的表现:
– 自动理解用户意图
– 智能调用合适的工具
– 高效完成复杂的数据分析任务
– 生成专业水准的报告

5.4.1 Agent角色的体现
场景一(工作安排):Agent更像是一个贴心的个人助理,能够理解用户的日常需求,主动整理和优化工作安排。
场景二(数据分析):Agent更像是一个专业的数据分析师,能够处理复杂的技术任务,提供专业的分析结果。
5.4.2 Function Call的灵活性
场景一:Function Call需要协调多个不同类型的工具(日历、邮件、任务管理),体现了跨平台整合的能力。
场景二:Function Call需要处理复杂的数据分析流程,体现了处理专业任务的能力。

5.4.3 MCP的统一性
两个场景的共同点:
– 都需要与多个外部系统交互
– 都需要标准化的通信协议
– 都需要安全可靠的数据传输
– 都需要灵活的工具集成能力

5.5.1 用户体验的提升
自然交互:用户只需要用日常语言描述需求,无需学习复杂的操作流程。
智能理解:系统能够准确理解用户意图,并自动制定最优的执行方案。
高效执行:通过标准化的协议和工具调用,快速完成复杂的任务。

5.5.2 技术架构的优势

5.5.3 生态系统的扩展
通过这两个场景,我们可以看到MCP、Function Call和Agent三者协作的巨大潜力:

MCP作为一个开放协议,已经获得了多个主流平台的支持。以下是目前明确支持MCP的核心平台:
6.1.1 Claude Desktop
官方支持等级:原生支持
集成方式:通过配置文件直接集成
特点:
– 作为MCP协议的发起方,Claude Desktop提供了最完整的MCP支持
– 支持通过`claude_desktop_config.json`配置文件添加MCP服务器
– 提供了完整的MCP客户端实现
– 支持JSON-RPC 2.0通信协议
6.1.2 Cursor
官方支持等级:社区支持
集成方式:通过插件和配置文件
特点:
– 通过Cursor Directory提供了超过1,800个MCP服务器
– 支持通过`mcp.json`配置文件管理MCP服务器
– 提供了专门的MCP安装工具
– 社区活跃,有大量定制化MCP服务器
6.1.3 Cline (VS Code)
官方支持等级:插件支持
集成方式:VS Code插件市场
特点:
– 提供了Cline MCP Marketplace
– 支持在VS Code中直接安装和管理MCP服务器
– 无需手动配置,降低了使用门槛
– 特别适合开发者工作流
6.1.4 Continue
官方支持等级:社区支持
集成方式:配置文件集成
特点:
– 作为VS Code的AI助手插件支持MCP
– 提供了灵活的配置选项
– 支持多种AI模型的MCP集成
6.1.5 Windsurf
官方支持等级:社区支持
集成方式:配置文件集成
特点:
– 新兴的AI代码编辑器
– 原生支持MCP协议
– 专注于AI辅助编程体验
6.2.1 主要工具合集平台
MCP.so
– 规模:3,056个MCP服务器(截至2024年12月)
– 特点:最大的MCP服务器集合
– 功能:服务器索引、客户端工具、新发布服务器展示
– 网址:https://mcp.so/
Smithery
– 规模:2,211个MCP服务器
– 特点:提供简单的安装命令
– 功能:一键安装、GitHub仓库链接、工具分类
– 网址:https://smithery.ai/
PulseMCP
– 规模:1,704个MCP服务器
– 特点:同时索引服务器和客户端
– 功能:服务器目录、客户端工具、每周更新
– 网址:https://www.pulsemcp.com/
Glama MCP
– 规模:1,617个MCP服务器
– 特点:集成在多模型平台中
– 功能:服务器分类、质量评分、安全检查
– 网址:https://glama.ai/mcp/servers
Cursor Directory
– 规模:1,800个MCP服务器
– 特点:专门针对Cursor用户
– 功能:Cursor规则、项目规则、MCP服务器
– 网址:https://cursor.directory/
7.2.2 官方资源
GitHub官方仓库
– 仓库:https://github.com/modelcontextprotocol/servers
– 内容:官方推荐的MCP服务器、社区贡献服务器
– 维护:Anthropic官方维护
– 特点:权威性最高,但数量相对较少
官方文档
– 技术规范:完整的MCP协议规范
– 开发指南:服务器和客户端开发教程
– 最佳实践:安全性和性能优化指南
通过对MCP技术的全面解析,我们可以清晰地认识到:MCP不仅仅是一个技术协议,更是AI发展史上的一个重要里程碑。它标志着AI从”展示型智能”向”实用型智能”的根本性转变。
7.1.1 三个核心技术要素的有机统一
这三者的有机结合构成了现代AI系统的核心架构,每一层都不可或缺,共同实现了AI与现实世界的深度融合。
7.1.2 解决了AI发展的根本性瓶颈
MCP技术的出现标志着我们正在进入一个全新的时代——AI工具化时代。在这个时代,AI不再是高高在上的技术展示,而是深入到每个人工作和生活中的智能助手。
最重要的是,MCP技术的发展体现了一个更深层的理念:AI的价值不在于替代人类,而在于增强人类的能力。通过MCP这样的标准化协议,我们可以构建一个人机协作的生态系统,让AI成为人类智慧的延伸和放大器。
附录:相关资源链接
– MCP官方文档:https://modelcontextprotocol.io/
– GitHub MCP项目:https://github.com/modelcontextprotocol
– Claude Desktop配置指南:https://claude.ai/desktop
– MCP工具合集:https://mcp.so/
– MCP开发者社区:https://github.com/modelcontextprotocol/servers
本文由 @馒有理 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。