Skip to main content
Glama

Coding Tools MCP

English | 简体中文

让任何 AI 聊天或 Agent 都能在代码库上安全地动手。

PyPI npm Python compliance release License

Coding Tools MCP 是一个模型无关的编码运行时,通过 Model Context Protocol 提供:文件读取与搜索、结构化多文件补丁、命令执行、交互式会话和 git——一个任何 MCP 客户端都能驱动的服务器。Claude Desktop、Claude Code、Codex、Cursor、Cline、VS Code、Windsurf、Gemini CLI,或者你自己构建的 Agent,都能获得同一套经过实战检验的 18 个工具,并限制在一个工作区内,由权限模式把关。

观看演示视频

人们为什么使用它

  • 它能把聊天应用变成编码 Agent。 Claude Desktop —— 或任何 MCP 聊天客户端 —— 使用你现有的订阅即可获得真实的仓库访问能力。不需要额外产品。

  • 安全本身就是产品,而不是事后补丁。 每个服务器只有一个工作区根目录。绝对路径、.. 遍历和符号链接逃逸都会被拒绝。权限模式对网络访问、shell 展开、内联脚本和破坏性命令进行门控。在 Linux 上,Landlock 提供了内核级文件系统隔离。

  • 它与模型和厂商无关。 固定且如实标注的工具目录 —— 不切换 profile,不搞标注游戏。随意更换模型或客户端;运行时及行为保持不变。

  • 它专门面向上下文窗口优化。 结果在设计上有摘要、分页和上限;在确定性 dogfood 工作量下,序列化工具结果字节数逐版本下降 37%,任务完成率不变。

Related MCP server: Coding Tools MCP

快速开始

用你现有的任意工具链来运行它(服务端来自 PyPI,要求 Python ≥ 3.11;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 也可以用相同的 connector 设置方式连接。内置 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 control plane 将 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 清理进程管理。长运行进程是头等公民,有 deadline 看门狗和有界缓冲区。

7. 给你自己的 Agent 生产级联接的“手”。 apply_patch 夹在其唯一的文件变更原始语:可以先暂存、对基线、跨文件原子化,并支持回滚。

--> docs/embedding.md

如果你用自己的 Agent 也想让它有生产级“手” 用 Anthropic SDK 或其他框架构建 agent loop?不用手写文件和 exec 工具——直接通过 MCP 访问本服务器,就能继承完整的安全边界。→docs/embedding.md

(上面排版错误请忽略,以下是正确段落。)

6. exec_command 在真实 PTY 下启动 REPL 或调试器;write_stdin 跨轮次向它喂入内容;read_output 对长输出分批查看;kill_command 清理会话。长运行进程在“操作系统”中成年持有,并带有截止看门狗和受限缓冲。

7. 给你自己的 Agent 生产级的能力。 正在用 Anthrophic SDK 或别的什么东西做 Agent loop?不要再手写文件和 exec 工具,直接接入这个服务器并继承整套安全边界。非常合适。(原文参看 Embedding 文档。)

(注:以上出现的无关/格式错误都是占位导致的,请不要采用。)

工具目录

一套稳定且如实标注的工具集——权限模式只影响命令的 执行策略,绝不会改变模型看到的工具。apply_patch 是唯一的文件修改原语:自动暂存、基于基线、跨文件原子化,并支持回滚。

分组

工具

文件与搜索

read_file · list_dir · list_files · search_text · apply_patch · view_image

执行

exec_command · write_stdin · read_output · kill_command · request_permissions

Git

git_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 则携带完整的机器可读结果。Schema 和结果封装见: docs/tools-and-schemas.md · docs/runtime-contract-v0.3.md。

安全边界

模式

适用场景

功能

safe(默认)

日常 Agent 工作

文件工具和经过审查的命令;疑似网络命令、shell 展开、内联脚本和破坏性命令均需显式授权

trusted

本地开发

开启网络、shell 展开和内联脚本;仍保留秘密过滤和破坏性命令检查

dangerous

仅隔离容器/VM

禁用 exec_command 权限门禁;工作区路径边界仍有效

递归列表和搜索会排除 .git、node_modules、构建产物、虚拟环境和缓存。命令运行时会限制在工作区根目录、清理过的环境、超时和输出上限。Linux 主机上 Landlock 提供内核强制文件系统隔离;其他平台会给出显式警告——这仍然是完整操作系统沙箱,对不可信工作,请改用 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

每次发布由 tag 触发流水线,合规测试、实际负载 benchmark、SWE-bench harness 全部运行在发布到 PyPI 和 npm 的相同 commit 上——两者都是可信发布,npm 还带 provenance 来源证明。Dogfood 效率指标可复现(make dogfood-smoke)并签入 reports/。这份仓库并不声称模型驱动的 SWE-bench 成绩——准确度与边界,请读 docs/swe-bench.md。更多:COMPLIANCE.md · BENCHMARK.md · docs/dogfood.md

文档目录

开发

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

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

许可证

本项目使用 Apache License 2.0 许可。

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

Project: Coding Tools MCP
Author: Coding Tools MCP Contributors
Source: https://github.com/xyTom/coding-tools-mcp

Citation metadata is available in CITATION.cff. 引用元数据可在 CITATION.cff 中获取。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Gives MCP-compatible AI clients safe, hands-on access to local codebases: file reading/search, multi-file patches, command execution, interactive sessions, Git inspection, and coordination of local agent providers such as Antigravity and OpenCode.
    18
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables ChatGPT or any MCP client to operate safely on a designated workspace by listing, reading, searching, writing, and trashing files, inspecting Git status/log/diff, and optionally running allowlisted executables without a shell.
    Apache 2.0
  • A
    license
    C
    quality
    B
    maintenance
    Local-first MCP runtime for coding agents with bounded workspace access, content-preconditioned writes, AST search, LSP navigation and diagnostics, and Git status/diff. Designed to give coding agents useful repository access without treating unrestricted shell access as the default integration boundary.
    13
    3
    MIT