Skip to main content

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_config to refresh without touching the GUI
  • Debug routing issues → list_rules to 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_clash_verge-0.1.4.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_clash_verge-0.1.4-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

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

Hashes for mcp_server_clash_verge-0.1.4.tar.gz
Algorithm Hash digest
SHA256 db812040bc6ca2f862fd7aec50a19a65389c9701b665b59d3776e93f4dcef02f
MD5 67db7f8bf7c0799574a686384c3924af
BLAKE2b-256 52546c99063a8e01d116a0a83dfac92a9c05106752b380e63951aa81556a8e47

See more details on using hashes here.

File details

Details for the file mcp_server_clash_verge-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_clash_verge-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 46a5d82613e99e4cd5fd1aedb8a533099086c9ddb81df0f30e33b7215845a2fa
MD5 614bca2614ea820f950220c58e24e22d
BLAKE2b-256 57ae5fbb095d9b09ab12a795dccdddfb93440b63b7ff1756444d48bb62fb05ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page