Skip to main content
ClaudeWave

MCP server that finds real dead code (vulture + deptry) and proposes a branch+PR for the one class safe to auto-remove -- unused imports, gated on a real full test-suite pass. A human always merges.

MCP ServersOfficial Registry0 stars0 forksPythonMITUpdated today
ClaudeWave Trust Score
95/100
Verified
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Last scanned: 8/20/2026
Install in Claude Code / Claude Desktop
Method: pip / Python · safe-fix-mcp
Claude Code CLI
claude mcp add safe-fix-mcp -- python -m safe-fix-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "safe-fix-mcp": {
      "command": "python",
      "args": ["-m", "safe_fix_mcp.server"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Install first: pip install safe-fix-mcp
Use cases

MCP Servers overview

# safe-fix-mcp

<!-- mcp-name: io.github.pamela-0/safe-fix-mcp -->

[![PyPI](https://img.shields.io/pypi/v/safe-fix-mcp)](https://pypi.org/project/safe-fix-mcp/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

A real MCP server that finds dead code in a Python repository and proposes a **branch + PR** for the one class of finding that's actually safe to auto-remove: unused imports on a single-name import line. Everything else it finds — unused functions, classes, unused dependencies — stays report-only. A human always merges. This tool never merges anything itself.

## Why this exists

Most "dead code" tools stop at reporting. The ones that go further usually delete with no safety net. This does neither: it drafts a real, minimal, reviewable PR, gated on the target repo's own full test suite actually passing after the removal — not a heuristic, a real `pytest` run. If the suite fails, nothing is committed or pushed; the repo is left exactly as it started.

## Tools

### `scan_dead_code(repo_path=".", min_confidence=60)`

Read-only. Runs [vulture](https://github.com/jendrikseipp/vulture) (dead code) and [deptry](https://github.com/fpgmaas/deptry) (dependency issues) and returns a human-readable list of findings. Never modifies anything.

### `propose_removal_pr(repo_path=".")`

- Refuses on a dirty working tree — never edits on top of uncommitted work.
- Filters to unused imports at ≥90% vulture confidence, on single-name import lines only (`from x import y, z` is skipped — removing the whole line would silently remove `z` too).
- Creates a real branch, removes the qualifying imports, runs the repo's real full test suite.
- Only on a real pass: commits, pushes, and tries to open a PR via `gh pr create`.
- If `gh` isn't installed/authenticated, the branch is still committed and pushed for real — only PR creation degrades, with the real error returned so you can open it manually.

## Install

```bash
pip install safe-fix-mcp
```

Add to your MCP client config (e.g. Claude Code):

```bash
claude mcp add safe-fix-mcp -- safe-fix-mcp
```

Or run directly for local testing:

```bash
python -m safe_fix_mcp.server
```

Installing from source instead of PyPI:

```bash
pip install -e .
```

## Requirements

- Python ≥ 3.10
- `git` on PATH
- `gh` (GitHub CLI) on PATH and authenticated, if you want `propose_removal_pr` to actually open the PR — without it, the branch still gets pushed for real, and the tool tells you to open the PR by hand.

## Development

```bash
pip install -e ".[dev]"
pytest
```

## Known limitation

`vulture` flags `scan_dead_code`/`propose_removal_pr` themselves as "unused" — a known false-positive class, not a real bug: they're dispatched by the `@mcp.tool()` decorator at runtime, not called directly anywhere in the source, so static call-graph analysis can't see the real caller (the MCP framework itself).

## Verifying it for real

`scripts/verify_real_client.py` launches the packaged server as a real subprocess and talks to it with the real `mcp.client.ClientSession` — the same path a real MCP client uses. Useful as a smoke test after any change:

```bash
python scripts/verify_real_client.py
```
ai-agentautomated-prclaudeclaude-codecode-qualitydead-codedeveloper-toolsmcpmcp-servermodel-context-protocolstatic-analysisvulture

What people ask about safe-fix-mcp

What is pamela-0/safe-fix-mcp?

+

pamela-0/safe-fix-mcp is mcp servers for the Claude AI ecosystem. MCP server that finds real dead code (vulture + deptry) and proposes a branch+PR for the one class safe to auto-remove -- unused imports, gated on a real full test-suite pass. A human always merges. It has 0 GitHub stars and its last recorded update is dated 2026-08-19.

How do I install safe-fix-mcp?

+

You can install safe-fix-mcp by cloning the repository (https://github.com/pamela-0/safe-fix-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is pamela-0/safe-fix-mcp safe to use?

+

Our security agent has analyzed pamela-0/safe-fix-mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains pamela-0/safe-fix-mcp?

+

pamela-0/safe-fix-mcp is maintained by pamela-0. The last recorded GitHub activity is dated 2026-08-19, with 0 open issues.

Are there alternatives to safe-fix-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy safe-fix-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: pamela-0/safe-fix-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/pamela-0-safe-fix-mcp)](https://claudewave.com/repo/pamela-0-safe-fix-mcp)
<a href="https://claudewave.com/repo/pamela-0-safe-fix-mcp"><img src="https://claudewave.com/api/badge/pamela-0-safe-fix-mcp" alt="Featured on ClaudeWave: pamela-0/safe-fix-mcp" width="320" height="64" /></a>

More MCP Servers

safe-fix-mcp alternatives