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.1.tar.gz (772.6 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.1-py3-none-any.whl (71.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: backloop-0.3.1.tar.gz
  • Upload date:
  • Size: 772.6 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.1.tar.gz
Algorithm Hash digest
SHA256 2310bcb7c04a59a5e04bc085bae990ba1ff827a267401f28c116783fedea978f
MD5 554d8627d3a63d113643c6bf8b1ee8ef
BLAKE2b-256 da36d45d3492433a052c45f355116cac6e2cf627a284e343be9fc798f99d4078

See more details on using hashes here.

File details

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

File metadata

  • Download URL: backloop-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 71.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.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2f0649b49579561fe4e6a87af10fb2f3a5ed4d59cd877a72d39958ae686b068c
MD5 4a725847851fe7367d3ffba83fcd627d
BLAKE2b-256 35c21ebc23866711ce250bb775ec8b4195b3722e2af5a27334e2761548f376d9

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