Code Reaper

Created By
kaldonia-labs4 months ago
CodeReaper is an AI-driven MCP tool for Cursor that finds and removes dead JavaScript by exploring real UIs and capturing V8 coverage ``` pip install codereaper playwright install chromium codereaper ``` Then, you will be prompted to insert Gemini API Key
Overview

CodeReaper

CodeReaper is an AI-driven MCP tool for Cursor that finds and removes dead JavaScript by exploring real UIs and capturing V8 coverage.

Key Features

  • Autonomous UI exploration via the Index browser agent
  • V8 precise coverage to identify zero-execution functions
  • Risk scoring and removal recommendations
  • Patch generation and optional verification replay
  • MCP integration for Cursor workflows

Quick Install

pip install codereaper
playwright install chromium
codereaper

When you first run codereaper, it prompts for your Gemini API key and saves it in your global ~/.cursor/mcp.json so Cursor can invoke it later.

Alternative Install

# pipx
pipx run codereaper

Prerequisites

  • Python 3.11+
  • Playwright Chromium (installed via playwright install chromium)
  • A Gemini API key (or OpenAI / Anthropic if you change providers)

Quick Start

  1. Install and run codereaper (it updates ~/.cursor/mcp.json)
  2. Restart Cursor
  3. Ask the assistant:

    "Find dead JavaScript code on http://localhost:3000"

Usage

Command:

codereaper

Example scan with local source mapping:

"Find dead code on http://localhost:3000, source is in ./test_site"

MCP Tools

ToolDescription
find_dead_codeFull pipeline: scan + analyze. Returns dead-code report with file paths, line numbers, risk scores, and removal recommendations.
scan_websiteScan only (no analysis). Returns scan_id for later use.
analyze_dead_codeAnalyze a completed scan. Takes scan_id.
generate_patchesGenerate unified diffs to remove dead code (conservative / balanced / aggressive).
get_patch_diffRetrieve the combined diff for a patch.
apply_patchApply a patch to source files (stores snapshots for rollback).
verify_patchRe-run the browser agent to check for regressions after patching.
rollback_patchRestore original files from pre-patch snapshots.
list_scansList recent scans.
get_scan_statusGet detailed status of a scan.

Troubleshooting

  • If the browser doesn’t open, install Chromium: playwright install chromium
  • If the scan fails with key errors, ensure GEMINI_API_KEY exists in ~/.cursor/mcp.json
  • If local pages don’t load, confirm your dev server is running and reachable
  • If Gemini rate limits hit, retry after the quota window resets

Update

  • 02-09-2026: v0.2.3 release

Issues & Feedback

Open an issue with steps to reproduce and logs if possible. Feedback and suggestions are welcome.

Project Info
Created At
4 months ago
Updated At
4 months ago
Author Name
kaldonia-labs
Star
-
Language
-
License
-
Category
Tags

Recommend Servers

View All
Bring your real authenticated browser session to AI coding agents. Local-first MCP server + Chrome MV3 extension. No cloud. No telemetry.
@Cubenest

peek records the user's actual logged-in browser (DOM via rrweb, console events, network metadata, optional response bodies via opt-in Deep capture) through a Chrome MV3 extension. The extension ships events through a native-messaging stdio bridge to a local MCP server (peek-mcp), which persists them to a SQLite database at ~/.peek/sessions.db. AI coding agents (Claude Code, Cursor, Cline, Windsurf) read sessions from the database via 10 MCP tools: Tool What it does list_recent_sessions List recently recorded sessions (id, origin, ts, event count). get_session_summary LLM-readable narrative summary of a session. get_session_console_errors Console errors recorded in a session. get_session_network_errors Failed/notable network requests in a session. get_user_action_before_error Last N user actions before a console error. generate_playwright_repro Generate a runnable Playwright test from a session. get_dom_snapshot Reconstruct the DOM at a given timestamp. query_dom_history Timeline of attribute/text changes for a selector. request_authorization Side-panel consent for write actions (Level 3). execute_action Dispatch a UI action (gated by permission level + destructive blocklist). Why local-first matters Every other "browser session for AI" tool ships to a vendor cloud. peek's SQLite + extension live on the user's machine — no remote endpoints, no telemetry. The privacy policy (docs/peek/PRIVACY_POLICY.md) is the source of truth. Install # 1. Add the MCP server to Claude Code claude mcp add peek -- npx -y @peekdev/mcp # 2. Install the Chrome extension from the Chrome Web Store # (link added once the CWS listing is approved)

a day ago