Local Dev Doctor MCP

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.

Category
Visit Server

README

Local Dev Doctor MCP

CI Python 3.11+ License: MIT

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
  • stdio and 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

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured