Route6 thin client — tunnel localhost ports to *.on.route6.me + local MCP proxy. Python parity of @route6/agent (npm).
Project description
route6
Python thin client for Route6.me — Python parity of @route6/agent.
Two surfaces:
- CLI —
route6 tunnel start --hostname X --to PORTexposes a localhost port athttps://X.on.route6.me, plus a local MCP proxy athttp://127.0.0.1:3000/mcpfor Cursor / Claude Code / Cline / any MCP-aware editor. - Library —
from route6 import Route6calls every MCP tool with typed Python ergonomics.
Install
pip install route6
Requires Python ≥ 3.10. Linux x64, macOS arm64 / x64 — tested matrix.
Quick start (CLI)
route6 login sk_a6_<your-api-key>
python3 -m http.server 3000 &
route6 tunnel start --hostname my-app --to 3000
In another terminal:
curl https://my-app.on.route6.me/
# → your local server's directory listing, served over the public internet.
The MCP proxy is also live at http://127.0.0.1:3000/mcp — point your editor at it.
Quick start (library)
from route6 import Route6
with Route6(api_key="sk_a6_...") as r6:
ident = r6.tools.identity_get()
print(ident["active_ipv6"], ident["prefix"])
page = r6.tools.web_fetch(url="https://example.com")
print(page["body"][:200])
Calls hit the public MCP at https://gw.route6.me/mcp over HTTP/2. The result is unwrapped — tools.web_fetch(...) returns the parsed dict the gateway produced, not the raw JSON-RPC envelope.
Available tools mirror the Node SDK and the container: identity_get, identity_set_ipv6, web_fetch, net_ping, hostname_register, team_chat, team_task, etc. — full list at https://docs.route6.me.
Commands
| Command | Purpose |
|---|---|
route6 login <api_key> |
Save the API key to ~/.route6/config.json (mode 0600), verify against the gateway. |
route6 logout |
Clear the stored key. |
route6 status |
Print config + GET /whoami from the gateway. |
route6 tunnel start --hostname X --to PORT |
Open inbound tunnel + start local MCP proxy. Pair --hostname and --to repeat-by-repeat for multi-host. |
route6 tunnel start ... --no-mcp |
Tunnel only, skip the MCP proxy. |
route6 mcp serve --port 3000 |
MCP-only mode (no inbound tunnel) — useful for hosted agents. |
Tier comparison
| Lite (this client) | Pro (Docker container) | |
|---|---|---|
| Install | pip install route6 |
docker compose up |
| Outbound source IP | Your /64 (preserved via VM1 proxy-fetch) |
Your /64 directly |
| Inbound to public hostname | via gw.route6.me reverse tunnel |
direct to your container |
| Mesh between agents | Not in v1 | Native WireGuard |
| MCP tools | All 27 | All 27 |
License
Proprietary — M3T Projekt d.o.o.
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 route6-0.1.0.tar.gz.
File metadata
- Download URL: route6-0.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64d320d09bc92019dbdc1dff94f503f9221be301a803d5af7fa26f8b807aeb5b
|
|
| MD5 |
469db64a4ed8e25c766a5797ef4450fc
|
|
| BLAKE2b-256 |
2ab62bc88ca68e55b0c122527e1a4bd667eb5ff375e6d2993cd040135b33edc3
|
File details
Details for the file route6-0.1.0-py3-none-any.whl.
File metadata
- Download URL: route6-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3797509af011419dbcccbc5c3a895b7ea461ece668da2ffe3ec876eb75327d67
|
|
| MD5 |
62cfaa70a38f361a66f25656e1ea2575
|
|
| BLAKE2b-256 |
004f689a956ace1617bf142eb01c578d25b9f7860836593c45b4c99eb027e690
|