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.2.1.tar.gz (758.3 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.2.1-py3-none-any.whl (63.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for backloop-0.2.1.tar.gz
Algorithm Hash digest
SHA256 895759f4c99bd0ed236dacf9a269e645ed79a7be0f2f1b90fb503dc93bc42dff
MD5 59def9297bc084d12094e764f2984b12
BLAKE2b-256 f4b5256c2be676acc0d5a5920760ed215becd7488f6fe95d501cbd9713e940e4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: backloop-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 63.9 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ae740072fce583697afb33781af8439136f3cd3beed910c91e7ec8751f3af0f
MD5 d027102584a7fc8d1b09f8365c0b53af
BLAKE2b-256 573e701455c0a593aba903315b87400bb76ef46e4f7f92b6ccd951112210b5c8

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