mcpField
C
Coding Tools

Coding Tools

本地服务
github.com/xyTom开发工具1.2k2 周前更新

关于 Coding Tools

Coding Tools MCP 是一个本地运行的 MCP 服务,可让 AI 客户端通过统一接口读写代码、执行命令并管理 git。面向希望让聊天应用或 Agent 访问代码仓库的开发者,并通过工作区边界和权限模式控制风险。

主要功能

  1. 01文件读取、搜索与多文件补丁
  2. 02命令执行与交互式会话管理
  3. 03git 状态、差异、日志与 blame 查询
  4. 04工作区路径限制与权限模式
  5. 05远程 HTTP 访问与 OAuth 2.1 认证
  6. 06Docker 沙箱镜像

适用场景

  1. 01让 Claude Desktop 读取并修改本地代码仓库
  2. 02在隔离容器中处理不可信的 PR
  3. 03为自建 Agent 提供文件与命令工具

MCP 相关

该项目是 MCP 服务端,向任意 MCP 客户端暴露 19 个带注释的工具,其中默认 safe 与 trusted 模式公开 18 个。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"coding-tools": {
"command": "uvx",
"args": [
"coding-tools-mcp"
]
}
}
}
启动命令uvx coding-tools-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicoding-tools-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Coding Tools MCP

英文 | 简体中文

为任何 AI 聊天应用或 Agent 提供安全操作代码库的能力。

PyPI npm Python compliance release License

Coding Tools MCP 是一个与模型无关的编码运行时,通过 Model Context Protocol 提供服务:文件读取与 搜索、结构化的多文件补丁、命令执行、交互式会话以及 git——一个 MCP 服务,任何 MCP 客户端都能驱动。Claude Desktop、 Claude Code、Codex、Cursor、Cline、VS Code、Windsurf、Gemini CLI,或你自行构建的 Agent,都能使用默认目录中的 18 个经过实战检验的工具;这些工具仅限于一个工作区,并受权限模式管控。

观看演示

为什么大家会使用它

  • 它能将聊天应用变成编码 Agent。 Claude Desktop——或任何 MCP 聊天客户端——都能借助你已有的订阅真正访问代码库。 无需额外产品。
  • 安全性是产品的核心,而非事后补充。 每个服务只有一个工作区根目录。绝对路径、.. 遍历和符号链接逃逸都会被拒绝。 权限模式会限制网络访问、Shell 展开、内联脚本和 破坏性命令。在 Linux 上,Landlock 还会增加 内核级文件系统隔离。
  • 它与模型和供应商无关。 工具目录如实标注并感知模式——无需切换配置,也无需玩标注把戏。你可以自由更换模型或客户端, 运行时契约始终不变。
  • 它专为上下文窗口而设计。 结果会经过摘要、分页处理,并受到大小限制;在确定性的内部实测工作负载中,每次发布的序列化工具结果字节数减少了 37%,而任务完成情况保持不变。

快速开始

使用你现有的工具链运行(服务端要求 Python ≥ 3.11,可从 PyPI 安装;npm 包是一个轻量启动器,会通过 uv 或 pipx 启动服务端):

uvx coding-tools-mcp --stdio --workspace /path/to/repo   # Python toolchain
npx coding-tools-mcp --stdio --workspace /path/to/repo   # Node toolchain

将其接入 Claude Desktop、Claude Code、Codex、Cursor、VS Code、Windsurf、 Gemini CLI 或 Cline——所有客户端的 JSON 配置都相同(如果更喜欢 Node,可将 uvx 替换为 npx):

{
  "mcpServers": {
    "coding-tools": {
      "command": "uvx",
      "args": ["coding-tools-mcp", "--stdio", "--workspace", "/path/to/repo"]
    }
  }
}

然后向客户端提出请求:“运行测试套件并修复第一个失败项。”

更喜欢 HTTP?去掉 --stdio,服务端便会通过 http://127.0.0.1:8765/mcp 提供 Streamable HTTP。两种协议时期都支持这两种传输方式:完整支持 MCP 2026-07-28,且仅公布 tools 这一项能力;同时支持握手时期的 2025-11-25,并兼容 2025-06-18。两者都不使用会话。单行安装器、各客户端的操作指南和故障排查内容见 docs/quickstart.md 和 docs/mcp-client-config.md。

七件值得尝试的事

1. 将 Claude Desktop 变成你的编码 Agent。 只需使用上面的配置——你已经付费使用的聊天窗口现在可以读取、修改、测试真实代码仓库,并审查提交。

2. 随时随地在自己的机器上编写代码。

CODING_TOOLS_MCP_AUTH_MODE=bearer ./integrations/tunnels/tunnel.sh cloudflared /path/to/repo

绑定到 Loopback + 通过经过身份验证的 HTTPS 隧道(cloudflared、ngrok 或 Microsoft Dev Tunnel)连接。在手机上的 claude.ai 中,将 https://<tunnel-host>/mcp 设为连接目标,即可随时随地操控家中的工作站。 ChatGPT 和 Grok 也可以通过各自的连接器设置以相同方式连接。 内置 Bearer 令牌和 OAuth 2.1 + PKCE(采用 RFC 7591 动态注册)。→ docs/remote-mcp.md

3. 在一次性沙箱中,让 Agent 处理不受信任的代码。

docker build -t coding-tools-mcp-sandbox:local .
docker run --rm --init -it -p 8765:8765 -v "$PWD:/workspace" coding-tools-mcp-sandbox:local

容器化的服务已预配置工具链和缓存,可安全地用于有风险的 PR,之后可将其销毁。→ docs/docker.md

4. 通过一次 MCP 调用启动云端沙箱。 随附的 Cloudflare Worker 控制平面将 start_coding_tools_sandbox 作为 MCP 工具提供:一次调用即可派发 GitHub Actions runner,启动 Docker 沙箱,并通过经过身份验证的 Cloudflare Tunnel 发布。 使用临时计算资源,无需自备服务。

5. 通过 GUI 操控。

python -m pip install "coding-tools-mcp[desktop]"
coding-tools-mcp-desktop

提供按工作区配置的设置、服务和隧道的启动/停止、带剪贴板辅助功能的凭据设置,以及实时运行状况检查。支持英语和简体中文。

6. 保持交互式命令持续运行。 exec_command 会在真实 PTY 下启动 REPL 或 调试器;write_stdin 可在多轮交互中向其输入内容;read_output 可分页读取较长的输出;kill_command 可清理进程。长时间运行的进程受到一等支持,并配有截止时间监视器和有界缓冲区。

7. 为你自己的 Agent 配备生产级工具。 正在使用 Anthropic SDK 或其他方式构建 Agent 循环?别自行实现文件和执行工具——使用 MCP 与此服务通信,即可继承完整的安全边界。→ docs/embedding.md

工具目录

注册表包含 19 个如实标注的工具。默认的 safe 和 trusted 模式会公布 18 个工具;dangerous 还会公布 request_permissions,且只有此模式下该工具才能授予任何权限。 apply_patch 和 apply_changes 是文件修改原语:两者都会暂存更改、检查基线、以原子方式修改多个文件,并支持回滚。

分组工具
文件与搜索read_file · list_dir · list_files · search_text · apply_patch · apply_changes · view_image
执行exec_command · write_stdin · read_output · kill_command · request_permissions(仅限 dangerous)
Gitgit_status · git_diff · git_log · git_show · git_blame
运行时server_info · check_exec_environment

根目录中的 AGENTS.md/CLAUDE.md 文件会自动加载,并通过 initialize 的 instructions 返回;对于从未完成握手的客户端,则通过 server/discover 返回。 工具的 content 是面向 Agent 的简明文本; structuredContent 包含完整的机器结果。架构和结果封装格式:docs/tools-and-schemas.md · docs/runtime-contract-v0.3.md。

安全边界

模式适用场景允许的操作
safe(默认)日常 Agent 工作文件工具和经过审核的命令;看起来会访问网络的命令、Shell 扩展、内联脚本和破坏性命令均需要明确许可
trusted本地开发允许访问网络、使用 Shell 扩展和内联脚本;保留机密过滤和破坏性命令检查
dangerous仅限隔离的容器/VM禁用 exec_command 权限门控;仍受工作区路径边界限制

递归列出和搜索时会排除 .git、node_modules、构建输出、 虚拟环境和缓存。命令在工作区范围内的 cwd 中运行,环境经过清理, 并设有超时和输出上限。使用 Landlock 的 Linux 主机会获得 由内核强制执行的文件系统隔离;其他平台会显示明确警告——这并非 完整的 OS 沙箱,因此对于真正不受信任的工作,请使用 Docker 镜像或 VM。详情: SECURITY.md · docs/security-boundary.md · docs/permission-modes.md

遥测

服务会发送匿名使用遥测数据(按工具统计的成功率/延迟计数器 以及版本/平台维度——绝不包含路径、参数、命令或文件 内容),以帮助确定修复工作的优先级。使用 CODING_TOOLS_MCP_TELEMETRY=off 或 DO_NOT_TRACK=1 禁用;在 CI 中会自动关闭。 CODING_TOOLS_MCP_TELEMETRY=debug 会将每个事件打印到 stderr,而不是发送。 完整事件列表和保证见 docs/telemetry.md。

证据、Dogfood 和 SWE-bench

每次发布都会通过由标签触发的流水线完成,合规 测试套件、真实工作负载基准测试和 SWE-bench 测试框架均从同一提交运行, 并通过可信发布发布到 PyPI 和 npm——两者均使用可信发布,npm 还带有 来源证明。Dogfood 效率指标可复现(make dogfood-smoke), 并已提交至 reports/。本仓库不声称拥有由模型生成的 SWE-bench 排行榜结果——请参阅 docs/swe-bench.md,了解具体测量了哪些内容以及未测量哪些内容。更多信息:COMPLIANCE.md · BENCHMARK.md · docs/dogfood.md

文档

文档索引按主题浏览文档
开始使用快速入门 · 客户端配置 · 故障排查
远程与沙箱远程 MCP · Docker 沙箱 · 云端沙箱工作进程
工具与契约工具和架构 · 运行时契约 · 迁移到 0.3 · 权限模式
执行Exec 配方 · Exec 故障排查
集成嵌入 · npm 启动器
安全与质量安全政策 · 安全边界 · CI 和测试 · 限制 · 竞品分析

开发

python -m pip install -e ".[dev]"
make ci        # lint, typecheck, tests, protocol/integration suites, gates

完整的门禁矩阵见 docs/ci-and-tests.md。

许可证

本项目根据 Apache License 2.0 授权。

如果你使用本项目的代码、文档、实质性实现细节或衍生作品, 请保留版权声明、许可证 声明和 NOTICE 文件,并明确注明原项目。

项目:Coding Tools MCP
作者:Coding Tools MCP Contributors
源码:https://github.com/xyTom/coding-tools-mcp

引用元数据见 CITATION.cff。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。