跳转到主要内容

开发

本页面向 xyTom/coding-tools-mcp 的贡献者和维护者。

关键代码区域

区域关注内容
coding_tools_mcp/server.pyCLI parser、传输、鉴权、MCP 请求处理、工具注册、schema、运行时策略、命令执行、文件工具、Git 工具和诊断。
coding_tools_mcp/__init__.py导出给服务元数据使用的包版本。
pyproject.tomlPython 版本、包元数据、依赖、可选 extras 和 CLI 入口。
tests/协议、schema、安全门禁、命令行为和工具输出的回归测试。
scripts/docs/辅助脚本和运行说明,包括远程或 tunnel 工作流。
benchmarks/runtime 和 dogfood benchmark 辅助代码。

本地设置

git clone https://github.com/xyTom/coding-tools-mcp.git
cd coding-tools-mcp
python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[dev,image]'
只做 lint 和类型检查时可用 .[dev]。需要处理图片能力时再包含 .[image]

从源码运行

python -m coding_tools_mcp.server --stdio --workspace /path/to/workspace
或在 editable install 后运行:
coding-tools-mcp --workspace /path/to/workspace

检查

项目声明了 ruffmypy 作为开发依赖。修改工具行为、schema 或安全策略前,应运行仓库测试和检查命令。 常见本地检查:
python -m pytest
python -m ruff check .
python -m mypy coding_tools_mcp
如果仓库脚本或 CI 配置定义了更权威的命令,以仓库命令为准。

修改 schema

新增或修改工具时:
  • 修改工具实现。
  • 更新 input_schemas()
  • 更新工具注解和 registry 元数据。
  • 补充参数校验、输出结构、profile 暴露和失败诊断测试。
  • 同步更新工具参考文档。

修改安全相关逻辑

涉及 exec_command、路径解析、环境继承、Landlock、鉴权或权限模式的改动都应视为高风险。需要同步测试和文档,并确认 安全边界限制 页面仍然符合实现。

文档同步原则

文档优先以代码为准,其次参考测试、实现说明和 README。不要记录无法从代码或仓库事实确认的工具、参数、环境变量或行为。