Serverless Sovereign MCP Proxy for Tailscale Network Management
Project description
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, ephemeral CLI tool that runs inside the docker-host abstraction layer. It acts as an intelligent intermediary between your AI agents (running on Ubuntu/Mac) 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 ──▶ [Docker: Core] ──▶ 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: Ephemeral Docker Container (
ts-proxy:latest)
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 ts_proxy-1.1.1.tar.gz.
File metadata
- Download URL: ts_proxy-1.1.1.tar.gz
- Upload date:
- Size: 28.6 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7157887399ec78495b2f024544f50e46c3559d685a521cf93eb0ac4535a2a72f
|
|
| MD5 |
f9302443b24f8327012bef7d49d1dcc3
|
|
| BLAKE2b-256 |
4400ae98f49931b18444307c481602a7bbad090e2bafd3dd0089a1351777c3c2
|
File details
Details for the file ts_proxy-1.1.1-py3-none-any.whl.
File metadata
- Download URL: ts_proxy-1.1.1-py3-none-any.whl
- Upload date:
- Size: 35.9 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78bf3137db9e1eed4afeb3615e47272c26c2f8a4f7dc625ff1c761e17c904d87
|
|
| MD5 |
2909a940875f2fdbbf841ebd321fa584
|
|
| BLAKE2b-256 |
a15e19dfa24ffe7f416ecb76da6216ee3e54fd3696132e06dc932c751625bd37
|