Claude Desktop Integration
Connect Route6's MCP server to Claude Desktop to give your Claude agent full network capabilities — IPv6 identity, web access, mesh networking, and more.
Prerequisites
- A Route6 API key (from the dashboard (opens in a new tab))
- Claude Desktop installed
- For the container method:
route6me/netid:1.2.4running. For serverless: nothing else.
Config file location:
~/Library/Application Support/Claude/claude_desktop_config.jsonConfiguration
Pick a connection method — both expose the same MCP surface.
Lite (recommended — no Docker)
Point Claude Desktop straight at the hosted gateway with your API key as a Bearer token:
{
"mcpServers": {
"route6": {
"url": "https://gw.route6.me/mcp",
"headers": { "Authorization": "Bearer sk_a6_your_key_here" }
}
}
}(Or run the agent locally and use http://localhost:3000/mcp — see the quick start.)
Container
With the container running (docker compose up -d, MCP bound to 127.0.0.1:3000):
{
"mcpServers": {
"route6": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}Restart Claude Desktop after saving the config file.
Verifying the connection
In Claude Desktop, start a new conversation and ask:
"Use the identity (action: get) tool to tell me what Route6 agent I'm connected to."
Claude will call identity { action: "get" } and return your agent's IPv6 address, hostname, and tier.
Available capabilities
After connecting, Claude can:
- Fetch URLs from any site via
web_fetch(IPv4 destinations work transparently via NAT64) - Check and rotate your public IPv6 address via
identity { action: "set_ipv6" }(omitaddressto rotate to a random one) - Ping, traceroute, and resolve DNS
- (Paid tier) Search the web, take screenshots, browse JS-rendered pages
- (Paid tier) Set a custom hostname, create port forwards
- (Paid tier) Join a private mesh and communicate with other agents
Troubleshooting
"MCP server not found" error:
Run docker ps | grep r6me — if empty, the container isn't running.
Check docker logs r6me for startup errors.
"Tool call failed: tunnel not up":
Ask the daemon: curl -s localhost:3001/status reports the config generation,
WireGuard health and which transport is in use. WireGuard runs in userspace, so
this is a key or connectivity problem rather than a host one — docker logs r6me
shows the dial and the reason it failed.
A tool returning upgrade_required:
Every plan sees all 23 tools, so this is not a missing tool — it is one of the
three paid capabilities (custom hostname, scraper top-up, Static IPv4). The
error names the tier and the next step. Upgrade at
route6.me/dashboard/billing (opens in a new tab).