MCP-简介
这是一篇迟到了一年的文章。于2024年12月学习使用,所以请以一年前的背景来看此文。AI的发展之迅猛,很多内容或许早已更新,待后续学习更新。【AI大模型教程】
一.MCP定义和背景
Model Context Protocol :模型上下文协议,标准化了应用程序向LLM提供上下文的方式。这是一项革命性的开放标准,旨在改变人工智能与世界互动的方式。
anthropic公司11月26号发布的API标准,该公司成立于2021年,旧金山,创始人是两兄妹都从openAI出来的。因为坚持扩展假设和安全性的重要性与openAI理念不合。11月22日亚马逊追加投资40亿美元,亚马逊对Anthropic的总投资额达到80亿美元。Anthropic需要使用亚马逊旗下的芯片训练和部署AI模型。谷歌投资20亿美元,Anthropic今年初的估值超过180亿美元。Anthropic的旗舰产品为Claude大语言模型。竞争对手OpenAI今年10月融资66亿美元后,估值已高达1570亿美元。
MCP充当通用连接器,将 AI 系统与各种数据源连接起来,无缝集成本地数据或远程API。
- 本地数据:直接访问数据库、文件和服务。
- 远程 API:连接到 Slack、GitHub 等平台。一般需要身份验证
MCP 让模型(任何模型,不仅仅是 Anthropic 的模型)从业务工具和软件等来源以及内容存储库和应用程序开发环境中提取数据来完成任务。
它在执行中会找我们要权限。我选择这一整次对话都可以给它开放权限(Allow for This Chat)。大模型要做什么操作,找我们要什么样的权限,权限开放的时间范围多大…… 我们都可以自己来控制。
MCP解决了以下问题:
- 数据隔离,数据孤岛
- 数据上传到他人服务器上,存在安全隐患。
- 上传过程,数据大小和类型有严格限制。
- 让大模型获得本地管理员级别处理权限,如果它被植入不安全的代码,可能导致隐私和重要数据泄露
二. 核心架构
三.使用示例及交互流程
Claude desktop交互,提供日志查看。Claude是Anthropic发布的大型语言模型,Claude 3超过了GPT-4和Gemini 1.0 Ultra。目前版本:claude3.5 Sonnet(日常),claude 3.5Haiku(轻量), claude 3Opus(高端)
anthropic公司发布Claude3.5 还发布了computer use 这个功能,可以控制用户的电脑进行操作,比如自动点外卖。具体方式是多模态理解屏幕,定位像素,进行输入和点击,完成相应任务,官方称之为理念转变:从工具适应模型,到模型适应工具。
claude客户端使用界面如下:
改写了智能体:
Claude 不仅会自动打开浏览器,输入需求,还会生成相关的代码,自动下载到本地导入vscode,直接运行出bug还能自己修复。
参考以下文章中的官方视频:
MCP使用示例:
1.sqlite
2.文件系统
3.github
4.Puppeteer 爬虫工具,自动化测试,页面捕获
示例1:使用sqlite数据库和文件服务器:
你能连接到我的sqlite数据库,帮我查看有哪些products 和对应的prices,并记录进我本地的文件1.md里吗,谢谢
中间会找我要执行权限:
交互流程:
示例2:使用github:
你能帮我创建一个90年代风格的个人网站,运行,然后再将以上代码提交到我的github上,请你自己建一个新仓库,名字你自己定义,项目名你也自己取个,分支也你自己定义,如果发现bug,也请修正后再次提交。谢谢!
四.通信的消息格式
JSON-RPC 2.0是一个无状态且轻量级的远程过程调用(RPC)协议,它可以在 HTTP、WebSocket 等多种传输协议上使用,使用JSON(RFC 4627)作为数据格式。
适用场景:区块链和加密货币:许多区块链和加密货币项目,如 Bitcoin 和 Ethereum,都使用 JSON-RPC 作为与节点通信的协议,提供查询区块链数据和发送交易等功能。
请求格式示例:
{
"jsonrpc": "2.0", #表示 JSON-RPC 版本号
"method": "subtract", #要调用的方法名称
"params": [42, 23], #传递给方法的参数
"id": 1 #标识请求的唯一 ID
}
响应:
{
"jsonrpc": "2.0", #表示 JSON-RPC 版本号
"result": 19, #方法调用的结果
"id": 1 #与请求中的 ID 对应
}
五.如何选择使用哪个服务的
六.目前已集成的服务
modelcontextprotocol.io/examples
MCP作为开放协议,允许任何开发者为其产品创建 MCP 服务器或客户端。
客户端这些:或者写代码自定义github.com/AI-QL/chat-…
服务端:
七.是如何实现的
数据库,connect,执行sql
文件:读取路径操作
远程github:掉的api接口,需要提供token,
typeScript
八.资源发现和更新
九.前沿发展状态
MCP还不支持远程调用,根本的原因应该在于他们还没有想好身份认证怎么做。与 Palantir 和 AWS 合作,为美国情报和国防机构提供 Claude 系列模型的访问权限。再融40亿美元,Claude瞄准toB市场,双方都打的是企业客户这块肥肉的主意。
十.可扩展性
参考内容: