Skip to main content

Claude Auto-Approve MCP

An MCP to restart Claude Desktop App with enabled debugger port and inject a JavaScript into it, which extends Claude with MCP auto-approve functionality. It uses the claude-autoapprove library under the hood.

How it works

The MCP server will restart the Claude Desktop App with enabled debugger port and inject a JavaScript into it, which extends Claude with MCP auto-approve functionality.

Dont't be afraid when after 1st start of the app it will be closed immediately. This is expected behavior.

Installation

Imstalling uv (if you don't have it yet)

After installing uv, make sure it's available in your PATH.

MacOS

Brew
brew install uv
MacPorts
sudo port install uv

Windows

winget install --id=astral-sh.uv  -e

Other installation options

You can find other installation options in the uv installation guide.

Add it to your claude_desktop_config.json

{
    "mcpServers": {
        "claude-autoapprove-mcp": {
            "command": "uvx",
            "args": [
                "claude-autoapprove-mcp"
            ],
            "autoapprove": [
                "autoapproved_tools",
                "autoblocked_tools"
            ]
        }
    }
}

Restart Claude Desktop if it is already running.

Arguments

Parameter Description
port Optional. The port number to listen on, default is 19222
persist Optional. Works only on macOS (atm). If specified, it installs a little wathcer script, which will restart Claude Desktop with enabled debugger port, if it is not running with debugger port. This allows early detection and automatic restart, so you don't need to wait for one restart (only the first time). It also installs a LaunchAgent, so it will be started at login. If you remove the --persist argument, the watcher script will be removed and the LaunchAgent will be uninstalled.
{
    "mcpServers": {
        "claude-autoapprove-mcp": {
            "command": "uvx",
            "args": [
                "claude-autoapprove-mcp",
                "--port", "19222",
                "--persist"
            ]
        }
    }
}

Configuration

You can add autoapprove and autoblock parameters to each MCP server, the claude-autoapprove-mcp will read that configuration and apply it to the running instance.

Parameter Description
autoapprove List of tool names that should be automatically approved
autoblock List of tool names that should be automatically blocked
{
    "mcpServers": {
        "claude-autoapprove-mcp": {
        "command": "uvx",
            "args": [
                "claude-autoapprove-mcp"
            ],
        "autoapprove": [
            "autoapproved_tools"
        ],
        "autoblock": [
        ]
    },
    "project-mem-mcp": {
        "command": "uvx",
        "args": [
            "project-mem-mcp",
            "--allowed-dir", "/Users/wallner/Developer/MCP",
            "--allowed-dir", "/Users/wallner/Developer/Projects/ByCompany/BacktestGuy"
        ],
        "autoapprove": [
            "get_project_memory",
            "set_project_memory",
            "update_project_memory"
        ],
        "autoblock": [
        ]
    },
    "browsermcp": {
      "command": "npx",
      "args": [
        "@browsermcp/mcp@latest"
      ],
      "autoapprove": [
        "browser_get_console_logs",
        "browser_snapshot"
      ],
      "autoblock": [
        "browser_screenshot"
      ]
    }
}

Usage

Just run Claude Desktop. It is not invasive, it doesn't change anything in the app (only if you use the --persist argument), just injects a JavaScript into the running instance. So you can install updates as usual (even when using the --persist argument). It uses a feature of most Electron based apps: remote debugging port.

If you want to list all tools that are auto-approved, you can use the following prompt in Claude Desktop:

list all tools that are auto-approved

If you want to list all tools that are auto-blocked, you can use the following prompt in Claude Desktop:

list all tools that are auto-blocked

Security

The remote debugging port allows any application on your localhost (your machine) to connect to the running Claude Desktop App. This may be a security risk, because any app or script can connect to it and execute arbitrary code inside Claude Desktop App context. This may be used for malicious purposes. It is a low risk, if you know what is running on your computer.

So be careful when using this feature and use it at your own risk.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

If you want to contribute to this project, please fork the repository and create a pull request.

Metadata

Release files for claude-autoapprove-mcp 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for claude-autoapprove-mcp 0.2.4
File Size Uploaded
claude_autoapprove_mcp-0.2.4.tar.gz 10.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for claude-autoapprove-mcp 0.2.4
File Interpreter ABI Platform
claude_autoapprove_mcp-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 19.8 kB

Release files / claude_autoapprove_mcp-0.2.4.tar.gz

Download URL claude_autoapprove_mcp-0.2.4.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a2e93ec1c8124bfffb25710bd501c456b1744b6122dcdd773cdb8f55a3289c1e
BLAKE2b-256 checksum
How to use checksums
ea3ce9da386e4dd3f75591694048944b0236dee3126efe89e8fcd2ce42645bb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / claude_autoapprove_mcp-0.2.4-py3-none-any.whl

Download URL claude_autoapprove_mcp-0.2.4-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a30bcb3a78c05c3d2ba5ea1341eb832e178c96e17372527bb365ee17a0301468
BLAKE2b-256 checksum
How to use checksums
5b0c1fe3952bca8a7401ca86313c22a5292f69aa7cbe963040f07365b707e127
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page