MCP.Market

Queue Doctor MCP server

by ethanasm·io.github.ethanasm/mcp-queue-doctor·v0.2.2

Diagnoses pg-boss and graphile-worker job queues: retry storms, stuck workers, missed schedules.

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
New

0 stars29 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • diagnosewrite action

    Run the whole diagnosis catalog and return ranked findings — retry storms, expiry overruns,

  • failed_jobs

    Jobs that failed within the window, newest first, with the error message pulled from each

  • job_detail

    One job's full record: state, timestamps, retry counters, configured expiry and dead-letter

  • missed_schedules

    Only the cron schedules whose most recent firing is older than their expression implies.

  • queue_overview

    Per-queue health snapshot: job counts by state, jobs stuck active, completions and failures in

  • schedule_status

    Every cron schedule pg-boss has registered, with its expression, timezone, last observed firing,

  • server_info

    Report queue-doctor's configuration, database connectivity, and the detected pg-boss schema —

  • stuck_jobs

    Jobs 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

no findings
  • 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
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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-doctor

Add -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.