Review Helper
Imports Bitbucket pull requests and repository changes using Bitbucket credentials for private repository access.
Imports GitHub pull requests, including diffs and reviewer comments, with support for public repositories and private repositories via tokens or GitHub sign-in.
Imports GitLab merge requests, including diffs and discussions, with support for public projects and private repositories via access tokens.
Surfaces linked Jira issues alongside pull request evidence so reviewers can see related issue context.
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., "@Review Helper review https://github.com/acme/app/pull/128 by feature"
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.
Review Helper
Review a pull request by feature, not by file. Review Helper turns a GitHub, GitLab, Bitbucket or Azure DevOps pull request into a few feature sections. Each section comes with a map of the project that shows what was added, changed or deleted, plus the original diff and the reviewers' comments. It runs as a web app and as an MCP App, so the same view opens inside Claude, ChatGPT or any MCP host that supports apps.

Open source, self-hosted and model-agnostic. The calling chat model does the reasoning; Review Helper needs no AI key of its own.
Why
A flat list of 40 changed files hides the story of a pull request. Reviewers read files in alphabetical order and tend to give the later ones less attention (Rahman et al., 2026). Review Helper groups the change by behaviour instead. For example, one section can hold a new page, its API route, its database table and its test. Within a section, files read foundations first. See docs/RESEARCH.md for the papers and products behind these choices.
Related MCP server: GitLab Review MCP
Features
Feature sections | Sections cross UI, API, data and tests. One file can be split by hunk across sections; each hunk has exactly one owner. |
Diagrams with content only | Topology, C4 containers, use cases, sequence, class, data model (SQL/ORM) and a test map. A type appears only when the section has something to draw. |
Change colours | Green added, yellow modified, red deleted, plus symbols and labels for colour-blind readers. |
Nearby files | Unchanged files the change imports, links to or is named after. Each card says why it is shown. |
Original evidence | Unified or side-by-side diffs, provider comments with safe Markdown, and linked Jira issues. |
Providers | GitHub, GitLab, Bitbucket, Azure DevOps. Public URLs work without a token; private repos use tokens or GitHub / Microsoft Entra sign-in. |
MCP | Tools, prompts, resources, a review skill, and an MCP App with a compact chat card and a fullscreen workspace. |
API | REST with OpenAPI, Swagger UI at |
Inside a chat
The MCP App opens as a compact card with the map first. Expand asks the host for fullscreen, and Ask to review posts a section-scoped request into the chat.
Inline card | Fullscreen, dark host |
|
|
Quick start
Docker
docker compose up --buildOpen http://127.0.0.1:8000. The MCP endpoint is http://127.0.0.1:8000/mcp/.
From source (Python 3.12+, uv, Node 22)
uv sync --extra dev
npm ci && npm run build
uv run review-helperThe example pull request loads straight away. Choose Open a PR to paste a real URL, such
as https://github.com/owner/repo/pull/123.
Use it from an MCP client
{
"mcpServers": {
"review-helper": { "url": "http://127.0.0.1:8000/mcp/" }
}
}For stdio clients, use uv run review-helper --stdio. To see how a chat host embeds the app,
open http://127.0.0.1:8000/mcp-preview. docs/MCP.md lists the tools,
resources and prompts.
Private repositories
Set tokens in the server environment (see .env.example). They never reach the browser or the model.
Provider | Token | Minimum access |
GitHub |
| Fine-grained: Pull requests read, Contents read |
GitLab |
|
|
Bitbucket |
| Repository and pull request read |
Azure DevOps |
| Code read |
Before you expose the server on a network, set REVIEW_HELPER_ACCESS_TOKEN.
Deploy
Use Docker, Vercel, or Manufact Cloud for hosted MCP servers. See docs/DEPLOY.md.
Quality
Check | Command | Gate |
Unit + MCP protocol tests |
| 85% line and branch coverage |
End-to-end (web app and MCP App) |
| all pass, axe accessibility checks |
Mutation testing (review logic) |
| target 80% killed (reported, not yet blocking) |
CRAP score |
| no function above 30 |
MCP metadata lint |
| all checks pass |
Real providers |
| weekly in CI |
docs/TESTING.md explains each check.
Project layout
review_helper/ FastAPI app, MCP server, provider importers, hunk ownership, linter
ui/ React + TypeScript viewer (one bundle for the web app and the MCP App)
tests/ pytest: unit, API, MCP protocol, live providers
e2e/ Playwright: workspace, diagrams, MCP App host
docs/ Research notes, deployment, MCP and testing guides, screenshotsContributing
Issues and pull requests are welcome. Run the checks above before opening a PR. Renovate keeps dependencies current, and CHANGELOG.md records each release.
License
MIT © 2026 Antoine Boucher. Review Helper is an independent project and is not affiliated with CodeRabbit, GitHub, GitLab, Atlassian, Microsoft or Manufact.
Available Tools
6 toolsget_workspaceLoad visual workspaceCRead-onlyIdempotent
Load workspace data for the embedded viewer.
Inputs: review_id (required).
open_reviewOpen pull request reviewBRead-onlyIdempotent
Open a hosted PR URL or 'demo'; show its map and return a compact section index.
Inputs: url.
propose_review_planUpdate feature review planBIdempotent
Replace local feature sections using existing paths and evidenced relationships. No provider writes.
Inputs: plan (required), review_id (required), expected_head (required).
provider_connectionProvider sign-inA
Manage local Azure DevOps or GitHub sign-in; return user codes or status, never access tokens.
Inputs: action (required), provider (required), login_id.
read_sectionRead feature sectionBRead-onlyIdempotent
Read only one feature section's original patches and provider comments.
Inputs: review_id (required), section_id (required).
review_progressSave local review progressAIdempotent
Read or save locally reviewed sections; never submits a provider review.
Inputs: review_id (required), sections.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a distinct role in the review workflow, but open_review and get_workspace both appear to load workspace/viewer data, and propose_review_plan versus review_progress both touch local review state, leaving mild boundary ambiguity.
Names are all snake_case and mostly follow a verb_noun pattern. provider_connection is noun-only and propose_review_plan is a longer verb phrase, but these are minor deviations.
Six tools is well-scoped for a PR review helper. Each supports a clear step in the workflow: connect, open, read, plan, track progress, and load the workspace.
The surface covers provider sign-in, review opening, section reading, local planning, progress tracking, and viewer workspace. It lacks explicit tools for browsing multiple reviews or finalizing/submitting feedback, though non-submission appears intentional.
Maintenance
Related MCP Connectors
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Structured visual plans and PR recaps with diagrams, prototypes, annotations, and sharing
Live PR/MR code reviews via review_url_code. OAuth or portal Bearer auth.
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables management of Bitbucket Cloud pull requests through natural language, including creating, reviewing, approving, and commenting on PRs with automatic default reviewer support.791MIT
- AlicenseBqualityDmaintenanceEnables code review operations on GitHub and GitLab, including fetching pull/merge requests, viewing diffs, adding comments, analyzing code quality, and creating merge requests directly from your MCP client.1521 npm4MIT
- AlicenseBqualityDmaintenanceConnects LLMs to GitHub and GitLab to analyze pull and merge requests for logic, security, and architectural alignment. It provides tools for fetching diffs, file contents, and project metadata, alongside guided prompts for professional code reviews.1018 npmISC
- AlicenseNot gradedqualityDmaintenanceEnables reviewing GitHub pull requests via ChatGPT, including listing PRs, viewing diffs, posting comments, approving, and requesting changes.MIT

