MCP (模型上下文协议)
摘要
MCP (Model Context Protocol,模型上下文协议) 是一种简化AI调用外部工具的协议。相比传统的Function Calling方法,MCP提供了一种更简洁的解决方案。它通过封装外部工具,使AI能够通过统一的接口与这些工具交互,从而降低了开发和维护成本。
主要特点
- 💡 MCP协议通过封装外部工具,简化了AI调用外部工具的流程
- 📦 MCP Client和MCP Server之间支持两种通信方式:标准输入输出流和HTTP协议的SSE方式,底层基于JSON RPC 2.0实现
- 📡 与AI大模型的通信采用简单的提示词方式,而非复杂的Function Calling技术
- 📝 这种”最朴素”的提示词方式使得任何指令遵循能力好的大模型都可以使用MCP技术
- 🛠️ MCP协议只规定了Client和Server之间的通信,而与AI大模型之间的通信方式更加开放灵活
通信原理
MCP底层工作原理涉及两部分通信:
-
MCP客户端与服务器之间:
- 通过标准输入输出流:服务器作为客户端子进程,适用于两者在同一台计算机
- 通过HTTP协议使用SSE方式:服务器添加路由建立持久连接和接收客户端消息,适用于两者不在同一台计算机
- 通信协议基于JSON RPC 2.0实现
-
MCP客户端与AI大模型之间:
- 令人惊讶的是,不使用Function Calling技术
- 而是将包含大量外部工具详细信息的提示词直接发送给AI
- AI根据提示词中的约定,使用特定标签指定要调用的外部工具及其参数
大模型实时数据问题解决方案
- 大语言模型无法回答实时数据问题,因为它使用过时数据训练
- MCP作为中介,允许大模型访问外部工具来获取实时数据
- 例如:使用Python爬虫获取实时粉丝数等信息
思考问题
- MCP协议在实际应用中,如何保证外部工具的安全性?
- 如果提示词过长,是否会影响AI的性能和准确性?有没有更好的优化方案?
- MCP协议未来是否会规范MCP Client与AI大模型之间的通信方式?