prwatch
Integrates with GitHub to monitor open pull requests, review states, unresolved review threads, and CI check conclusions. It ranks PRs by urgency, surfaces actionable review feedback, identifies external blockers, and provides attention reports, PR lists, and deep-dive PR status details.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@prwatchwhat needs my attention right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
prwatch
What needs your attention right now? prwatch answers that question for contributors with open PRs.
It was born from a real day: three PRs open in one repo, CodeRabbit reviews on all three, a Vercel deploy failure that was not the author's fault, and no way to see at a glance which PR actually needed work. Manually reading every review thread on every PR is the old way. prwatch ranks your open PRs by urgency with human readable reasons, so you open the right one first.
Install
Requirements: Node 20+.
git clone https://github.com/CloudCorpRecords/prwatch
cd prwatch
npm install
npm run build
npm link # or run with npx tsx src/cli.tsSet GITHUB_TOKEN (or GH_TOKEN) for the 5000 req/hr authenticated rate limit. Without a token it works at the 60 req/hr unauthenticated rate.
Related MCP server: gh-review-queue-mcp
Authentication
A token is optional. --repo mode and prwatch show work without one, since they never touch the search API. Account-wide reports (attention / list without --repo) use author: search, which GitHub restricts for unauthenticated callers on some accounts, so a token is recommended there. A classic token with no scopes is enough for public data; without one you get clear guidance instead of a raw 422.
CLI usage
prwatch attention # rank my open PRs by urgency
prwatch attention --user octocat --repo shadcn-labs/pdfcn
prwatch attention --json # machine readable output
prwatch list # simple one line per PR
prwatch show https://github.com/shadcn-labs/pdfcn/pull/92Example output:
[ACTION] 74 shadcn-labs/pdfcn#92
feat: add Business Letter block
- 4 unresolved review threads need a reply or code change (business-letter.tsx, business-letter.mdx)
https://github.com/shadcn-labs/pdfcn/pull/92
[READY] 45 shadcn-labs/pdfcn#93
feat: add Resume block
- Approved and green, ready to merge.
https://github.com/shadcn-labs/pdfcn/pull/93prwatch show gives the deep dive: review state, every check with its conclusion, unresolved review threads with file and line, and the full attention breakdown.
MCP server
Same engine as the CLI, exposed over stdio for Claude, Cursor, and Cline:
Tool | What it does |
| Ranked attention report with scores, categories, and reasons |
| Simple list of open PRs |
| Deep dive on one PR: reviews, checks, threads, attention score |
Claude Code / Cursor config (~/.claude.json or MCP settings):
{
"mcpServers": {
"prwatch": {
"command": "node",
"args": ["/absolute/path/to/prwatch/dist/mcp.js"],
"env": { "GITHUB_TOKEN": "ghp_your_token_here" }
}
}
}Start it directly with npm run start:mcp.
How scoring works
Every open PR starts at 50 points and gains or loses urgency from signals:
Signal | Effect |
Changes requested by a reviewer | +30, category ACTION |
Merge conflict (unmergeable branch) | +25, category ACTION |
Failing check on your code (build, test, lint, DCO) | +12 each, category ACTION |
Unresolved review thread that asks for a change | +8 each, category ACTION |
Approved, checks green, mergeable | READY, score capped at 45 |
Failing check that is not your fault (for example Vercel "Authorization required to deploy") | classified BLOCKED_EXTERNAL, low urgency |
Checks still running | WAITING |
7+ days of silence with no approval | STALE |
Score is clamped to 0-100. Categories rank in this order: ACTION, BLOCKED_EXTERNAL, READY, WAITING, STALE. The report sorts by score, then category.
Two judgment calls worth knowing:
External blockers are not failures. A preview deploy that fails because a maintainer has to authorize it is GitHub-marked "failure", but no code change fixes it. prwatch detects known patterns (authorization required, sign in to deploy, waiting on team approval) and files them as external, so they never inflate your urgency.
Thread resolution is approximated. The GitHub REST API cannot say whether a review thread is resolved, so top level review comments from non authors count as open threads. Comments that suggest a change (code suggestions, "please", "consider", "fix") count as actionable.
Development
npm install
npm test # tsx --test test/*.test.ts
npm run build # tsc, emits to dist/
npm run dev # run the CLI from sourceFixtures in test/fixtures/ are modeled on the real shapes of shadcn-labs/pdfcn PRs #92, #93, and #94 from 2026-10-13. Tests never touch the network.
License
MIT. Copyright (c) 2026 Rene Turcios. See LICENSE.
The toolkit
This tool is one of four in a lifecycle for open-source contribution work, all published under the @reneturcios npm scope and each available as a CLI and an MCP server (<tool> mcp):
gatefile (
npx @reneturcios/gatefile) extracts a repo's contribution gates into a committedcontribution-gates.json.greenlight (
npx @reneturcios/greenlight) pre-flights issues (GO / RISKY / TAKEN / GATED / STALE), consumes gatefile's output incheckandscan, then claims, preps, and opens PRs.claimcheck (
npx @reneturcios/claimcheck) watches for stale claims and fixes parked on forks.prwatch (
npx @reneturcios/prwatch) triages your open PRs by what needs you right now.
This server cannot be deployed
Maintenance
Related MCP Connectors
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Writes your daily standup from GitLab or GitHub merge request state: what's ready, blocked or waiting on your review, and why a pipeline is red, read from the failing job log. OAuth sign-in, no API keys; can post the note to Slack, Discord or Google Chat on a schedule.
Monitor third-party API changes in GitHub repos, map breaks to files, open reviewable auto-fix PRs.
Evaluates any GitHub repository for license risk, maintenance velocity, stars/forks, and security.
Related MCP Servers
- FlicenseAqualityBmaintenanceStreamlines GitHub PR workflows, monitors CI/CD, and sends Slack notifications. Provides tools for PR analysis, CI monitoring, and follow-up tasks.7-
- AlicenseAqualityBmaintenanceMCP server that ranks and deduplicates your GitHub pull request review queue across direct requests, team requests, and your own waiting PRs into a single prioritized list via one get_review_queue tool.11Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables maintainers to prioritize maintenance across GitHub repositories by converting repository, branch, CI, security, and release signals into deterministic, evidence-backed scores and ranked actions.MIT
- AlicenseAqualityAmaintenanceGenerates a daily standup note from GitLab merge request or GitHub pull request state: what is ready to merge, what is blocked, what is stale, and what is waiting on your review. When CI is red it opens the failed job's log and reports the error lines, so the note says why the pipeline failed rather than just that it did.3701 npm1MIT