MCP即Model Context Protocol(模型上下文协议),是由Anthropic公司于2024年11月26日推出的开放标准框架,旨在为大型语言模型与外部数据源、工具及系统建立标准化交互协议,以打破AI与数据之间的连接壁垒。
MCP架构与Appium有一定相似性,主要体现在以下方面: - C/S架构:MCP采用客户端-服务器模型,分为协议层和传输层。Appium同样基于C/S架构,由客户端和服务器两部分组成。在MCP中,客户端嵌入在LLM应用中负责发送请求并接收响应,服务器是轻量级程序,通过标准化接口暴露功能。Appium的客户端负责编写和执行测试脚本,服务器是基于Node.js的HTTP服务器,负责接收客户端请求,解析并在移动设备上执行相应操作。 - 消息通信:MCP在传输层使用JSON - RPC 2.0进行消息交换,支持标准输入输出和HTTP/SSE等传输模式。Appium客户端与服务器端通过JSON Wire Protocol进行通信。两者都通过特定的协议来实现客户端和服务器之间的消息传递,以完成相应的任务。 不过,二者也有不同之处。MCP主要用于AI智能体与外部数据源、工具的交互,让AI模型能连接并访问外部资源。而Appium是用于移动应用的UI自动化测试,主要针对移动设备上的应用程序进行测试操作。
MCP Server具有提供资源、工具和** prompts(提示)**三大能力。其中最常用的功能通常是提供工具,原因是它能让LLM与外界系统交互,完成如爬取网页内容、获取天气信息等复杂任务,极大地扩展了LLM的应用范围和实际能力。
Cursor使用MCP来允许AI访问和处理多种数据源,包括本地文件、远程API和数据库等。 MCP Server的好处包括: - 安全连接:无需将API密钥等敏感信息直接提供给LLM,由MCP Server自己控制资源访问。- 受控数据流:所有数据交互通过标准化协议进行,降低数据泄露风险。- 选择性授权:开发者能精确控制AI可访问的资源范围。 以下是一些MCP Server的实例: - PostgreSQL管家:让AI能够查询数据库,如电商运营者可通过AI自动生成SQL并返回可视化图表,实现"查上周北京销量Top10"等功能。- GitHub指挥官:可实现代码库智能管理,如开发者说"合并dev分支到master",AI自动创建PR、检查冲突、生成更新日志。- 文件魔术师:用于全自动文件处理,例如整理会议录音时,AI自动转文字,提取待办事项,生成会议纪要.md文件。
MCP主要使用JSON - RPC 2.0进行消息通信,支持以下通信方式:
- 标准输入输出:适用于简单的本地测试和开发场景,通过命令行将请求输入到MCP Server,并从标准输出获取响应。 - HTTP:可用于客户端与服务器在不同主机或网络环境下的通信,能方便地与各种Web应用和服务集成,通过HTTP请求发送消息,服务器以HTTP响应返回结果。 - Server - Sent Events(SSE):用于实现服务器向客户端推送实时更新,适用于需要及时获取模型处理结果或状态变化的场景,如长轮询或实时交互的应用。 在实际应用中,HTTP是较为常用的通信方式。因为它具有广泛的兼容性和成熟的生态系统,几乎所有的现代编程语言和框架都支持HTTP通信,便于开发人员进行集成和扩展,能轻松实现客户端与服务器之间的请求和响应交互,适用于多种应用场景,包括Web应用、移动应用等与MCP Server进行通信的场景。