Local Dev Doctor MCP
Local Dev Doctor turns an unfamiliar development checkout into an evidence-backed diagnosis. It discovers how the project is meant to run, checks safe prerequisites, and executes only the exact probe that a user approves.
README
Local Dev Doctor MCP
Local Dev Doctor turns an unfamiliar development checkout into an evidence-backed diagnosis. It discovers how the project is meant to run, checks safe prerequisites, and executes only the exact probe that a user approves.
It never installs packages, edits configuration, starts services automatically, or persists environment values.
How it works
flowchart LR
A[Discover project profile] --> B[Run safe preflight]
B --> C[Prepare exact probe]
C --> D{Explicit approval}
D -->|Approved| E[Run bounded probe]
D -->|Declined| F[Stop without execution]
E --> G[Evidence-bound analysis]
G --> H[Build redacted runbook]
The profile is derived from the project itself: package-manager files, declared scripts, service definitions, environment-variable names, executable requirements, and loopback ports. No framework-specific command table is baked into the server.
Highlights
- Dynamic discovery across project manifests and service definitions
- Secret-free preflight checks for executables, variable names, and loopback ports
- Exact argv plans with short-lived, one-time approval tokens
- Separate approval gates for long-running probes and possible workspace writes
- Timeouts, output caps, redaction, and process-group cleanup for executed probes
- Deterministic findings plus optional host-model hypotheses constrained to evidence IDs
- Markdown and JSON runbooks written outside the diagnosed project
stdioand stateless Streamable HTTP transports
Install
Install the command directly from the repository with uv:
uv tool install "git+https://github.com/efficjump/local-dev-doctor-mcp.git"
To work from source:
git clone https://github.com/efficjump/local-dev-doctor-mcp.git
cd local-dev-doctor-mcp
uv sync --all-extras
Configure an MCP client
After installation, register the command with any client that supports MCP over stdio:
{
"mcpServers": {
"local-dev-doctor": {
"command": "local-dev-doctor-mcp",
"args": ["--transport", "stdio"],
"env": {
"LOCAL_DEV_DOCTOR_ALLOWED_ROOTS": "/path/to/allowed/projects"
}
}
}
}
LOCAL_DEV_DOCTOR_ALLOWED_ROOTS is required. Use the platform path separator to provide more than
one allowed root.
Diagnostic workflow
| Stage | Tools | Purpose |
|---|---|---|
| Session | start_diagnosis, list_diagnoses, get_diagnosis |
Create and inspect bounded diagnosis state |
| Discovery | discover_profile |
Derive commands, prerequisites, services, variable names, and ports |
| Preflight | run_preflight |
Inspect safe local state without running project commands |
| Approval | prepare_probe |
Return the exact argv, risk flags, timeout, and one-time token |
| Execution | execute_probe |
Run only the approved candidate under strict bounds |
| Analysis | analyze_failures |
Produce findings whose claims cite known evidence IDs |
| Reporting | build_runbook_report |
Write a redacted, reproducible runbook |
The server fingerprints relevant project inputs. If they change after discovery, stale plans are rejected and the profile must be refreshed.
Safety model
The allowed-root boundary is resolved before project access. Preflight does not read environment values, and stored state contains variable names only. A prepared probe cannot be altered or replayed: its token is hashed in state, expires, and is consumed by the first execution attempt. Probe output is bounded and redacted before persistence.
See the security policy for the threat model and disclosure process, and the architecture guide for the trust boundaries.
Streamable HTTP
Bind to loopback unless a trusted reverse proxy provides authentication and transport security:
local-dev-doctor-mcp --transport streamable-http --host 127.0.0.1 --port 8769
Development
uv sync --all-extras
uv run ruff format --check .
uv run ruff check .
uv run mypy
uv run pytest --cov --cov-report=term-missing
uv build
Contributions are welcome; read CONTRIBUTING.md before opening a change.
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.