← 返回目录

第 6 卷

第 6 / 6 卷日期:

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

}, "description": "远程 API 服务"

} } }

Node.js 本地服务器

json

{ "mcpServers": { "node-server": { "type": "stdio", "command": "node", "args": ["./mcp-server.js"], "env": { "NODE_ENV": "production"

}, "description": "Node.js MCP 服务器"

} } }

扩展开发

创建自定义MCP服务器

1.选择实现语言: Python、Node.js、Go 等

2.实现 MCP协议:使用官方 SDK 或自行实现

3.定义工具接口:描述工具功能和参数

4.处理请求:接收和处理来自 CodeBuddy 的请求

5.返回结果:按 MCP 格式返回执行结果

SDK和库

Python: FastMCP

TypeScript/JavaScript: @modelcontextprotocol/sdk

其他语言:参考官方文档实现

配置示例

TAPD

bash

codebuddy mcp add --scope user --transport http --header "X-Tapd-Access-Token:

Chrome Devtools

bash

codebuddy mcp add --scope user chrome-devtools -- npx -y chrome-devtools-mcp@la

iWiki

bash

codebuddy mcp add --scope user iwiki -- npx -y mcp-remote@latest https://prod.m

超大响应处理

当 MCP 工具返回的内容超过 MAX_MCP_OUTPUT_TOKENS(默认 20000 tokens,约 80KB 字符

数)时,CodeBuddy 会自动处理以避免占用过多上下文:

默认行为(落盘):把完整响应保存到当前会话的 ~/.codebuddy/projects/<projecthash>/<session-id>/tool-results/mcp-<server>-<tool>-<timestamp>-<rand>.txt,返回给模型一段读取指引(包含文件路径、格式说明、分段读取要求)。模型可以通过 Read工具按 offset / limit 参数分段读取完整内容,或用 jq 对 JSON 结构做结构化查询。

截断降级:以下场景会直接截断内容到 MAX_MCP_OUTPUT_TOKENS * 4 字符上限,而不落盘:

响应包含图片块(避免 base64 payload写入 .txt 文件丢失图片渲染)

当前无会话上下文(避免产生孤儿文件)

落盘失败(目录不可写、磁盘满等)

设置了环境变量 CODEBUDDY_DISABLE_MCP_LARGE_OUTPUT_FILES=1

截断时会在内容尾部追加 [OUTPUT TRUNCATED - exceeded N token limit] 标记,并告知模型

哪些类型的块被丢弃(例如 [Dropped 2 audio blocks due to size limit]),方便模型改

用分页或过滤参数重试。

相关链接

MCP官方文档

MCP GitHub 仓库

CodeBuddy 官方文档

最后更新: 6/11/26, 5:42 PM

上一页下一页

开发容器MCP Apps 接入指南

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