Skip to main content

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

  1. JSON-RPC 2.0 Paradigm: All business logic commands follow a strict payload-driven model, decoupling API evolution from CLI flag stability.
  2. Dynamic Sovereign Documentation: Built-in introspection engine extracts rich docstrings and recursive JSON type schemas directly from the source code.
  3. Strict Alphabetical Ordering: To ensure maintainability and predictable CLI UX, all API methods and CLI commands are sorted alphabetically.
  4. Zero Hardcoding: All versions, paths, and configurations are dynamically resolved or extracted from pyproject.toml and config.yaml.
  5. 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


Download files

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

Source Distribution

ts_proxy-1.1.0.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

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

ts_proxy-1.1.0-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file ts_proxy-1.1.0.tar.gz.

File metadata

  • Download URL: ts_proxy-1.1.0.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

Hashes for ts_proxy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f5d56e108d3697726107a84e93a22ba744ac9b4e9a058385adc689b78429e41f
MD5 15ae40b75cbdf550a56b725e11c47e40
BLAKE2b-256 cbf576692ccf726a7728a9d308b0d41831cc0399b0558cda6cf3cc453f7564dd

See more details on using hashes here.

File details

Details for the file ts_proxy-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: ts_proxy-1.1.0-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

Hashes for ts_proxy-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 edaf283cee8cc782214b71910cc80b9b51aa7992c3eb4977e378ae7906dd2b70
MD5 85d5bb424e00d38b3ae2d2fe20040627
BLAKE2b-256 6e26664543ad87819d075b5d0b89b6e49cad9a1c7896f24f92a2accfdf21c548

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