MCP 中间软件
连接代理运行到一个或多个的 AG-UI 中间软件 MCP 磁共振 服务器。 它列出每个服务器的工具,将它们注入运行中,执行 生成工具调用服务器侧,并循环代理直到没有 MCP 工具调用 ——均作为单一连续运行提供给消费者.
使用量
import { MCPMiddleware } from "@ag-ui/mcp-middleware";
agent.use(
new MCPMiddleware([
{
type: "http",
url: "https://example.com/mcp",
serverId: "example",
headers: { Authorization: "Bearer <token>" },
},
]),
);
行为
- 工具喷入. 服务器上报的每个工具都会暴露在代理中
名称间隔为
mcp__{serverId}__{tool}(环卫至[a-zA-Z0-9_-], (中文(简体) ), 切换到64个字符,并切换到一个_N打开后缀 碰撞).serverId默认为server{index}当省略时。 列名 每个中间软件实例发生一次并被缓存. - 执行循环. 当完成的运行离开 MCP 工具打开时
中间软件执行它们(并行),发出 a
TOOL_CALL_RESULT每个人, 并且——如果没有其他东西是开放的——以附加的结果开始另一次运行. 如果非MCP工具的调用仍然开放(例如前端工具),则停止和手 转到前端 不针对注入的MCP工具的工具呼叫是 从来没有碰过. - 单跑介绍. 整个多点穿透的循环 看起来像一个
运行到消费者:第一个
RUN_STARTED已转发,继续RUN_STARTED事件被压制,一个终端RUN_FINISHED实值 只有在循环停止时被冲走 . - 出逃后卫.
maxIterations(默认)32) 上限数 工具执行回合。 值被夹入正整数.
配置
interface MCPClientConfig {
type: "http" | "sse";
url: string;
serverId?: string;
headers?: Record<string, string>;
}
interface MCPMiddlewareOptions {
maxIterations?: number; // default 32
}
通过构建每个请求的中间软件支持每个请求的认证
headers 通过运输机的外出MCP请求盖章
requestInit。 。 。 .
SSE 备注 : 联 合 国
sse运输,headers仅适用于 POST 频道; SSE 事件流使用eventSourceInit更倾向于http(可流的)运输,当头必须覆盖所有交通.