> ## Documentation Index
> Fetch the complete documentation index at: https://coding-1afcb9be.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 开发

> 本地开发、测试、构建和贡献时需要关注的代码区域。

# 开发

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

## 关键代码区域

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

## 本地设置

```bash theme={null}
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]`。

## 从源码运行

```bash theme={null}
python -m coding_tools_mcp.server --stdio --workspace /path/to/workspace
```

或在 editable install 后运行：

```bash theme={null}
coding-tools-mcp --workspace /path/to/workspace
```

## 检查

项目声明了 `ruff` 和 `mypy` 作为开发依赖。修改工具行为、schema 或安全策略前，应运行仓库测试和检查命令。

常见本地检查：

```bash theme={null}
python -m pytest
python -m ruff check .
python -m mypy coding_tools_mcp
```

如果仓库脚本或 CI 配置定义了更权威的命令，以仓库命令为准。

## 修改 schema

新增或修改工具时：

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

## 修改安全相关逻辑

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

## 文档同步原则

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