我爱免费 发表于 2025-9-2 10:30

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]
查看完整版本: AI 里的MCP