
Coding Tools MCP Server by xyTom: Files, Commands and Git for Any AI Chat
Lets any AI chat read, search and edit files, run commands and use git in one project folder on your computer.
Coding Tools MCP is a community server by xyTom. It gives an AI assistant tools to read and search files, apply multi-file patches, run commands and inspect git history, all inside one project folder you choose.
It runs on your computer and needs no account. A permission mode controls what commands can do, and the default safe mode blocks network use and other risky actions. It sends anonymous usage counts unless you turn that off.
Good for
- Claude Desktop users who want a chat window to work on a real repo
- Developers who want a safe, model-neutral coding toolset for any MCP client
- Builders who want tested file and command tools for their own agent
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install Coding Tools MCP
Claude Code
- 1
Copy this prompt.
Add the Coding Tools MCP server to Claude Code. Run this command: claude mcp add coding-tools -- uvx coding-tools-mcp --stdio --workspace /path/to/repo Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv installed.
Read-only mode: There is no read-only mode. Keep the default safe permission mode and point --workspace at one repo.
Replace /path/to/repo with the one folder the assistant may work in. Default safe mode blocks network-looking commands, shell expansion and inline scripts; add --permission-mode trusted only if you need them. Set CODING_TOOLS_MCP_TELEMETRY=off to turn off anonymous usage counts. The README shows the same JSON for several apps; this tab puts the command in this app's own config format.
Built from the package data we hold. Not yet tested by us.
Tools
Shows how the server is set up
Returns the server and workspace details, project context it picked up, permission policy, runtime, auth and protocol info.
Try: “What workspace and permission mode is the server using?”
Read ·
server_infoChecks what commands are allowed
Reports the command-execution policy and whether Linux Landlock file confinement is active on this machine.
Try: “Is Landlock confinement active?”
Read ·
check_exec_environmentReads part of a file
Streams a limited range of a UTF-8 file without loading the whole file.
Try: “Read lines 1 to 80 of src/app.py”
Files ·
read_fileLists a folder
Lists the entries of one folder, or a bounded number of levels down.
Try: “List the src folder”
Files ·
list_dirFinds files by pattern
Walks the workspace for files with glob, ignore, hidden-file, sorting and result-count options.
Try: “Find all *.test.js files”
Files ·
list_filesSearches file contents
Searches for literal text or a regex and stops after the result cap.
Try: “Search for TODO in the repo”
Files ·
search_textEdits several files in one patch
Applies a patch that can add, update, delete and move files. Every change is checked first and written atomically, and a failure rolls earlier files back.
Try: “Patch src/app.py to rename load() to load_config()”
Delete ·
apply_patchEdits files by line number
Creates, writes, edits, deletes, moves or copies files by line, against a known file revision so stale edits are rejected.
Try: “Replace lines 10 to 12 of config.py with this block”
Delete ·
apply_changesRuns a command in the workspace
Starts a command and waits up to 10 seconds by default. In the default safe mode, commands that look like network use, shell expansion, inline scripts and destructive actions are blocked.
Try: “Run the test suite”
Runs code ·
exec_commandSends input to a running command
Polls or types into a command that is still running, such as a REPL or debugger.
Try: “Type "continue" into the debugger”
Runs code ·
write_stdinStops a running command
Terminates one command that this server started.
Try: “Kill the test run”
Delete ·
kill_commandPages through long command output
Reads the saved stdout or stderr of a command by byte offset.
Try: “Show the next page of output”
Read ·
read_outputShows the working tree status
Returns a structured list of changed, staged and untracked files.
Try: “What has changed in the repo?”
Read ·
git_statusShows staged or unstaged changes
Returns a bounded unified diff of staged or unstaged changes.
Try: “Show my unstaged diff”
Read ·
git_diffShows commit history
Returns a bounded, structured list of recent commits.
Try: “Show the last 10 commits”
Read ·
git_logShows one commit or revision
Returns metadata, content or the diff of a revision, within a size cap.
Try: “Show commit abc123”
Read ·
git_showShows who last changed each line
Returns line-by-line attribution for a file, within a size cap.
Try: “Who last changed lines 20 to 40 of app.py?”
Read ·
git_blameShows an image file to the assistant
Returns one image from the workspace as an image block, with its size and type. It is disabled for clients that cannot take images.
Try: “Look at docs/diagram.png”
Files ·
view_image
Read from the source code
Permissions
high risk · 5 things to watch
High risk
The assistant can change files in the project folder and run commands there, so a mistake or a hostile file can do real damage inside it. Keep the default safe mode, point it at one repo, and turn off telemetry if you do not want usage counts sent.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It runs commands on your computer
exec_command runs commands in the workspace, and there is no read-only mode. The default safe mode blocks network-looking commands, shell expansion and inline scripts, but the README says it is not a complete OS sandbox, so use the Docker image or a VM for untrusted code. github.com
Trusted and dangerous modes loosen the guard
Trusted mode opens network, shell expansion and inline scripts. Dangerous mode turns off the command permission checks and Landlock, so use it only inside a container or VM. github.com
It can edit and delete files in the workspace
apply_patch and apply_changes can create, overwrite, move and delete files. Path escapes and symlinks outside the workspace are rejected. github.com
It sends anonymous usage telemetry by default
Per-tool success and speed counts, version and platform go to PostHog, with no paths, arguments or file contents. Set CODING_TOOLS_MCP_TELEMETRY=off or DO_NOT_TRACK=1 to stop it. github.com
File confinement is Linux only
Landlock filesystem confinement applies on Linux hosts that support it. Other systems get a warning instead. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Talks to | Anonymous usage telemetry to PostHog (us.i.posthog.com), unless disabled |
|---|---|
| Sign-in and keys | No credentials for stdio. HTTP mode can use bearer tokens or OAuth. |
| Scopes |
|
Questions
Is it official?
No. It is a community project by xyTom ("Coding Tools MCP Contributors"), not made by Anthropic, OpenAI or any editor vendor.
Do I need an API key?
No. It runs locally over stdio with no account. HTTP mode, used for tunnels, supports bearer tokens and OAuth.
What is the default permission mode?
Safe. It blocks network-looking commands, shell expansion, inline scripts and destructive commands unless you allow them. Trusted opens the first three, and dangerous turns the checks off.
Can it run read-only?
Not fully. There is no read-only mode. An experimental option on Linux lets only the patch tools change files, but it breaks tools that write caches unless you list their folders.
Does it send my code anywhere?
The README says its anonymous telemetry never includes paths, arguments, commands or file contents. It does send usage counts to PostHog unless you disable it.
Which AI apps does it work with?
The README names Claude Desktop, Claude Code, Codex, Cursor, Cline, VS Code, Windsurf and Gemini CLI. It can also be reached from claude.ai or ChatGPT through an authenticated tunnel, as the README describes.
Is it 18 tools or 19?
18 by default. The registry holds 19 tools, but request_permissions only appears when you start the server in dangerous mode, so a normal tool list shows 18.
Should I use npx or uvx?
Use uvx if you have it. The npm package only starts the Python server through uv or pipx, and its latest npm release may lag behind PyPI.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
coding-tools-mcp- Registry
- PyPI
- Transport
- stdio, Streamable HTTP
- Version
- 0.5.0
- License
- Apache-2.0
- Last commit
- Oct 29, 2026
- Open issues
- 15
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 5Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- pypi.org · pypi.org