跳转到主要内容

限制

以下限制基于当前实现和仓库状态。

不是 agent 框架

Coding Tools MCP 暴露工具,不负责规划任务、管理长期记忆、选择模型提示词或提供 agent runtime。这些职责属于 MCP 客户端或外层应用。

工作区范围是显式的

服务在配置的工作区内工作,不用于浏览任意文件系统位置。直接文件工具会基于工作区解析路径,并拒绝不安全或不支持的路径。

HTTP 传输是 JSON-RPC

HTTP 入口是 /mcp,期望 JSON-RPC。它不是直接调用工具的 REST API。客户端应使用 MCP initializetools/listtools/call

Stdio 是逐行协议

stdio 传输读取逐行 JSON-RPC。期望其他 framing 的客户端需要适配层。

文本文件支持 UTF-8

read_file 支持 UTF-8 文本,并拒绝看起来像二进制的文件。启用时可用 view_image 查看支持的图片。其他二进制检查应在合适权限模式下通过命令行工具完成。

命令安全是策略型的

权限模式提供有意义的安全门禁,但不能替代容器、VM 或操作系统沙箱。dangerous 会禁用命令权限门禁。

Landlock 可用性取决于宿主

Landlock 隔离依赖 Linux 宿主。不可用时,服务会报告命令只在策略检查下运行。

Tool profile 是暴露控制

read-only 会向客户端隐藏修改型工具。compat-readonly-all 是兼容元数据,不是安全边界。需要强隔离时,应组合窄工作区、鉴权、最小权限 profile 和外层沙箱。

远程使用需要部署纪律

服务可以通过 HTTP 暴露,但远程 exec_command 仍然是在服务端环境中的远程代码执行。远程部署应使用鉴权、TLS、窄工作区和外层隔离。

端口默认值可能因层而异

直接 CLI 默认端口是 8000。部分仓库辅助脚本或 tunnel 工作流可能使用 8765。排查连接时始终确认实际 server 端口和客户端 URL。