LocalDev 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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | Use this first to discover project keys, roots, stacks, and whether each root exists. |
| list_skillsA | Lists centrally installed LocalDev MCP skills with descriptions and their available references/templates. Use this when the user asks what workflows or skills are available. |
| get_skillA | Loads the complete governing instructions for one centrally installed skill. For frontend design, redesign, UI implementation, responsive fixes, interface audits, or visual QA, call get_skill with 'frontend-craft-director' before inspecting or editing the target project. |
| read_skill_referenceA | Reads one supporting file declared by get_skill from that skill's references/ or templates/ directory. Use progressive disclosure: load the main skill first, then read only the supporting file needed for the current task. |
| import_file_to_projectA | Copies a real uploaded file into a project without Base64 conversion. The source must come from an approved mounted-file root, and the destination is restricted to the selected project root. |
| replace_textA | Performs a precise text replacement with SHA-256 verification, exact occurrence counting, backup, and no shell or script execution. |
| batch_apply_patchesA | Verifies every file and patch before writing, creates backups, and rolls back written files if any batch write fails. |
| batch_read_filesA | Reads up to 30 approved text files in one call, returning line-numbered content and SHA-256 hashes while preserving the same path and secret protections as read_file. |
| get_project_infoA | Returns configured stack, Git branch, manifests, package scripts, and auto-detected Laravel, npm, and Composer working directories. |
| get_project_snapshotA | Returns branch, working-tree state, recent commits, detected app roots, manifests, important docs, and top-level structure in one cached call. Cache invalidates when Git HEAD or status changes. |
| get_project_treeA | Use this to inspect a project structure. Generated, dependency, secret, and cache directories are excluded. |
| list_directoryA | Lists immediate files and folders with type, size, and modification time. Secret and dependency paths remain blocked. |
| read_fileA | Use this to read a text file with line numbers and a SHA-256 version hash. Secret-like and dependency files are blocked. |
| search_filesA | Finds files by name substring or safe glob without reading file contents. |
| search_codeA | High-speed code search using ripgrep when available, with a safe built-in fallback. Generated, dependency, and secret files are ignored. |
| write_fileA | Use only when a complete file replacement is appropriate. Existing files require expectedSha256 from read_file. |
| create_fileA | Creates a new file and refuses to overwrite an existing path. |
| apply_patchA | Preferred write tool for focused code edits. Read the file first and pass expectedSha256. |
| rename_fileB | Moves a file inside the same configured project. Source hash is required and destination overwrite is refused. |
| delete_fileA | Deletes one regular file after hash verification. A backup is retained under LocalDev MCP logs/backups. |
| run_commandC | Runs guarded PHP/Laravel, Composer, npm, or allowlisted Git commands. Shell operators and arbitrary executables are blocked. |
| run_testsB | Auto-detects Laravel or npm tests, with optional working directory and test filter. |
| run_artisanB | Runs a built-in allowlisted Artisan command or a project-specific command explicitly configured as read-only. Use laravel_run_artisan for reviewed write-capable custom commands. |
| laravel_run_artisanA | Runs built-in or project-specific Artisan commands through a risk classifier. Unknown custom commands require explicit write approval unless listed as read-only in the project configuration. |
| laravel_tinker_executeA | Runs reviewed PHP code through Laravel Tinker using an ephemeral script outside the repository. Process, filesystem, network, raw-SQL, and secret access are blocked; database writes require explicit approval. |
| local_secret_operationB | Checks an approved Laravel .env key or computes a digest/HMAC without returning, logging, placing on the command line, or writing the secret value. |
| local_http_requestA | Sends an HTTP request only to approved hosts that resolve exclusively to loopback addresses. Redirects are revalidated and sensitive headers are redacted. |
| start_local_processA | Starts only a LocalDev-managed Laravel development server on a loopback host. Port 0 selects an available ephemeral port automatically; occupied explicit ports are refused, and unrelated processes are never adopted or stopped. |
| inspect_local_processA | Returns status and sanitized output for a process previously started by this MCP server instance. |
| stop_local_processA | Stops only a process session created by start_local_process for the same project. |
| laravel_database_snapshotA | Reads a count and bounded rows through Laravel's query builder. Table, columns, filters, ordering, and limit are structured; model-provided raw SQL is not accepted. |
| laravel_database_assertA | Evaluates count, existence, column, or JSON-path assertions over a bounded read-only Laravel query without accepting raw SQL. |
| run_npmA | Runs one script declared in package.json from an auto-detected or specified npm app root. |
| run_validation_planB | Runs Git diff checks plus selected Composer, Laravel test, and npm script validations in one local call, returning compact step summaries to reduce round-trips and context size. |
| git_switch_branchA | Creates a new branch or switches to an existing branch after validating the branch name, optional expected HEAD, and clean working-tree requirement. |
| git_statusA | Use this after edits to see modified, added, deleted, and untracked files. |
| git_diffA | Reviews current unstaged or staged code changes. Optionally limit the diff to one project-relative path. |
| inspect_changed_filesB | Returns branch/status, changed file names, diff stats, diff checks, staged changes, last commit, and an optional compact diff without re-scanning the whole project. |
| read_laravel_logsA | Reads and redacts recent lines from the newest Laravel log or a selected log file. |
| inspect_routesB | Runs route:list with optional method, path, and name filters. |
| inspect_database_schemaA | Runs Laravel's read-only db:show or db:table command. It does not run migrations or write data. |
| run_phpunitB | Runs vendor/bin/phpunit with optional filter, test suite, and path from a Laravel/Composer app root. |
| run_pestB | Runs vendor/bin/pest with optional filter and path from a Laravel/Composer app root. |
| run_eslintB | Runs an existing lint script, normally npm run lint, with optional extra arguments. |
| run_buildB | Runs an existing build script, normally npm run build. |
| composer_installB | Runs composer install with safe non-interactive defaults inside an auto-detected Composer project. |
| npm_installB | Runs npm ci or npm install with no-audit/no-fund defaults inside an auto-detected npm project. |
| clear_laravel_cacheA | Runs php artisan optimize:clear in an auto-detected Laravel application. |
| restart_queue_workersA | Runs php artisan queue:restart so local workers restart gracefully after their current job. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mehrdad03/localdev-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server