AI 里的MCP
作者:微信文章MCP 是一个开放协议,它规范了应用程序如何向大型语言模型提供上下文。它就像USB-C 端口被用于AI application。
MCP的概念
MCP遵循client-server的架构。这有一个MCP host ,比如Claude Code 、Claude Desttop、或字节的Trae,它会与一个或多个MCP server 建立链接。MCP host 通过为每个MCP server 创建一个MCP client 来实现它。每个mcp client 会和mcp server 保持一个独享的一对一的链接。
关键的参与者
MCP Host: ai 应用,协调和管理一个或多个MCP clients
MCP Client: 维护与 MCP 服务器的连接并从 MCP 服务器获取上下文以供 MCP 主机使用的组件
MCP Server: 一个提供给MCP client 上下文的程序
举个例子:VScode 充当MCP host,当vscode 要与MCP server 建立链接时,比如 Sentry MCP server, vscode 运行时会初始化一个MCP client 对象与Sentry MCP server 保持链接。
MCP server 可以运行在本地也可以运行在远端。
MCP 包括2层:
数据层:定义了基于JSON-RPC 的client-server 通信协议,包括生命周期管理,核心原语,如:tools, resources, prompts 和notifications
传输层
原语(primitives)
primitives 是MCP 里最重要的概念。它定义了clients 和server 能为彼此提供什么。
MCP 定义了三server 能暴露的个核心原语:
Tools: 可执行的函数:ai application 能调用它来执行action。例如文件操作,api 调用,数据库查询。
Pesources:为ai application 提供上下文信息的data source ,如文件内容,数据库记录,api response
Prompts
本次学习按照步骤用python写了个mcp server,并应用在trae 上。
build server https://modelcontextprotocol.io/quickstart/server
由于claude 安装不了,所以用了trae,关于trae 怎么配置MCP server,链接在https://docs.trae.ai/ide/model-context-protocol?_lang=zh。效果如下
这里的weather mcp server是调用了api 去查询天气。智能体姑且认为是ai agent 吧,翻译过来差不多是一个意思。智能体能够分析你的问题并选择一个合适的mcp server,并能将格式正确的传给MCP server,这是很厉害的。
页:
[1]