代理级联(MCP服务器)
概述
agent-cascade 将模型上下文协议(MCP)客户端连接到本地语言模型端点(例如,LM Studio、Ollama兼容服务器)。它提供了一个单一的聊天完成工具,因此您可以将来自Windsurf/Cascade的请求直接路由到本地托管模型,而无需依赖托管API。
支持的功能
local_chatMCP工具-将提示转发给兼容LM Studio的工具/chat/completions端点,并将响应返回给客户端。local.chat请求处理程序-可选的直接方法(适用于支持调用自定义MCP方法的客户端),其语义与工具相同。
不包括
自主的“继续工作”循环是 不 这包的一部分。引用的早期文档 cascade.auto,但这种行为存在于另一种工具中,不会在这里发布。
环境配置
| 变量 | 默认值 | 用途 |
|---|---|---|
LM_BASE_URL | http://10.5.0.2:11434/v1 | 本地LM Studio/Ollama兼容API的基本URL。 |
DEFAULT_MODEL | qwen2.5-coder | 当调用者不提供模型时使用。 |
备注:默认情况下,对响应不施加令牌限制。如果需要限制响应长度,请指定 max_tokens 调用工具时。
安装和建造
cd tools/agent-cascade
npm install
npm run build这编译 src/server.ts 进入 dist/server.js,这是您从MCP客户端配置中引用的入口点。
风帆/瀑布配置
- 打开 Cascade面板>插件>管理>查看原始配置.
- 插入(或更新)下面的服务器块并保存。
- 刷新Cascade窗口,以便加载新服务器。
{
"mcpServers": {
"agent-cascade": {
"command": "node",
"args": ["./dist/server.js"],
"env": {
"LM_BASE_URL": "http://10.5.0.2:11434/v1",
"DEFAULT_MODEL": "qwen2.5-coder"
},
"disabled": false,
"disabledTools": []
}
}
}提示:对于便携式设置,请先构建,然后指向本地构建的绝对路径dist/server.js某些环境无法扩展${workspaceFolder}.
自我询问/反思(同模型子调用)
是的,您可以将此工具指向客户端正在使用的本地模型,并让它“询问自己”。服务器端不需要任何特殊的东西: agent-cascade 是您的瘦代理 /chat/completions 终点。为了保持这种安全性和可预测性,请将反射作为一个单独的、有预算的子调用,并在编排器/代理逻辑中强制执行深度上限和短输出。
- 使用小预算:设置
max_tokens低值(例如64-256)和短值timeout_ms. - 保持简洁:通过a
system需要简洁输出的提示。 - 控制调用者中的递归:在代理中强制最大“反射深度”;服务器不会自行循环。
通过MCP工具/调用的子调用示例:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "local_chat",
"arguments": {
"system": "You are a terse reviewer. Reply in <=5 short bullets.",
"prompt": "Reflect on the draft plan; list obvious risks only.",
"max_tokens": 128,
"temperature": 0.1,
"timeout_ms": 10000
}
}
}此代码片段是可插入且安全的:它只是对预算和约束紧张的本地模型的又一次调用。如果您正在执行多步工作流,请在调用者中跟踪您自己的深度/预算,并在达到限制时停止。
演示
下面的屏幕截图显示 agent-cascade 在操作中,通过Windsurf/Cascade将聊天完成请求成功路由到本地语言模型:
*示例:The local_chat 工具回复“你好!我在这里,随时准备帮助你解决任何编码问题或任务。”*
故障排除
- 超时或空响应 -增加
timeout_ms调用该工具时,请确保模型已加载到LM Studio中。 - HTTP错误 -服务器显示上游状态代码和正文的前500个字符,以突出显示配置问题。
- 未找到模型 -要么通过
model工具调用或更新中的字段DEFAULT_MODEL以匹配本地端点提供的模型。
