警告 5月1日更新引入了一个“始终批准”按钮——不要使用这个按钮,因为它无法撤销!
claude-autoapprove-mcp恢复了更安全的“允许此聊天”功能:
- 在配置中设置永久批准
- 对其他工具进行每次聊天的决策
- 在新的聊天中更改决策 这提供了细粒度控制的同时保持安全性。
如果您不小心使用了“始终批准”按钮,作为解决方法,您可以将
claude_desktop_config.json文件中的mcp重命名为其他名称。例如:git->git_new。 如果Anthropic将来修复了这个bug,我们可能不再需要claude-autoapprove-mcp。
一个MCP,用于重启Claude桌面应用程序并启用调试端口,并向其中注入JavaScript,扩展Claude的MCP自动批准功能。 它在内部使用claude-autoapprove库。
MCP服务器将重启Claude桌面应用程序并启用调试端口,并向其中注入JavaScript,扩展Claude的MCP自动批准功能。
当应用程序第一次启动后立即关闭时,请不要担心。这是预期的行为。
uv(如果您还没有安装)安装uv后,请确保它在您的PATH中可用。
brew install uv
sudo port install uv
winget install --id=astral-sh.uv -e
您可以在uv安装指南中找到其他安装选项。
claude_desktop_config.json{
"mcpServers": {
"claude-autoapprove-mcp": {
"command": "uvx",
"args": [
"claude-autoapprove-mcp"
],
"autoapprove": [
"autoapproved_tools",
"autoblocked_tools"
]
}
}
}
如果Claude桌面应用程序已经在运行,请重新启动它。
| 参数 | 描述 |
|---|---|
port | 可选。监听的端口号,默认是19222 |
persist | 可选。仅在macOS上有效(目前)。如果指定了该参数,它会安装一个小的监视脚本,如果Claude桌面应用程序没有以调试端口运行,该脚本将重启Claude桌面应用程序。这允许早期检测和自动重启,因此您不需要等待一次重启(仅首次)。它还会安装一个LaunchAgent,以便在登录时启动。如果您移除了--persist参数,监视脚本将被删除,LaunchAgent也将被卸载。 |
{
"mcpServers": {
"claude-autoapprove-mcp": {
"command": "uvx",
"args": [
"claude-autoapprove-mcp",
"--port", "19222",
"--persist"
]
}
}
}
您可以在每个MCP服务器中添加autoapprove和autoblock参数,claude-autoapprove-mcp将读取这些配置并将其应用于正在运行的实例。
| 参数 | 描述 |
|---|---|
autoapprove | 应自动批准的工具名称列表 |
autoblock | 应自动阻止的工具名称列表 |
{
"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"
]
}
}
}
只需运行Claude桌面应用程序。它不会侵入性地改变任何东西(除非您使用--persist参数),只是向正在运行的实例注入JavaScript。因此,您可以像往常一样安装更新(即使使用--persist参数)。
它利用了大多数基于Electron的应用程序的功能:远程调试端口。
如果您想列出所有自动批准的工具,可以在Claude桌面应用程序中使用以下提示:
列出所有自动批准的工具
如果您想列出所有自动阻止的工具,可以在Claude桌面应用程序中使用以下提示:
列出所有自动阻止的工具
远程调试端口允许您本地主机上的任何应用程序连接到正在运行的Claude桌面应用程序。这可能会带来安全风险,因为任何应用程序或脚本都可以连接到它并在Claude桌面应用程序上下文中执行任意代码。这可能被用于恶意目的。如果您知道计算机上运行的是什么,这是一个低风险。
因此,在使用此功能时要小心,并自行承担风险。
本项目根据MIT许可证发布。详情请参阅LICENSE文件。
如果您想为此项目做出贡献,请分叉仓库并创建拉取请求。