Name | backloop JSON |
Version |
0.2.0
JSON |
| download |
home_page | None |
Summary | A web-based git diff viewer and review tool with MCP server integration |
upload_time | 2025-10-07 01:04:50 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.13 |
license | None |
keywords |
code-review
diff
fastapi
git
mcp
review
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<div align="center">
<img src="logo.png" alt="Logo">
</div>
# 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.

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
```bash
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:
```bash
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.
Raw data
{
"_id": null,
"home_page": null,
"name": "backloop",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": null,
"keywords": "code-review, diff, fastapi, git, mcp, review",
"author": null,
"author_email": "Benno Evers <benno@bmevers.de>",
"download_url": "https://files.pythonhosted.org/packages/b2/fd/044b4e5523dbf61b502be4eb5b39a6265f2a39838a611013c64e3ac8511b/backloop-0.2.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n<img src=\"logo.png\" alt=\"Logo\">\n</div>\n\n# Backloop Code Review\n\nA fully local code review platform with a built-in feedback loop, to make\niterating on agentic code output efficient and fun.\n\n## Overview\n\nCoding assistants do great on many tasks, but they are still lacking when\nworking on big, established code bases. In particular, getting code from a\nworking prototype to review-grade version that meets all coding standards often\nrequires a significant amount of manual polishing, that can easily eat up\nthe initial efficiency gains.\n\nBackloop provides a streamlined workflow for reviewing code changes with\nAI assistance, providing live feedback and an instant feedback loop.\n\n\n\nIt works by spinning up an ad-hoc web server that hosts a GitHub-like code\nreview UI that's linked to the current coding session.\n\nFor the assistant, the workflow looks like this:\n\n1. Start a review by calling `startreview()` and give the returned URL to the user\n2. Call `await_comments()`, and ...\n3. ... if receiving a comment, work on it and call `receive_comment()`\n4. ... if receiving REVIEW APPROVED, done.\n\nFor the user, the workflow looks like this:\n\n1. Open the link to the review\n2. Leave comments with feedback, or edit small touch-ups directly\n3. When satisfied with the code, approve the review.\n\nA review will have a url like `http://127.0.0.1:52267/review/c0837b48/view?since=HEAD~1&live=true`,\nyou can adjust the query parameters to get a different view on the repository.\nSee the reference section below to learn which parameters exist.\n\nWhen in \"live\" mode, that is when the `live` parameter is set to true, the\nreview willl also show untracked files and non-staged changes in the current\nworking directory, and include an \"edit directly\" button to make small changes\ndirectly, without waiting for a round of thinking.\n\n## Installation\n\nTo add the MCP server to Claude Code use\n\n```bash\nclaude mcp add local-review -- uvx --from backloop backloop-mcp\n```\n\nor run the equivalent command for the LLM frontend of your choice.\n\n## Standalone Usage\n\nYou can also use Backloop without an agent, as a standalone local diff viewer:\n\n```bash\nuvx --from backloop server\n```\n\nThis starts the web server which you can use to view and comment on\ndiffs manually.\n\n## MCP Tools Reference\n\nOnce configured, Claude has access to these MCP tools:\n\n### `startreview()`\n\nStarts a new review session. Exactly one parameter must be specified:\n\n- `since='HEAD'` - Review changes since a given commit, including uncommited changes\n- `commit='abc123'` - Review a specific commit\n- `range='main..feature'` - Review a range of commits\n\n**Examples:**\n\n- Review changes before committing: `startreview(since='HEAD')`\n- Review changes after committing: `startreview(since='HEAD~1')`\n- Review changes to a PR branch: `startreview(range='origin/main..HEAD')`\n\n### `await_comments()`\n\nBlocks until either a comment is posted or the review is approved.\nReturns comment details (including the originating `review_id`) or \"REVIEW APPROVED\".\n\n### `resolve_comment()`\n\nMarks a specific comment as resolved by its ID.\n",
"bugtrack_url": null,
"license": null,
"summary": "A web-based git diff viewer and review tool with MCP server integration",
"version": "0.2.0",
"project_urls": null,
"split_keywords": [
"code-review",
" diff",
" fastapi",
" git",
" mcp",
" review"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "066c523eda20065dc626ed11436513f185986c20e8f2fd2d4f8dfaf12db19d99",
"md5": "14d6e0d9714bf87c1a01cecb7da626d1",
"sha256": "e3de1d454feb689c55d3d85c9456f26e8b8107b5a8878fa02fcf9cd45afc7e07"
},
"downloads": -1,
"filename": "backloop-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "14d6e0d9714bf87c1a01cecb7da626d1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 63839,
"upload_time": "2025-10-07T01:04:48",
"upload_time_iso_8601": "2025-10-07T01:04:48.200757Z",
"url": "https://files.pythonhosted.org/packages/06/6c/523eda20065dc626ed11436513f185986c20e8f2fd2d4f8dfaf12db19d99/backloop-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b2fd044b4e5523dbf61b502be4eb5b39a6265f2a39838a611013c64e3ac8511b",
"md5": "a87c99c7d12a8b8e6fa83c597173363d",
"sha256": "70248c9a89d88831c3d987ddb6bf3d0e5e4816a71da163a6828e18e31595ebf4"
},
"downloads": -1,
"filename": "backloop-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "a87c99c7d12a8b8e6fa83c597173363d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 757160,
"upload_time": "2025-10-07T01:04:50",
"upload_time_iso_8601": "2025-10-07T01:04:50.145254Z",
"url": "https://files.pythonhosted.org/packages/b2/fd/044b4e5523dbf61b502be4eb5b39a6265f2a39838a611013c64e3ac8511b/backloop-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-07 01:04:50",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "backloop"
}