Local MCP Dev Runner
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | List projects registered with the local MCP runner and their access mode. |
| project_infoA | Return project root, access mode, managed-worktree metadata, and Git branch state. |
| list_directoryA | List one directory inside a registered project while hiding sensitive paths. |
| find_filesA | Recursively find files/directories by name substring without traversing sensitive paths, symlinks, or dependency/build directories. |
| search_textA | Search for a fixed text string in project files with bounded output; regex and shell execution are not used. |
| read_fileA | Read one UTF-8 text file inside a registered project. |
| read_filesA | Read up to 20 UTF-8 text files from one registered project. |
| file_infoA | Return size and SHA-256 for an existing text file. |
| create_directoryA | Create a directory path only in a write-enabled non-protected project/worktree; symlink traversal is blocked. |
| create_fileA | Create a new UTF-8 file in a write-enabled project. Existing files are never overwritten. |
| replace_textA | Replace exactly one text block in an existing file using an expected SHA-256 concurrency guard. |
| delete_fileA | Delete one existing file only when the caller supplies its exact current SHA-256. |
| git_statusC | Return safe Git status while omitting sensitive-path entries. |
| git_diffA | Return a bounded diff excluding sensitive files. Supports working-tree, staged, or ref-to-ref diffs. |
| git_logB | Return recent commit metadata, optionally scoped to one safe path. |
| git_branch_listB | List local Git branches and the current branch. |
| git_create_branchA | Create an mcp/* branch without checking it out. main/master and arbitrary branch names are not permitted. |
| git_worktree_createB | Create/register an isolated writable worktree on an mcp/* branch under the runner worktree directory. |
| git_worktree_removeA | Remove a clean runner-managed worktree and unregister it. Dirty worktrees are refused; the branch is retained. |
| git_commitA | Stage and commit only non-sensitive changes in a writable runner-managed mcp/* worktree. Hooks and GPG signing are disabled; push is not available. |
| project_scriptsA | List package.json scripts and report whether sandboxed execution is supported for this project. executionSupported answers 'can this environment run scripts at all'; executionEnabled folds in the kill switch. |
| run_scriptA | Execute an allowlisted, hash-pinned npm/pnpm script inside a macOS Seatbelt sandbox. network is always 'none'; script execution is confined to a runner-managed READ_WRITE mcp/* worktree. A non-zero script exit code is a successful MCP call (the script ran; the test failed). |
| github_repository_infoA | Query metadata for a GitHub repository under an allowlisted organization. Returns existence, owner, visibility, default branch, fork/archived flags, and repository URL. |
| github_repository_createA | Create a new repository under an allowlisted GitHub organization with specified visibility (public or private). Idempotent: returns ALREADY_EXISTS if repository already exists with matching visibility. Does NOT initialize with README/license/gitignore, does NOT push code, does NOT configure remotes. |
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 24 tools
Every tool targets a distinct resource and action: project listing vs project detail, single-file vs multi-file reads, name-based search vs content search, and Git operations are all cleanly separated. Even similar-sounding tools like git_create_branch and git_worktree_create are clearly differentiated by their descriptions.
All names are readable lowercase snake_case with useful domain prefixes, but conventions are mixed: list_projects is verb-first while project_info is noun-first, create_file is verb-first while github_repository_create is object-first, and git_branch_list places list at the end. The patterns are understandable but not consistent enough for a 4 or 5.
With 24 tools, this sits in the heavy 16-25 band. The broad multi-domain scope justifies much of the surface area, but several tools could plausibly be consolidated, and the overall selection size is larger than the typical well-scoped MCP server.
The core lifecycle is well covered: project discovery, file exploration/reading, bounded file mutations, Git branch/worktree/commit workflows, and script execution all have sensible tooling. Minor gaps exist, such as no push/merge/rename operations, but these appear intentional given the sandboxed, runner-focused design.