CSDN热搜
火爆 AI 编程圈的 MCP 到底是个什么东西?
但是自从 2024 年 11 月底 Claude (Anthropic) 主导发布了 MCP(Model Context Protocol 模型上下文协议) 后,AI 应用层的开发算是进入了新的时代。
MCP 就是以更标准的方式让 LLM Chat 使用不同工具,更简单的可视化如下图所示 这样你应该更容易理解“中间协议层”的概念了。Anthropic 旨在实现 LLM Tool Call 的标准。
MCP 是一个标准协议,如同电子设备的 Type C 协议(可以充电也可以传输数据),使 AI 模型能够与不同的 API 和数据源无缝交互。
它需要访问一些外部资源,比如代码库、文档或者调试工具。 MCP 服务器就像是一个中介,它连接了这些资源和 AI 助手。
当你需要查找某个函数的用法时,AI 助手通过 MCP 客户端向 MCP 服务器发送请求。 MCP 服务器接收到请求后,去代码库或文档中查找相关信息。 找到信息后,MCP 服务器将结果返回给 AI 助手。 AI 助手根据返回的信息,生成一段代码或解释,展示给你。
传统方式:你需要自己打开 Excel、翻微信记录、编辑在线文档,手动整理信息,耗时费力。
使用 MCP 后,你直接对 AI 说:“帮我查一下最近数学考试的平均分,把不及格的同学名单整理到值日表里,并在微信群提醒他们补考。”AI 会自动完成:用 “万能插头” MCP 连接你的电脑,读取 Excel 成绩。用 MCP 连接微信,找到相关聊天记录。用 MCP 修改在线文档,更新值日表。整个过程不需要你手动操作,数据也不会离开你的设备,安全又高效。
所以,MCP 为 AI 应用提供了一个强大的工具,使其能够更灵活、更安全地与外部世界交互。
新的 AI 应用也很多,但我们都能感受到的一点是,目前市场上的 AI 应用基本都是全新的服务,和我们原来常用的服务和系统并没有集成,换句话说,AI 应用和我们已有系统集成发展的很缓慢。
MCP没有出现前,在开发的过程中,将 AI 模型集成现有的系统或者第三方系统确实挺麻烦。 虽然市面上有一些框架支持 Agent 开发,例如 LangChain Tools, LlamaIndex 或者是 Vercel AI SDK。
例如,我们目前还不能同时通过某个 AI 应用来做到联网搜索、发送邮件、发布自己的博客等等 这些功能单个实现都不是很难,但是如果要全部集成到一个系统里面,就会变得遥不可及。
询问 AI 来查询本地数据库已有的数据来辅助开发 询问 AI 搜索 Github Issue 来判断某问题是不是已知的bug 通过 AI 将某个 PR 的意见发送给同事的即时通讯软件(例如 Slack)来 Code Review 通过 AI 查询甚至修改当前 AWS、Azure 的配置来完成部署
上述这些功能通过 MCP 目前正在变为现实,大家可以关注 Cursor MCP 和 Windsurf MCP 获取更多的信息。 可以试试用 Cursor MCP + browsertools 插件来体验一下在 Cursor 中自动获取 Chrome dev tools console log 的能力。
这里面有很多的原因,一方面是企业级的数据很敏感,大多数企业都要很长的时间和流程来动。 另一个方面是技术方面,我们缺少一个开放的、通用的、有共识的协议标准。
如果你是一个对 AI 模型熟悉的开发人员,想必对 Anthropic 这个公司不会陌生 他们发布了 Claude 3.5 Sonnet 的模型,到目前为止应该还是最强的编程 AI 模型(就在2025年2月底,发布了更震撼的3.7)。 这类协议的发布最好机会应该是属于 OpenAI 的,如果 OpenAI 刚发布 GPT 时就推动协议,相信大家都不会拒绝。 但是 OpenAI 变成了 CloseAI,只发布了一个封闭的 GPTs 这种需要主导和共识的标准协议一般很难社区自发形成,一般由行业巨头来主导。 Claude 发布了 MCP 后,官方的 Claude Desktop 就开放了 MCP 功能,并且推动了开源组织 Model Context Protocol,由不同的公司和社区进行参与,例如下面就列举了一些由不同组织发布 MCP 服务器的例子。
我们之前博客介绍的 AI Agent,不就是用来集成不同的服务吗?为什么又出现了 MCP。
代码集成的方式也不一样。由不同的 AI 模型平台来定义和实现。 如果我们使用 Function Calling,那么需要通过代码给 LLM 提供一组 functions,并且提供清晰的函数描述、函数输入和输出,> 那么 LLM 就可以根据清晰的结构化数据进行推理,执行函数。
缺点:处理不好多轮对话和复杂需求 如果需要处理很多的任务,那么 Function Calling 的代码比较难维护。 适用场景:适合边界清晰、描述明确的任务。
如果需要处理很多的任务,那么 Function Calling 的代码比较难维护。
用户 -- AI Agent -- AI 大模型(LLM) 传统的 AI 聊天仅提供建议或者需要手动执行任务,AI Agent 则可以分析具体情况,做出决策,并自行采取行动。 AI Agent 可以利用 MCP 提供的功能描述来理解更多的上下文,并在各种平台/服务自动执行任务。
普通 AI 应用 : 用户 -- AI 大模型(LLM) AI Agent 应用 : 用户 -- AI Agent (访问: RAG / 网站 / 数据库 / 本地资源 / ...) -- AI 大模型(LLM)
普通AI应用与AI Agent应用的主要区别在于自主性、交互性和任务复杂性:
示例
总结:普通AI应用功能单一且被动,而AI Agent应用则更自主、交互性强,适合处理复杂任务。
https://github.com/modelcontextprotocol
由第三方平台构建的 MCP 服务器。
更多的可以查看社区服务器列表: MCP Servers Repository
下面是一些由开源社区开发和维护的 MCP 服务器。 MCP Servers Repository
MCP Servers Repository
使用道具 举报
本版积分规则 回帖并转播 回帖后跳转到最后一页
程序园优秀签约作者
0
粉丝关注
17
主题发布