Skip to main content
Glama
urahmank

pr-digest-mcp

by urahmank

pr-digest-mcp

An MCP server that syncs your GitHub pull request and review activity in the background and exposes it as tools Claude can call directly — so instead of checking multiple repos by hand, you can ask "what's blocking me on GitHub right now" or "summarize PR activity since Monday" and get a real answer.

Why it's built this way

The server does not try to summarize anything itself. It syncs GitHub state (PRs, review requests, submitted reviews, check status) into a local SQLite database on a poll interval, and exposes that as structured MCP tools. Claude — the MCP client — is the one that turns the structured data into a natural-language answer. That keeps the backend's job to what a backend is actually good at: integration, polling, normalizing, and state, not reimplementing an LLM.

See pr-digest-mcp-plan.md (project docs) for the full architecture and milestone plan.

Related MCP server: PR Reviewer MCP Server

Tools exposed

Tool

What it does

list_pending_reviews

Open PRs across tracked repos where a review is requested from you and not yet submitted.

whats_blocking_me

Open PRs you authored that have changes requested or failing checks.

summarize_pr_activity(since)

Structured PR/review/check activity updated after a given timestamp, freshly synced.

Setup

  1. Create a GitHub token. A classic PAT with repo scope (or a fine-grained token with PR + metadata read access to the repos you want to track) at https://github.com/settings/tokens.

  2. Install dependencies and generate the Prisma client:

    npm install
    npm run prisma:generate
    npm run prisma:migrate -- --name init
  3. Configure environment variables. Copy .env.example to .env and fill in:

    • GITHUB_TOKEN — the token from step 1

    • GITHUB_USERNAME — your GitHub username (used to filter "requested from me" / "authored by me")

    • TRACKED_REPOS — comma-separated owner/repo list, e.g. myorg/api,myorg/web

    • POLL_INTERVAL_MS — how often to re-sync (default 2 minutes)

  4. Build:

    npm run build

Registering it with Claude

Add it to your MCP client config (Claude Desktop's claude_desktop_config.json, or Claude Code's MCP settings) as a stdio server:

{
  "mcpServers": {
    "pr-digest": {
      "command": "node",
      "args": ["/absolute/path/to/pr-digest-mcp/dist/main.js"],
      "env": {
        "GITHUB_TOKEN": "...",
        "GITHUB_USERNAME": "...",
        "TRACKED_REPOS": "owner/repo1,owner/repo2"
      }
    }
  }
}

Restart the client, then try asking: "what's blocking me on GitHub right now?"

Development

npm run start:dev   # watch mode
npm run lint
npm test

Roadmap

Out of scope for v1, deliberately — see the project plan for the full list: webhook-based real-time sync (needs a public endpoint), multi-user support, richer per-event activity timelines (commits/comments, not just review state), and a second transport (SSE/HTTP) alongside stdio.

License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/urahmank/pr-digest-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server