图片
简单来说,MCP 就像 AI 应用的 USB-C 端口。
一句话通俗解释:
MCP就像是一个“超级连接器”,可以看作强大的拓展坞,能让聊天机器人和外面的各种数据(比如数据库、文件等)轻松“牵手”,让它们更好地一起工作,就像让机器人有了更多“知识库”和“工具箱”。
正如 USB-C 提供了一种将设备连接到各种配件的标准化方式一样,MCP 也标准化了AI 应用程序连接到不同数据源和工具的方式。
图片
接下来,深入了解一下,请看下面这张图!
图片
MCP架构由三个核心组件组成:MCP主机、MCP客户端和MCP服务器。这些组件协同工作,确保AI应用、外部工具和数据处理系统之间的安全通信。
1、MCPHost(AI应用环境):如Claude Desktop、Cursor等,运行MCP客户端并管理外部工具交互,提供执行AI任务的环境。
2、MCP Client(中介层):处理与MCP服务器的通信,查询工具功能,管理请求/响应及通知。
图片
3、MCPServer(工具提供方):提供工具、资源和提示的核心功能,支持外部操作、数据访问和预定义模板。
- 工具(Tools):调用外部API(如天气数据、情感分析)。
- 资源(Resources):提供结构化/非结构化数据(如数据库、云存储)。
- 提示(Prompts):预定义模板优化AI响应(如客服话术、标注任务)。
图片
了解客户端-服务器通信对于构建您自己的 MCP 客户端-服务器至关重要。
首先,我们来理解一下上面这张图:
1、客户端发送初始请求以学习服务器功能。
2、然后,服务器使用其功能详细信息进行响应。
3、例如,Weather API 服务器在被调用时,可以使用可用的 “tools”、“prompts templates” 和任何其他资源供客户端使用。
一旦此交换完成,Client 确认连接成功并继续进一步的消息交换。
在传统的 API 设置中:
1)如果 API 最初需要两个参数(例如, 天气服务的位置和日期 ),则用户会集成他们的应用程序以使用这些确切参数发送请求。
图片
2)稍后,如果决定添加第三个必需参数(例如, 摄氏度或华氏度等温度单位的单位),则 API 的协定会发生变化。
图片
3)这意味着 API 的所有用户都必须更新其代码以包含新参数。如果他们不更新,他们的请求可能会失败、返回错误或提供不完整的结果。
图片
MCP 的设计解决了这个问题
(1)MCP 引入了一种动态且灵活的方法,与传统 API 形成鲜明对比。
(2)例如,当客户端(例如,像 Claude Desktop 这样的 AI 应用程序)连接到 MCP 服务器(例如,您的天气服务)时,它会发送一个初始请求来了解服务器的功能。
(3)服务器将响应有关其可用工具、资源、提示和参数的详细信息。例如,如果您的天气 API 最初支持位置和日期 ,则服务器会将这些作为其功能的一部分进行传达。
图片
(4)如果稍后添加 unit 参数,则 MCP 服务器可以在下次交换期间动态更新其功能描述。客户端不需要对参数进行硬编码或预定义,它只需查询服务器的当前功能并相应地进行调整。
图片
(5)这样,客户端就可以使用更新的功能(例如,在其请求中包含 unit)动态调整其行为,而无需重写或重新部署代码。
我们希望这可以很好地阐明了 MCP 的作用。