
DevDoctor
io.github.Bannawat01Published by GitHub account Bannawat01v0.1.2Updated Nov 8, 2026
Read-only local diagnostics for Rust, Node, Docker, ports, and environment configuration.
Overview
Read-only local diagnostics server that lets an assistant inspect a project's Rust, Node, Docker, port and environment setup and explain findings.
- What you can do
- Diagnose a local project directory and report health issues
- Check installed toolchains and environment configuration
- Inspect configured local TCP ports and, where supported, the owning process
- Inspect Docker Compose services for exited or unhealthy containers
- Explain a specific diagnostic finding by its code
- When to use it
- Useful when an assistant needs to troubleshoot why a local project will not build or run, check toolchain and environment setup, or see whether expected ports and Docker services are in a healthy state, without changing anything.
- Requirements
- Runs as a local stdio process; install the devdoctor-mcp binary from crates.io (Cargo) or use the Windows release binary, and point the client at its absolute path. It only accepts existing local directories. Docker findings require a reachable Docker engine. No accounts, API keys or environment variables are declared.
Installation
In SourceWeft
- Open DevDoctor in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
DevDoctor
mcp-name: io.github.Bannawat01/devdoctor
Local, read-only diagnostics for Rust, Node, Docker, ports, and environment configuration.
Licensed under MIT or Apache-2.0, at your option.
Run
Exit codes: 0 healthy, 1 diagnostic errors/warnings, 2 invalid invocation or inspection failure.
MCP / Zed
Build the release server, then add it in Zed: Settings → AI → MCP Servers → Add Local Server.
The stdio server exposes diagnose_project, check_toolchain, check_environment, check_ports, and explain_finding. It accepts only local existing directories and never runs repository scripts or changes environment state.
Registry preparation and the publishing checklist are documented in docs/zed-mcp-registry.md. devdoctor-mcp 0.1.2 is published on crates.io and listed as io.github.Bannawat01/devdoctor in the official MCP Registry.
The minimal Zed extension source is in zed-extension/. It delegates to a separately installed devdoctor-mcp binary on PATH; it is not yet published or verified in the Zed Agent UI.
docs/zed-mcp.json is a portable template. Replace its command value with the absolute path to your own devdoctor-mcp.exe; it never points to the author's machine.
Docker diagnostics are read-only. When a Compose project is detected and the Docker engine is reachable, DevDoctor inspects docker compose ps --all and reports services that are exited or unhealthy. It never starts, stops, restarts, or removes containers. An unavailable engine is reported separately from a service failure.
Windows binary
Download devdoctor-windows-x86_64.zip from the GitHub prerelease, extract it, and run devdoctor.exe doctor --path <project>. Verify the accompanying SHA-256 checksum before use.
The ready-to-copy local configuration is also in docs/zed-mcp.json. In Zed, open Settings → AI → MCP Servers → Add Local Server, then confirm the server is active before asking the Agent to run diagnose_project.
Privacy
DevDoctor makes no cloud calls or environment changes. Values from .env and URLs are redacted; output contains variable names and safe endpoint metadata only.
Port ownership scope
When a configured local TCP port is occupied, DevDoctor may add the owning PID and process name to the port finding. On Windows this uses GetExtendedTcpTable with AF_INET; on Linux it reads /proc/net/tcp and process file descriptors. IPv6 ownership is not currently implemented, so an occupied IPv6 listener may have no owner evidence.
Executable metadata may be queried internally when the operating system permits it. Full executable paths are deliberately withheld from CLI and MCP findings; only executable_path_available=true|false is exposed. Permission restrictions and unsupported platforms preserve the port conflict finding without terminating or modifying processes.
Source: README.md at commit 1229734
Tools
0Version history
1- v0.1.2LatestNov 8, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts