KP

kshirajahere/pr-archaeologist

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

0 stars 0 forks Качество 66 Тренд 14

Evidence-backed GitHub PR review through MCP: recover past decisions, flag regressions, and draft cited reviews.

Обзор

A GitHub PR review MCP server for the track. Built with NitroStack and TypeScript, with eight focused tools, cited team rules, role-scoped access, and a review evidence widget. A small cleanup deletes a timeout. The diff looks simpler. Two years earlier, that timeout fixed an outage. The reason lives in a review comment nobody remembers to search for. PR Archaeologist traces the line back to the incident, finds the team convention that grew around it, and warns when a new PR reverses the fix. Every warning links to its evidence. The agent's credentials determine which repository paths it can see and whether it can post. The before/after is an illustrative fixture scenario, not a measured comparison between models. Fixture links have GitHub's normal URL shape but point to the fictional acme/launchpad repository. Live mode returns real GitHub URLs. Review comments use { "path": "src/client.ts", "line": 3, "body": "Keep the timeout." }.

README

Показан фрагмент оригинального README. Открыть оригинал.

PR Archaeologist

Reviewers see a diff with no memory. PR Archaeologist brings back the decisions.

A GitHub PR review MCP server for the MCP to the Moon buildathon · Developer Tools track. Built with NitroStack and TypeScript, with twelve focused tools, cited team rules, role-scoped access, and a review evidence widget.

The problem

A small cleanup deletes a timeout. The diff looks simpler. Two years earlier, that timeout fixed an outage. The reason lives in a review comment nobody remembers to search for.

PR Archaeologist traces the line back to the incident, finds the team convention that grew around it, and warns when a new PR reverses the fix. Every warning links to its evidence. The agent’s credentials determine which repository paths it can see and whether it can post.

Before: diff alone After: review with memory
fetch(url) replaces a longer call Line provenance explains the worker-exhaustion incident
An old convention is absent from the diff A finding quotes the 2024 review comment and its URL
A deliberate fix looks like boilerplate An exact reverse of PR #42’s fix triggers a conflict warning
Reviewer choice relies on recall Path history suggests Nikhil, Ava and Mina with evidence
Repository access is all or nothing A readonly request for .env returns not found; posting is a dry run

The before/after is an illustrative fixture scenario, not a measured comparison between models. Fixture links have GitHub’s normal URL shape but point to the fictional acme/launchpad repository. Live mode returns real GitHub URLs.

How it fits together

flowchart LR
  Client[Claude / Cursor / NitroStudio] --> MCP[NitroStack MCP server]
  MCP --> Audit[Audited call boundary]
  Audit --> Guard[JWT or API key + role config]
  Guard --> Scope[Repository and path allowlist]
  Scope --> Tools[Twelve review tools]
  Tools --> Data{GitHub adapter}
  Data --> REST[GitHub REST API]
  Data --> Mock[MOCK=1 snapshot]
  Tools --> Rules[Cached cited rulebook]
  Tools --> Card[Review evidence card]
  Audit --> Log[audit://log · identity scoped]

Tools

Tool One job
pr_context(repo, pr) Visible file patches, author, closing issues, related merged PRs on the same files, and review docs
read_pr_file(repo, pr, path, start_line=1, end_line?) Read up to 200 lines at the pinned PR head, including unchanged files needed for context
pr_discussion(repo, pr) Visible inline comments and replies, submitted reviews and general PR comments, with source links
pr_changes_since(repo, pr, since) Visible patches since an earlier full commit SHA; detect diverged history and report incomplete comparisons
recheck_findings(repo, pr, previous_findings) Match saved rule findings across line shifts and visible renames; report still_detected, not_detected or unverified
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "pr-archaeologist": { "command": "node", "args": ["C:/Users/sayal/pr-archaeologist/scripts/mcp.mjs"], "env": { "MOCK": "1", "MCP_API_KEY": "demo-readonly", "NITRO_MCP_PROTOCOL_VERSION": "legacy" } } } }