Skip to main content

A web-based git diff viewer and review tool with MCP server integration

Project description

Logo

Backloop Code Review

A fully local code review platform with a built-in feedback loop, to make iterating on agentic code output efficient and fun.

Overview

Coding assistants do great on many tasks, but they are still lacking when working on big, established code bases. In particular, getting code from a working prototype to review-grade version that meets all coding standards often requires a significant amount of manual polishing, that can easily eat up the initial efficiency gains.

Backloop provides a streamlined workflow for reviewing code changes with AI assistance, providing live feedback and an instant feedback loop.

Review Loop

It works by spinning up an ad-hoc web server that hosts a GitHub-like code review UI that's linked to the current coding session.

For the assistant, the workflow looks like this:

  1. Start a review by calling startreview() and give the returned URL to the user
  2. Call await_comments(), and ...
  3. ... if receiving a comment, work on it and call receive_comment()
  4. ... if receiving REVIEW APPROVED, done.

For the user, the workflow looks like this:

  1. Open the link to the review
  2. Leave comments with feedback, or edit small touch-ups directly
  3. When satisfied with the code, approve the review.

A review will have a url like http://127.0.0.1:52267/review/c0837b48/view?since=HEAD~1&live=true, you can adjust the query parameters to get a different view on the repository. See the reference section below to learn which parameters exist.

When in "live" mode, that is when the live parameter is set to true, the review willl also show untracked files and non-staged changes in the current working directory, and include an "edit directly" button to make small changes directly, without waiting for a round of thinking.

Installation

To add the MCP server to Claude Code use

claude mcp add local-review -- uvx --from backloop backloop-mcp

or run the equivalent command for the LLM frontend of your choice.

Standalone Usage

You can also use Backloop without an agent, as a standalone local diff viewer:

uvx --from backloop server

This starts the web server which you can use to view and comment on diffs manually.

MCP Tools Reference

Once configured, Claude has access to these MCP tools:

startreview()

Starts a new review session. Exactly one parameter must be specified:

  • since='HEAD' - Review changes since a given commit, including uncommited changes
  • commit='abc123' - Review a specific commit
  • range='main..feature' - Review a range of commits

Examples:

  • Review changes before committing: startreview(since='HEAD')
  • Review changes after committing: startreview(since='HEAD~1')
  • Review changes to a PR branch: startreview(range='origin/main..HEAD')

await_comments()

Blocks until either a comment is posted or the review is approved. Returns comment details (including the originating review_id) or "REVIEW APPROVED".

resolve_comment()

Marks a specific comment as resolved by its ID.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

backloop-0.3.0.tar.gz (772.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

backloop-0.3.0-py3-none-any.whl (71.2 kB view details)

Uploaded Python 3

File details

Details for the file backloop-0.3.0.tar.gz.

File metadata

  • Download URL: backloop-0.3.0.tar.gz
  • Upload date:
  • Size: 772.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for backloop-0.3.0.tar.gz
Algorithm Hash digest
SHA256 57f8bd157e95219797e1f822265ba4cbd423c07be624f0ab3b18946e52c7ab76
MD5 6fe108b5556f71dc5e21ed5cf557d453
BLAKE2b-256 4b5c7bdf6d5a3979ce8443e3106f14bc1c536e473e54d5be529ac9af7f8b094e

See more details on using hashes here.

File details

Details for the file backloop-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: backloop-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 71.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for backloop-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f794fec23efae2749acbafc1651ee6f3faf4b576c073300160ebe5b59bb16f4
MD5 de95fc5f603dc0504c4970d946c3e22e
BLAKE2b-256 ffe6a5c1a33d189d8deb7cbbd3072aa11665e712357cad8e24c3471f0a119090

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page