
kshirajahere/pr-archaeologist
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
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 |
Установка
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"
}
}
}
}