Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Diagnose proxy misconfigurations that break AI coding tools (Cursor, VS Code, Windsurf)
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"proxy-doctor": {
"command": "uvx",
"args": [
"proxy-doctor"
]
}
}
}Run this in your terminal
claude mcp add proxy-doctor -- uvx proxy-doctorPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"proxy-doctor": {
"command": "uvx",
"args": [
"proxy-doctor"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"proxy-doctor": {
"type": "stdio",
"command": "uvx",
"args": [
"proxy-doctor"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account Jiansen, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.1) reached the registry 8 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Asset Notation
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
proxy-doctor
Diagnose proxy misconfigurations that break AI coding tools.
When your browser works fine but Cursor / VS Code / Windsurf AI features don't — proxy-doctor tells you exactly why and how to fix it.
AI coding tools (Cursor, VS Code with Copilot, Windsurf) rely on long-lived streaming connections (SSE/HTTP2) that break when:
launchctlThe result: "browser works, AI editor doesn't" — the most common and frustrating developer experience.
proxy-doctor inspects 5 layers of your macOS proxy configuration:
| Layer | What | How |
|---|---|---|
| 1. System Proxy | Web/HTTPS/SOCKS proxy across all network services | networksetup |
| 2. Residual Values | Disabled proxies with stale localhost addresses | Parse disabled-but-set entries |
| 3. Port Health | Whether referenced proxy ports are actually listening | socket.connect() |
| 4. Editor Config | settings.json, argv.json, recent error logs | File read + pattern match |
| 5. GUI Environment | http_proxy/https_proxy in GUI app context | launchctl getenv |
# Install
pip install proxy-doctor
proxy-doctor check
proxy-doctor check --human
proxy-doctor fix
proxy-doctor check --editor vscode
proxy-doctor ships as an MCP server that AI agents can call directly:
# Install with MCP support
pip install proxy-doctor[mcp]
python -m proxy_doctor.mcp_server
Add to your MCP configuration (e.g., Cursor ~/.cursor/mcp.json):
{
"mcpServers": { "proxy-doctor": { "command": "python3", "args": ["-m", "proxy_doctor.mcp_server"] } } }
Note:
"command"must point to the Python whereproxy-doctor[mcp]is installed. Ifpython3doesn't work, use the full path (runwhich python3orpython3 -c "import sys; print(sys.executable)"to find it).
Your AI agent can then call:
diagnose_proxy(editor="cursor") — full 5-layer diagnosis with evidencelist_fixes(editor="cursor") — recommended fixes with executable commandssupported_editors() — list available editorsOne-liner (paste this to your AI agent):
Install proxy-doctor (
pip install proxy-doctor[mcp]) and add it to your MCP config with commandpython -m proxy_doctor.mcp_server. Then use thediagnose_proxytool to check proxy health.
If you are an AI agent setting up proxy-doctor for your user:
# 1. Install
pip install proxy-doctor[mcp]
python3 -c "import sys; print(sys.executable)"
proxy-doctor check # JSON output proxy-doctor check --human # human-readable proxy-doctor fix # show fixes (read-only) proxy-doctor fix --apply # apply fixes (asks for confirmation)
Run proxy-doctor as a persistent background service with automatic health monitoring:
# Start daemon (installs as macOS launchd service)
proxy-doctor daemon start
proxy-doctor daemon status
proxy-doctor daemon stop
proxy-doctor update
The daemon runs every 5 minutes, compares results with the previous check, and sends a macOS notification when status changes (e.g. healthy → unhealthy).
# If SwiftBar is installed
cp plugins/swiftbar/proxy-doctor.5m.sh ~/Library/Application\ Support/SwiftBar/Plugins/ chmod +x ~/Library/Application\ Support/SwiftBar/Plugins/proxy-doctor.5m.sh
Shows a green/red/orange indicator in your menu bar with one-click diagnosis.
{
"status": "unhealthy", "diagnosis": { "case": "A", "root_cause": "Editor is configured to use proxy at 127.0.0.1:10903, but no process is listening on that port.", "confidence": "high", "source": "system proxy (Wi-Fi (http))", "browser_explanation": "Browser may use a different proxy path (e.g. browser-only mode) or fall back to a direct connection." }, "fixes": [ { "fix_id": "clear-system-http-wi-fi", "description": "Disable http proxy on Wi-Fi", "command": "networksetup -setwebproxystate \"Wi-Fi\" off", "risk": "low" } ] }
proxy-doctor v0.2.0
Editor: cursor | Platform: Darwin
Status: HEALTHY
No proxy contamination detected.
| Editor | Config Detection | Log Scanning | Status |
|---|---|---|---|
| Cursor | yes | yes | supported |
| VS Code | yes | yes | supported |
| Windsurf | yes | yes | supported |
| Claude Desktop | planned | — | future |
| Zed | planned | planned | future |
proxy-doctor identifies three failure patterns:
Case A — Dead proxy port (high confidence): Your system or editor points to 127.0.0.1:port but nothing is listening. This happens when a VPN/proxy app is closed but its settings remain.
Case B — Streaming broken (medium confidence): A proxy is running, but it buffers SSE/streaming connections that AI editors depend on. Common with browser-only proxy modes.
Case C — Path mismatch (medium confidence): Browser and editor use different proxy paths. Browser works via a dedicated proxy route; editor inherits a stale or incompatible one.
proxy-doctor follows a read-only by default design. No system changes are made unless you explicitly opt in.
| Access | What | Why |
|---|---|---|
| Reads | System proxy settings, editor config files, launchctl env vars, local port status | Core diagnostic functionality |
| Writes | ~/.proxy-doctor/ only (cache, logs, update state) | Daemon state persistence |
| Network | pypi.org (version check only) | Auto-update feature |
| Does NOT | Modify proxy settings, change editor config, send telemetry, access credentials | By design |
proxy-doctor fix shows the recommended commands but does not execute them.
To apply fixes, use proxy-doctor fix --apply:
[y/N])yThis two-step model lets AI agents safely call list_fixes() via MCP to see what needs fixing, then present the commands to users for approval.
Found a bug? Have a suggestion? Diagnosis didn't help?
feedback.report_issue URL — include the full JSON when filing issues.For AI agents providing feedback programmatically (zero dependencies):
# Create a GitHub issue via CLI (requires gh)
proxy-doctor check | gh issue create --repo Jiansen/proxy-doctor \ --title "Diagnosis report: [describe issue]" --body-file -
git clone https://github.com/Jiansen/proxy-doctor.git
cd proxy-doctor
pip install -e ".[dev,mcp]"
make test
make lint
If proxy-doctor helped you fix a proxy issue, consider giving it a star on GitHub — it helps others discover the tool.
MIT