ts-proxy
╔╦╗┌─┐ ╔═╗╦═╗╔═╗═╗ ╦╦ ╦
║ └─┐ ╠═╝╠╦╝║ ║╔╩╦╝╚╦╝
╩ └─┘ ╩ ╩╚═╚═╝╩ ╚═ ╩
Sovereign Tailscale Proxy
Serverless Sovereign MCP Proxy for Tailscale Network Management (v1.2.2) 0% Hardcode · 100% Flexibility · Strict Alphabetical Order
Part of the KpihX-Labs architecture, ts-proxy is a secure CLI tool installed via uv tool install ts-proxy (PyPI) — the same single distribution path as every other *-proxy. It acts as an intelligent intermediary between your AI agents and the global Tailscale API.
Core Principles
- JSON-RPC 2.0 Paradigm: All business logic commands follow a strict payload-driven model, decoupling API evolution from CLI flag stability.
- Dynamic Sovereign Documentation: Built-in introspection engine extracts rich docstrings and recursive JSON type schemas directly from the source code.
- Strict Alphabetical Ordering: To ensure maintainability and predictable CLI UX, all API methods and CLI commands are sorted alphabetically.
- Zero Hardcoding: All versions, paths, and configurations are dynamically resolved or extracted from
pyproject.tomlandconfig.yaml. - Human-In-The-Loop (HITL) Validation: Critical operations require explicit web-based approval before execution.
Documentation Stack
- CONTRACT.md: The total rigorous usage contract (Prod Facet) and sovereign development guide (Dev Facet). Source of truth for technical specs.
- AGENTS.md: High-level instructions and mantras for AI agents assisting in this repository.
- CHANGELOG.md: Evolution history and versioned releases.
Quick Start Visual
AI Agent ──▶ ts-proxy ──▶ [uv tool install] ──▶ Tailscale API
│ │
│ └─▶ [HITL Approval Web UI]
└─▶ [Autosave: /tmp/ts-proxy/]
Usage
Discovery & Help
Explore the capabilities and expected JSON schemas directly from your terminal:
# List all available commands with summaries and schemas
ts-proxy do --help
# Get detailed documentation and examples for a specific command
ts-proxy do get-device --help
Business Operations (do namespace)
Commands accept a single JSON payload or a path to a JSON file.
# Simple read operation
ts-proxy do list-devices
# Targeted query with JSON payload
ts-proxy do get-device '{"device_id": "12345"}'
Administrative Control (admin namespace)
# Start a new session
ts-proxy admin login
# Check session status
ts-proxy admin status
Architecture
- Core: Python 3.12 (uv)
- Validation: Pydantic V2 (Strict Payload Firewall)
- Engine: Httpx (Async), Typer (CLI Interface)
- UI: Glassmorphism Web HITL (Approved by KpihX)
- Runtime: Local
uvtool (uv tool install ts-proxy)
Metadata
Release files for ts-proxy 1.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ts_proxy-1.2.2.tar.gz | 28.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ts_proxy-1.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.9 kB
Release files / ts_proxy-1.2.2.tar.gz
| Download URL | ts_proxy-1.2.2.tar.gz |
|---|---|
| Size | 28.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
754e611d4cd6530dbeb1d4f03592732f259536cff439efe3e863d62b10c555e8
|
|
BLAKE2b-256 checksum How to use checksums |
05ff3a041afe7c2fb778a90345f9341ed8acfaabd827a3f10b6d32bb91c27b7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ts_proxy-1.2.2-py3-none-any.whl
| Download URL | ts_proxy-1.2.2-py3-none-any.whl |
|---|---|
| Size | 35.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb4dbf143013f899ce049a3d2b95d3a2e73db3c65bf18c3cc334eee18534c004
|
|
BLAKE2b-256 checksum How to use checksums |
bfcd6782a34dd317ca11e3648cb8452c7b59eb8a4aecb473e8410e6206a36596
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|