Skip to main content
Glama

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.

CI License: MIT

A pull request split into feature sections, with the project map

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 /docs and ReDoc at /redoc.

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

MCP App inline in a chat

MCP App fullscreen in a dark host

Quick start

Docker

docker compose up --build

Open 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-helper

The 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

GITHUB_TOKEN, or GITHUB_CLIENT_ID for sign-in

Fine-grained: Pull requests read, Contents read

GitLab

GITLAB_TOKEN

read_api (also needed for discussions on public projects)

Bitbucket

BITBUCKET_TOKEN and BITBUCKET_EMAIL

Repository and pull request read

Azure DevOps

AZURE_DEVOPS_TOKEN, or AZURE_CLIENT_ID for Entra sign-in

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

uv run pytest

85% line and branch coverage

End-to-end (web app and MCP App)

npx playwright test

all pass, axe accessibility checks

Mutation testing (review logic)

uv run --extra mutation python scripts/mutation.py

target 80% killed (reported, not yet blocking)

CRAP score

uv run python scripts/quality_report.py --max-crap 30

no function above 30

MCP metadata lint

uv run review-helper-lint

all checks pass

Real providers

REVIEW_HELPER_LIVE=1 uv run pytest -m live

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, screenshots

Contributing

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 tools
get_workspaceLoad visual workspaceC
Read-onlyIdempotent

Load workspace data for the embedded viewer.

Inputs: review_id (required).

open_reviewOpen pull request reviewB
Read-onlyIdempotent

Open a hosted PR URL or 'demo'; show its map and return a compact section index.

Inputs: url.

propose_review_planUpdate feature review planB
Idempotent

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 sectionB
Read-onlyIdempotent

Read only one feature section's original patches and provider comments.

Inputs: review_id (required), section_id (required).

review_progressSave local review progressA
Idempotent

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

    A3.5/5.0

    Scored across 6 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables management of Bitbucket Cloud pull requests through natural language, including creating, reviewing, approving, and commenting on PRs with automatic default reviewer support.
      79
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables 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.
      15
      21 npm
      4
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Connects 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.
      10
      18 npm
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables reviewing GitHub pull requests via ChatGPT, including listing PRs, viewing diffs, posting comments, approving, and requesting changes.
      MIT