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 agent of your choice.

Then, use a prompt like this to start the review:

> Open a local review for the changes you made and wait for approval, then commit and push the changes.

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 diffs and add comments. (though no one will see the comments in that case)

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
  • title='foo' - Optional review title

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.4.0.tar.gz (789.4 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.4.0-py3-none-any.whl (85.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: backloop-0.4.0.tar.gz
  • Upload date:
  • Size: 789.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for backloop-0.4.0.tar.gz
Algorithm Hash digest
SHA256 425aef6ffb8d5553c4e0299c7eab279ce311ae4067df561f9d61134f9854fa12
MD5 b750684dd882d4c33b8334867a5af25c
BLAKE2b-256 cfdd566c7340848a9689a6653103cf98926593f2b7f89e1b19428e65992e12bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: backloop-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 85.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for backloop-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 274bdca712b13f08acbd4c21277b1f2c73858efde0615b7b89392e209989de16
MD5 89cf7c2c385bbc0e75d38b9218aefb38
BLAKE2b-256 2e96221ef30360521c0fc8dc0e5ed0d547f95b16652abc6a9f1781de6c85bfd2

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