← 返回目录

第 4 卷

第 4 / 6 卷日期:

SSE类型配置

通过 Server-Sent Events与远程服务通信。

字段类型必填说明
typestring是固定值"sse"
urlstring是SSE服务端点URL
headersObject否HTTP请求头键值对
defer_loadingboolean否是否延迟加载工具(默认false)
toolsObject否工具级别配置,可覆盖服务器级别设置

示例:

json

{ "type": "sse", "url": "https://api.example.com/mcp/sse", "headers": { "Authorization": "Bearer your-api-token", "X-API-Version": "v1"

} }

HTTP类型配置

通过 HTTP 流式传输与远程服务通信。

字段类型必填说明
typestring是固定值"http"
urlstring是HTTP服务端点URL
headersObject否HTTP请求头键值对
defer_loadingboolean否是否延迟加载工具(默认false)
toolsObject否工具级别配置,可覆盖服务器级别设置

示例:

json

{ "type": "http",

"Authorization": "Bearer secret-token", "Content-Type": "application/json"

} }

延迟加载(defer_loading)

当 MCP 服务器提供大量工具时,可以使用 defer_loading 配置来延迟加载工具,减少上下文消

耗并提高模型工具选择的准确性。

工作原理

设置 defer_loading: true 的工具不会在初始请求时加载到模型上下文

模型可以通过 ToolSearch 工具搜索这些延迟加载的工具

搜索到的工具会被激活,并在后续请求中可用

激活状态在当前会话中保持

服务器级别配置

将服务器的所有工具设为延迟加载:

json

{ "mcpServers": { "my-server": { "type": "stdio", "command": "my-mcp-server", "defer_loading": true } } }

工具级别配置

可以为单个工具覆盖服务器级别的设置:

json

{ "mcpServers": { "my-server": { "type": "stdio", "command": "my-mcp-server", "defer_loading": true, "tools": { "frequently_used_tool": { "defer_loading": false

}

继承规则

服务器defer_loading工具defer_loading最终结果
true未设置true(继承)
truefalsefalse(覆盖)
false/未设置未设置false
false/未设置truetrue(覆盖)

会话级/代理级覆盖

除了 MCP 配置里的静态 defer_loading,还可以在 --tools 参数或自定义代理 frontmatter

中使用 Defer(...) / NoDefer(...) 修饰符,临时改变某个工具或某组工具的延迟加载状态:

bash

# 临时把 GitHub 整组 MCP 工具收进延迟加载 codebuddy --tools "default,Defer(mcp__github__*)"

# 即便默认让某 MCP 工具延迟加载,本次也强制让它直接可用 codebuddy --tools "default,NoDefer(mcp__time__current_time)"

修饰符的优先级高于MCP 静态 defer_loading 配置; NoDefer 永远胜过 Defer。详见工具

延迟加载覆盖。

使用场景

工具数量多:当 MCP 服务器提供超过 30 个工具时

减少成本:减少每次请求的 token消耗

提高准确性:让模型在更少的工具中做出更准确的选择

命令行使用

添加MCP服务器

STDIO服务器

bash

# 添加本地可执行文件

全站分卷索引 · 6 卷
  1. 1第 1 卷
  2. 2第 2 卷
  3. 3第 3 卷
  4. 4第 4 卷
  5. 5第 5 卷
  6. 6第 6 卷