Queue Doctor MCP server
io.github.ethanasm/mcp-queue-doctor·v0.2.2Diagnoses pg-boss and graphile-worker job queues: retry storms, stuck workers, missed schedules.
0 stars29 downloads/wk
Reviews
Write oneNobody has reviewed Queue Doctor yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Queue Doctor tools (8, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
diagnosewrite actionRun the whole diagnosis catalog and return ranked findings — retry storms, expiry overruns,
failed_jobsJobs that failed within the window, newest first, with the error message pulled from each
job_detailOne job's full record: state, timestamps, retry counters, configured expiry and dead-letter
missed_schedulesOnly the cron schedules whose most recent firing is older than their expression implies.
queue_overviewPer-queue health snapshot: job counts by state, jobs stuck active, completions and failures in
schedule_statusEvery cron schedule pg-boss has registered, with its expression, timezone, last observed firing,
server_infoReport queue-doctor's configuration, database connectivity, and the detected pg-boss schema —
stuck_jobsJobs that have been active longer than a threshold, with age, configured expiry, and — where
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan55 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 48 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Queue Doctor compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,255 servers
- Tools
- 8
- the typical server has 7
- Tools that change things
- 13%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 29
- more than 16% of 12,191 servers with a package
What its tools let an agent do: 7 read · 1 change
Install Queue Doctor in Claude Code, Cursor or VS Code
Runs npx -y mcp-queue-doctor on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-queue-doctor -- npx -y mcp-queue-doctor
What the publisher says
From the Queue Doctor repository's README, as published. We do not edit it. Read it on GitHub
mcp-queue-doctor
An MCP server that diagnoses Postgres job queues — pg-boss and graphile-worker. Retry storms, stuck workers, missed schedules, expiry overruns: what is broken, why, and the safest way to recover.
❌ "3 jobs in enrichment/corpus-fill are in state 'failed'."
✅ "enrichment/corpus-fill failed 140 times over 3m, peaking at 50 failures in a
single minute. 91% share one error, which looks like an upstream rate limit.
This is one fault reproduced many times, not many separate faults — so the fix
belongs at the source, and retrying the jobs individually will reproduce it.
Recovery, safest first:
1. Stop enqueuing to this queue — every new job feeds the same failure.
2. Confirm when the upstream quota resets; treat that as the time to resume.
3. Add a cooldown gate after N consecutive 429s.
⚠ Do NOT bulk-retry yet — the upstream is still limited.
Evidence: 140 failures, 91% 'HTTP 429 Too Many Requests (daily quota
exceeded)', peak 50/min, busiest minutes [...], 12 other errors [...]"The second answer is the product. Every finding carries the evidence it was drawn from, so you — or an agent — can check the reasoning instead of trusting it.
Where the heuristics come from
The rules are extracted from a morning health check that has run daily in production since April 2026 against a pg-boss instance driving ~30 cron queues. Every threshold was tuned by a real false positive or a real missed failure, and each rule below names the incident that motivated it. That provenance is the point: these are not heuristics invented for a README.
Install
npm install -g mcp-queue-doctor{
"mcpServers": {
"queue-doctor": {
"command": "mcp-queue-doctor",
"env": {
"QUEUE_DOCTOR_DATABASE_URL": "postgres://readonly:pw@localhost:5432/app"
}
}
}
}Then ask: "Is anything wrong with my job queue?"
Want to see it work first? examples/demo spins up a throwaway Postgres and manufactures seven failures in about a minute. It also plants a graphile-worker instance in the same database, where four of the seven rules go deliberately silent — the clearest way to see what capability declaration actually buys you.
Connecting it
The server speaks stdio, so every MCP client starts it as a subprocess. The only thing that varies is where the config lives — and whether that process can reach your database.
Claude Desktop — ~/Library/Application Support/Claude/claudedesktopconfig.json on macOS, %APPDATA%\Claude\claudedesktopconfig.json on Windows. Use the mcpServers block above, then restart the app.
Desktop launches its subprocesses from the app bundle, not a login shell, so PATH is minimal and a bare mcp-queue-doctor or npx often fails to resolve. Give it an absolute path — which mcp-queue-doctor after a global install, or the absolute path to npx with ["-y", "mcp-queue-doctor"] as its args.
Claude Code — one command, no file editing:
claude mcp add queue-doctor -e QUEUE_DOCTOR_DATABASE_URL=postgres://... -- npx -y mcp-queue-doctorAdd -s project to write a checked-in .mcp.json at the repo root instead of your personal config, so everyone working in that repo gets the tool.
Cloud / remote sessions (Claude Code on the web, and any other headless runner) — a checked-in .mcp.json is the only mechanism that works, because nobody is there to answer an approval prompt. Reference the connection string rather than committing it; Claude Code expands ${VAR} and ${VAR:-default} in .mcp.json:
{
"mcpServers": {
"queue-doctor": {
"command": "npx",
"args": ["-y", "mcp-queue-doctor"],
"env": { "QUEUE_DOCTOR_DATABASE_URL": "${QUEUE_DOCTOR_DATABASE_URL}" }
}
}
}Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Queue Doctor: common questions
- Is Queue Doctor MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Queue Doctor safety report
- How do I install Queue Doctor?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Queue Doctor need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Queue Doctor maintained?
- The last commit was 89 days ago (2026-08-07). The latest release is v0.2.2.
- How does Queue Doctor compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,255 servers); tools 8 (the typical server has 7); tools that change things 13% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.