初次接触MCP
1.MCP 是个什么东东(Model Context Protocol)
2024年11月底,是由Anthropic公司提出并主导开发的一种开放标准协议。它的核心目的是为大语言模型(LLM)安全、标准化地接入外部工具和数据源提供一个统一的框架。
Model 模型:指的是LLM 大语言模型
Context:上下文是在执行任务时提供给模型的额外信息,这些信息来自外部世界(网页,文档,数据库,企业内部资料等),而非其内部训练数据
Protocol:协议是指一套定义好的通信规则和数据格式,确保不同组件之间能顺畅对话
2.MCP 到底有什么用?
我理解是突破预训练数据牢笼,有一句话描述:一枝红杏出墙来,扩展这个院里(预训练)的景色。那就用更官方的话术总结下:
2.1 突破知识的截止限制
大模型的训练数据有截止日期,无法获知最新信息。通过MCP连接网络搜索、数据库等工具,模型可以获取实时信息(如新闻、天气、股价)。
2.2 访问私有和特定上下文
模型无法直接访问你的个人数据(如本地文件、Notion笔记、公司CRM系统)。MCP可以安全地让模型在授权下读取这些信息,从而提供高度个性化的服务。
2.3 扩展计算和能力边界
模型本身不会执行代码或操作软件。通过MCP,模型可以调用计算器、代码解释器、图像生成器等工具,完成更复杂的任务。
2.4 安全性与可控性
它强制要求显式用户授权,所有对工具的访问都必须经过用户同意。并且工具访问通常在沙盒环境中进行,严格限制了模型的权限,防止其进行危险或未经授权的操作。
3.举例说明MCP执行流程
1.用户输入:总结我的桌面的report.pdf
2.mcp客户端 从 MCP server 获取可用的工具列表(如下图展示)
3.客户端拿到工具列表(带工具描述)+ 用户查询(输入) 一起发送给 LLM。
4.LLM 会自动决定是否需要使用工具,使用哪些工具。
5. 若要使用工具,MCP 客户端通过 MCP server 执行相应的工具(调用接口)。
6. 工具调用返回结果再发送回 大模型。
7.LLM 大模型基于所有信息生成自然语言返回。
8. 最终会将汇总信息展示给用户。
4. 总结:
MCP通过一套标准化的协议,将大模型、客户端和外部工具解耦又高效地连接起来。其运行流程可以概括为:用户提问 -> 模型决策工具使用 -> 客户端协调与授权 -> 工具执行 -> 结果返回 -> 模型生成最终答案
5.github 搭建自己mcp服务
https://github.com/punkpeye/awesome-mcp-servers
该网址展示了mcp服务说明,按照说明就可以搭建自己的mcp服务。
工具分类截图如下: