Codemcp logo

Codemcp

by ezyang

Edits local repositories, runs preapproved commands, and records agent changes as Git commits through Claude.

Install Codemcp

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ezyang-codemcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/ezyang/codemcp@prod",
        "codemcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

The install command didn't complete successfully in our automated test.

uvx --from git+https://github.com/ezyang/codemcp@prod codemcp

Downloading cpython-3.14.7-linux-x86_64-gnu (download) (34.6MiB) Downloaded cpython-3.14.7-linux-x86_64-gnu (download) Building codemcp @ git+https://github.com/ezyang/codemcp@41dfe735e1541d6db93f326e43db66f1e7038425 Downloading google-genai (1.1MiB) Downloading ruff (9.9MiB) Downloading pydantic-core (2.0MiB) Downloading anthropic (1.3MiB) Downloading pygments (1.2MiB) Downloading cryptography (4.5MiB) Downloading agno (3.8MiB) Downloaded google-genai Downloaded pygments Downloaded anthr

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 29d ago.

Overview

ezyang/codemcp MCP server lets Claude work directly in a local Git checkout by reading and editing files and running configured commands. It exposes an SSE endpoint and uses a project-level codemcp.toml file to define commands such as formatting and tests. Each chat's changes are committed and amended as work progresses, while unrestricted shell access is intentionally disallowed. Reach for it when you want Claude Desktop to modify a repository without tying review to a particular IDE; the README currently considers the project obsolete.

Use cases

  • Implement features in a local Git repository
  • Fix failing tests with configured test commands
  • Refactor code while reviewing Git commits
  • Run a formatter automatically after edits

Key features

  • Local repository file editing
  • Configured command execution
  • Automatic formatting after edits
  • Git commits for agent changes
  • SSE endpoint for Claude connections
  • Project-level TOML configuration

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

27/27 checks healthy over the last 76d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 16d ago via OSV.dev · codemcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1.6kStargazers on the source repository.
Last commit10mo agoMost recent push to the default branch.
Install checkInconclusiveInstall command did not finish in our automated test.
Directory activity6 viewsConfig copies, upvotes, and views on AllMCPs.

How Codemcp works

What ezyang/codemcp MCP server does

The ezyang/codemcp MCP server connects Claude to a Git repository on the local machine. It supports the basic operations needed for coding tasks: inspecting project files, writing changes, and invoking commands that the project owner has explicitly configured. This allows a developer to ask Claude to implement a feature, repair a defect, refactor code, or work through tests while keeping the repository available in the developer's normal editor.

The design emphasizes reviewable changes. Agent edits are recorded in Git, with a commit created for the work and amended as the chat continues. That gives the developer a fine-grained history for reviewing or reverting changes instead of relying on an uncommitted working tree.

How it works

The server runs locally and exposes an SSE endpoint. A project is selected by initializing codemcp with its filesystem path.

Shell access is constrained by configuration rather than being unrestricted. The agent can only invoke commands declared in the repository's codemcp.toml file. Command entries can be simple argument arrays or can include documentation describing how a command accepts arguments. A format command has special behavior: it runs after each file edit. Other named commands, such as tests, are available for the model to choose when appropriate.

It also notes that the project is not intended to run unattended indefinitely; developers should review the result of each chat and continue with another request when needed.

Setup and configuration

Install uv, then start the server with:

text
uvx --from git+https://github.com/ezyang/codemcp@prod codemcp serve

The default SSE address is http://127.0.0.1:8000/sse. A different port can be supplied with --port. The server can also bind to a specified host for remote access, but exposing it broadly is unsafe because an MCP user can execute code on the computer.

Create codemcp.toml in the target Git checkout before using it. A minimal configuration might define formatter and test commands under [commands]. You can also set project_prompt, which is loaded when the project is initialized. In Claude Desktop, the README recommends a project instruction that initializes codemcp with the repository path.

Tools and capabilities

  • Read project files for coding tasks.
  • Write and modify files in the selected checkout.
  • Run commands declared in codemcp.toml.
  • Run the configured formatter after edits.
  • Create and amend Git commits for agent changes.
  • Write logs to ~/.codemcp/codemcp.log.

Limitations and notes

The ezyang/codemcp MCP server requires a Git checkout and project configuration. It does not provide unrestricted shell execution; required formatters, test runners, and similar commands must be declared in advance. Remote binding should be limited to a trusted network, since access can enable arbitrary code execution on the host.

It remains open source and may still suit users who prefer its IDE-independent workflow, Git-based edit history, or auto-accept-oriented design. Claude Pro or Claude Max is discussed as the intended subscription context, rather than a server API key requirement.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Codemcp

Install uv and run `uvx --from git+https://github.com/ezyang/codemcp@prod codemcp serve`.

Yes.

Create `codemcp.toml` in the Git checkout and define commands such as `format` and `test` under `[commands]`. The `format` command runs after every file edit.

Only expose it to a trusted network. The README warns that anyone with access can perform arbitrary code execution on the computer.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewCodemcp AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ezyang-codemcp?style=directory)](https://allmcps.com/mcp/ezyang-codemcp)
HTML Embed
<a href="https://allmcps.com/mcp/ezyang-codemcp"><img src="https://allmcps.com/api/badge/ezyang-codemcp?style=directory" alt="Codemcp on AllMCPs" /></a>