最近在给 dsh 接 MCP Server,踩完坑整理个三步走,给同样在折腾的朋友参考。
前提:dsh 的 tool 层通过 JSON-RPC 与外部进程通信(SDK 在 packages/sdk),MCP 服务器只要跑起来把工具暴露出来即可。
三步走
- 写一个 MCP server(官方 SDK 或 Python 版都行),实现要暴露的工具;
- 在 cordis.yml 里注册连接(地址/命令 + 启动参数);
- 重启会话,工具列表里能看到新工具,agent 就能直接调。
踩坑
- 工具名必须 kebab-case,否则校验直接拒绝;
- 返回的 JSON 尽量扁平,嵌套太深 agent 经常解析错;
- 本地调试记得把 stderr 重定向到日志,不然报错全被吞了。
有细节问题可以在下面问,我尽量答。