MCP server for Clash Verge (Mihomo) — control proxy nodes, switch modes, and manage routes from Claude Code
Project description
mcp-server-clash-verge
MCP (Model Context Protocol) server for Clash Verge Rev / Mihomo (Clash Meta). Lets Claude Code and other MCP-compatible AI agents control your proxy — switch nodes, change modes, reload config, test latency — directly from conversation.
One-Click Install
Tell Claude Code this one sentence:
Help me install https://raw.githubusercontent.com/IS5416/mcp-server-clash-verge/main/SETUP.md
Claude will auto-detect your platform, install the package, configure ~/.claude.json, and verify everything. No manual steps. No environment variables. Restart Claude Code and you're done.
Why
When Claude Code hits network errors behind a proxy, you don't want to switch to the Clash Verge GUI, find a faster node, then tell Claude "try again." You want Claude to fix it itself.
This MCP server gives Claude 7 tools to manage your Mihomo proxy autonomously.
Requirements
- Clash Verge Rev (or any Mihomo-based client) with External Controller enabled
- Python ≥ 3.10
Manual Install
1. Install the package
pip install mcp-server-clash-verge
Or from source:
git clone https://github.com/IS5416/mcp-server-clash-verge.git
cd mcp-server-clash-verge
pip install -e .
2. Configure Claude Code
Edit ~/.claude.json and add to the mcpServers object:
"clash-verge": {
"command": "python",
"args": ["-m", "mcp_server_clash_verge"],
"env": {},
"type": "stdio"
}
If you have uv installed:
"clash-verge": {
"command": "uvx",
"args": ["mcp-server-clash-verge"],
"env": {},
"type": "stdio"
}
No env block needed. The MCP server auto-detects Clash Verge Rev's configuration file on Windows, macOS, and Linux.
Restart Claude Code.
3. Try It
"List all my proxy nodes."
"Switch to HK-01."
"I'm getting network errors, find a fast node and switch to it."
Tools
| Tool | Description |
|---|---|
list_proxies |
All proxy groups, nodes, current selection, and delay |
switch_proxy |
Switch a proxy group to a specific node |
get_proxy_mode |
Current mode: rule / global / direct |
set_proxy_mode |
Set mode: rule / global / direct |
test_proxy_delay |
Test latency of a specific node (milliseconds) |
reload_config |
Force reload Mihomo configuration from disk |
list_rules |
Show active routing rules |
Configuration
Zero config by default. The server auto-detects Clash Verge Rev on all platforms:
| Platform | Config path |
|---|---|
| Windows | %APPDATA%\io.github.clash-verge-rev.clash-verge-rev\config.yaml |
| macOS | ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/config.yaml |
| Linux | ~/.config/io.github.clash-verge-rev.clash-verge-rev/config.yaml |
Override (optional)
Set environment variables in ~/.claude.json if you use a non-standard Clash client:
"clash-verge": {
"command": "python",
"args": ["-m", "mcp_server_clash_verge"],
"env": {
"MIHOMO_API_URL": "http://127.0.0.1:9097",
"MIHOMO_API_SECRET": "your-secret"
},
"type": "stdio"
}
| Variable | Default | Description |
|---|---|---|
MIHOMO_API_URL |
auto-detected | Mihomo external controller address |
MIHOMO_API_SECRET |
auto-detected | API secret from Clash Verge settings |
Use Cases
- Claude Code hits proxy timeout during web scraping/search → automatically switch to a low-latency node and retry
- Need temporary global proxy →
set_proxy_mode global, switch back to rule mode when done - After subscription update →
reload_configto refresh without touching the GUI - Debug routing issues →
list_rulesto check current rules match expectations
Security
- The MCP server communicates with Claude Code exclusively via
stdio— it opens no network ports - Mihomo API secret is read from your Clash Verge config file, never hardcoded or logged
- All operations are local to your Mihomo instance — no data is sent externally
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_clash_verge-0.1.4.tar.gz.
File metadata
- Download URL: mcp_server_clash_verge-0.1.4.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db812040bc6ca2f862fd7aec50a19a65389c9701b665b59d3776e93f4dcef02f
|
|
| MD5 |
67db7f8bf7c0799574a686384c3924af
|
|
| BLAKE2b-256 |
52546c99063a8e01d116a0a83dfac92a9c05106752b380e63951aa81556a8e47
|
File details
Details for the file mcp_server_clash_verge-0.1.4-py3-none-any.whl.
File metadata
- Download URL: mcp_server_clash_verge-0.1.4-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46a5d82613e99e4cd5fd1aedb8a533099086c9ddb81df0f30e33b7215845a2fa
|
|
| MD5 |
614bca2614ea820f950220c58e24e22d
|
|
| BLAKE2b-256 |
57ae5fbb095d9b09ab12a795dccdddfb93440b63b7ff1756444d48bb62fb05ba
|