Coding Tools MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_infoA | Return server, workspace, project-context, auth, policy, and fixed-tool metadata. |
| check_exec_environmentA | Return lightweight exec_command sandbox and environment status known to the server. |
| read_fileB | Read a UTF-8 text file slice inside the configured workspace. |
| list_dirC | List directory entries inside the configured workspace. |
| list_filesB | List workspace files using glob filters. |
| search_textB | Search UTF-8 workspace files for text or regex matches. |
| apply_patchA | Stage, validate, and atomically apply a patch envelope. Example: *** Begin Patch *** Update File: app.py @@ -old +new *** End Patch |
| exec_commandA | Run a bounded command under runtime policy. Pass workdir explicitly for reconnect-safe paths. A still-running command returns command_id. Example: {"cmd":"pytest -q","workdir":".","yield_time_ms":30000}. Retained output is bounded per stream; for very large output redirect to a file (cmd > out.log 2>&1) and page it with read_file or search_text. |
| write_stdinB | Poll or interact with a running command by command_id. Empty chars wait for output; non-empty chars writes to stdin. Example: {"command_id":"abc","chars":"","yield_time_ms":10000}. |
| kill_commandB | Terminate a server-managed command by command_id. Example: {"command_id":"abc","signal":"KILL"}. |
| read_outputA | Read retained command output using an output_ref returned by exec_command/write_stdin. Each stream retains the earliest output (head) plus the most recent output (rolling tail); bytes between them may be evicted and are reported via evicted_gap_bytes. Example: {"output_ref":"command:abc:stdout","offset":0,"limit":4096}. |
| git_statusB | Return git working tree status for the workspace. |
| git_diffC | Return unified git diff for workspace changes. |
| git_logB | Return recent git commits with bounded structured metadata. |
| git_showB | Return bounded git show output for a revision. |
| git_blameA | Return bounded git blame metadata for a workspace file. |
| request_permissionsA | Report scoped permission-request status without silently granting operations. |
| view_imageC | Return a workspace image as MCP image content. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools target a distinct action or resource, and the descriptions clarify their roles. Minor overlap exists between list_dir and list_files for workspace browsing, and server_info and check_exec_environment both report environment metadata, but an agent can generally disambiguate them.
The naming is largely consistent with snake_case verb_noun patterns like read_file, apply_patch, and kill_command, plus a coherent git_* prefix group. A few names like server_info and check_exec_environment are more noun-like or verbose, but the overall pattern is predictable.
Eighteen tools is slightly above the typical well-scoped range, but each tool serves a plausible purpose for a coding workspace server: file inspection, patching, command execution, git inspection, and permissions. It is not bloated enough to feel overwhelming or redundant.
The server covers core coding workflows well: reading and searching files, applying patches, running and interacting with commands, and inspecting git history. Some operations like explicit file creation/deletion or git writing operations are not first-class tools, but exec_command and apply_patch provide workarounds, so the gaps are minor.