过去两年,大模型最直观的价值是“更会回答”:写文案、改邮件、做总结、出方案,看起来样样精通。但当它走进真实业务场景,你很快会发现另一道更关键的门槛——答案之外的事实与动作。客户信息在 CRM 里、订单状态在系统里、资料在文档库里、最新动态在搜索里;如果 LLM 不能安全地“查得到”、也不能可靠地“做得到”,最终就只能停留在高级复制粘贴,离“业务闭环”差一步。


这一步,正是 MCP(Model Context Protocol) 与 GPTBots 组合要解决的问题:MCP 用统一协议把工具、数据源与外部系统标准化接入,让模型具备可控的“调用能力”;GPTBots 则把这些能力沉淀为平台资产,通过工具开关、权限、配额与审计把风险收住,再用 Agent 编排把调用串成流程。于是 LLM 不再只是“会回答”,而是开始真正“能办事”——能检索、能核验、能执行、还能把结果回写到业务系统里。


1 理解MCP

1.1 概念

MCP(Model Context Protocol,模型上下文协议)是一套用于“上下文交换”的标准协议,目的是让 AI 应用(Host)以统一方式连接不同的外部能力(Server),把工具、数据、提示模板等上下文安全、结构化地提供给模型使用。

它解决的问题:LLM 本身不自带你的业务数据与系统能力;没有统一接口会导致每个项目重复对接、难迁移、难治理。

它不解决的问题:MCP 只规定“上下文如何交换”,不规定你如何选模型、如何做 Prompt、如何管理上下文策略。


1.2 架构

MCP 是典型 Client-Server 架构,如下图:


其中,

(1)MCP Host

AI 应用本体(例如 IDE、桌面客户端、平台产品),负责管理一个或多个 MCP Client。

(2)MCP Client

与某个 MCP Server 保持连接,向 Server 获取上下文供 Host 使用。

(3)MCP Server

提供上下文与能力(Tools/Resources/Prompts),可以本地运行也可以远程运行,两种形态:

本地 Server(Stdio):通常服务单个 Client(同机进程间通信,性能高)

远程 Server(Streamable HTTP):通常服务多个 Client(跨网络,支持鉴权)


1.3 分层设计

MCP 分为两层:数据层和传输层。

(1)数据层(Data layer):基于 JSON-RPC 2.0 的消息结构与语义,定义生命周期、核心原语(tools/resources/prompts/notifications)等。

(2)传输层(Transport layer):定义通信机制与通道(如何建立连接、如何分帧、如何鉴权)。

1.3.1 数据层

1.3.1.1 生命周期管理(Lifecycle management)

MCP 是一个有状态协议(注意:Streamable HTTP 传输下,部分子集可做成近似无状态),需要在连接开始时做能力协商(capability negotiation),包括:

(1)连接初始化

(2)能力声明与协商(支持 tools/resources/prompts/notifications 等)

(3)连接终止

1.3.1.2 MCP 的“三大核心”

MCP 定义了 Server 可暴露的三类核心原语:

(1)Tools(工具):可执行函数,供 AI 应用调用以完成动作

例:文件操作、API 调用、数据库查询

(2)Resources(资源):提供上下文数据的数据源

例:文件内容、数据库记录、API 响应

(3)Prompts(提示模板):可复用的交互模板

例:系统提示词、few-shot 示例模板

1.3.1.3 配套三类方法

(1)发现(Discovery):*/list(例如 tools/list)

(2)获取/读取(Retrieval):*/get 或 resources/read

(3)执行(Execution):tools/call(仅 tools)

这种设计允许“列表是动态的”(比如权限变化导致可用工具变化)。

1.3.1.4 JSON-RPC 2.0

MCP 选择 JSON-RPC 2.0,因为它结构清晰、实现成本低、天然支持“请求-响应 + 通知”,非常适合 MCP 这种需要工具发现、工具调用、实时变更通知的协议层通信。JSON-RPC 2.0 是一种轻量的远程过程调用(RPC)协议:用 JSON 来描述“调用什么方法、传什么参数、返回什么结果/错误”。它不绑定具体传输方式,既可以跑在 HTTP、WebSocket,也可以跑在进程间通信(如 stdio)之上。

核心概念:

Request(请求):客户端发起一次方法调用

关键字段:jsonrpc: "2.0"、method、params(可选)、id(用于匹配响应)

Response(响应):服务端对带 id 的请求返回结果

成功返回 result;失败返回 error

Notification(通知):不需要响应的消息(没有 id),常用于事件推送/状态变化

三个最常见的消息形态(示例)

(1)请求(Request)

{  "jsonrpc": "2.0",  "id": 1,  "method": "tools/list",  "params": {}}

(2)成功响应(Response - result)

{  "jsonrpc": "2.0",  "id": 1,  "result": { "tools": [] }}

(3)错误响应(Response - error)

{  "jsonrpc": "2.0",  "id": 1,  "error": {    "code": -32601,    "message": "Method not found"  }}

1.3.2 传输层

传输层负责通道、鉴权与安全通信,MCP 目前支持两种传输机制:

(1)Stdio transport

同机进程通信(标准输入输出)

性能好、无网络开销

常用于“本地 MCP Server”

(2)Streamable HTTP transport

Client→Server 使用 HTTP POST

可选 SSE 做流式返回

支持常见 HTTP 鉴权方式:Bearer Token、API Key、自定义 Header

MCP 推荐使用 OAuth 获取鉴权 token

传输层的目标是:让上层 JSON-RPC 2.0 消息格式在不同传输方式下保持一致。


2 GPTBots与MCP

在 GPTBots 平台中,MCP 的使用流程可以概括为“先接入、再选择、再治理、再编排”。首先,管理员在平台侧配置 MCP 服务(本地或远程),完成连接方式与鉴权信息后,GPTBots 会通过 MCP 协议自动拉取该服务提供的 Tool 列表(工具发现)。接着,平台支持对工具进行开启/关闭与权限控制:哪些 Tool 对哪些 Agent/角色可见、是否允许执行高风险动作、调用频率与配额如何限制,都可以在治理层做统一约束。


在此基础上,运营或开发人员可以为某个 Agent 添加 MCP 能力(挂载指定的 MCP 服务/工具集合)。当用户提出问题时,GPTBots 会先让 LLM 理解任务并判断是否需要外部工具;一旦到了“需要检索真实信息/访问业务系统/执行动作”的合适时机,Agent 就会通过 MCP Client 发起标准化的 tools/call 调用,获取结构化的 ToolResult,再将结果回灌给 LLM 作为上下文,最终生成更准确、可验证、可追溯的答案。整体来看,GPTBots 让 MCP 的价值不仅停留在“能调用工具”,而是通过“工具开关 + 权限/配额/审计”的组合,把工具调用变成一套可复用、可治理、可规模化的生产能力。


2.1 工作流程

GPTBots中MCP工作流程如下图:


2.2 实践

2.2.1 接入MCP

GPTBots通过MCP协议自动拉取该服务提供的 Tool 列表(工具发现)。

2.2.2 选择与治理

根据需要选择需要使用的Server,这里只保留查询天气的Server。


2.2.3 编排

在GPTBots的Agent中添加MCP,并使用。


3 未来发展趋势

未来一段时间,LLM 的竞争焦点将从“生成能力”转向“执行能力”,而 MCP 会像 Agent 时代的标准接口一样,推动工具与数据的接入从“项目定制”走向“生态互通”。在这个过程中,GPTBots 这样的 Agent 平台会承担更关键的角色:一方面把各类 MCP 工具沉淀为可复用资产,让组织内不同业务线可以快速组装出面向客服、销售、运营、研发的专用 Agent;另一方面把权限、配额、审计、敏感策略与审批机制平台化,让“能办事”不等于“乱办事”。更进一步,随着多 Agent 协作与长任务编排普及,工具调用会从单点能力升级为可观测、可回放、可补偿的“执行链路”,LLM 将逐步从对话助手演进为真正的业务执行系统:能查证、能行动、能回写、还能在可控边界内持续优化流程与效果。

0条留言
快速联系
内容标签
#GPTBots

极光官方微信公众号

关注我们,即时获取最新极光资讯

0/140
发送

现在注册,领取新人大礼包

免费注册

您的浏览器版本过低

为了您在极光官网获得最佳的访问体验,建议您升级最新的浏览器。