io.github.asadullokhn/teztun
Manage TezTun tunnels, subdomains, and service tokens from any MCP-compatible AI client.
Open source Open in the app JSON README (API)
About
Manage TezTun tunnels, subdomains, and service tokens from any MCP-compatible AI client.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- asadullokhn
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.0.1
- Last push
- 2026-04-18T20:36:21Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 03:02:26
- Updated
- 2026-08-29 03:02:26
- Origin id
io.github.asadullokhn/teztun
README
# @asadullokhn/teztun-mcp
Official [TezTun](https://teztun.uz) MCP server, as a single-install npm package for Claude Desktop / Claude Code / Cursor / Zed / Windsurf / any [Model Context Protocol](https://modelcontextprotocol.io) client.
Lets your AI editor manage your TezTun infrastructure through chat:
- *"What's my current webhook URL?"* → `list_tunnels`
- *"Reserve a subdomain called demo"* → `reserve_subdomain`
- *"Mint a service token for prod-docker, never expires"* → `create_service_token`
- *"Revoke the staging-ci token"* → `revoke_service_token`
## Install & configure
You don't install this manually — MCP clients run it via `npx`. Pick your client:
### Claude Desktop
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"teztun": {
"command": "npx",
"args": ["-y", "@asadullokhn/teztun-mcp"],
"env": { "TEZTUN_TOKEN": "tzt_your-token-here" }
}
}
}
```
### Claude Code
```bash
claude mcp add --scope user teztun \
-e TEZTUN_TOKEN=tzt_your-token-here \
-- npx -y @asadullokhn/teztun-mcp
```
### Cursor / Zed / Windsurf
Each editor has an MCP config file (`~/.cursor/mcp.json`, etc.). The block shape is the same as the Claude Desktop example above.
## Get a service token
Sign up at [app.teztun.uz](https://app.teztun.uz), then [mint a service token](https://app.teztun.uz/tokens). On the Max plan ($10/year) tokens never expire — recommended for AI editor use.
## How the package works
This package is a thin launcher. It tries, in order:
1. If the TezTun CLI (`teztun`) is installed, it runs `teztun mcp`.
2. If Docker is available, it runs `docker run --rm -i -e TEZTUN_TOKEN asadullokhn/teztun:latest mcp`.
3. Otherwise it errors with install instructions.
No bundled binaries, no postinstall side effects. The MCP server itself is the Go binary from [teztun.uz/download](https://teztun.uz/download), or the `asadullokhn/teztun` image on Docker Hub.
## Exposed tools
| Tool | What it does |
|---|---|
| `get_account` | Current user (plan, status) |
| `list_tunnels` | Active tunnels with their public URLs |
| `list_subdomains` | Reserved subdomains |
| `reserve_subdomain(name)` | Reserve a new subdomain (plan-gated) |
| `release_subdomain(id)` | Release a reserved subdomain (destructive) |
| `list_custom_domains` | Custom domains on the Max plan |
| `list_service_tokens` | Service tokens the user has minted |
| `create_service_token(name, expiry_seconds?, expire_never?)` | Mint a token |
| `revoke_service_token(id)` | Revoke a service token (destructive) |
## Links
- Product: https://teztun.uz
- Dashboard: https://app.teztun.uz
- Docs: https://teztun.uz/docs/mcp-server
- API reference: https://teztun.uz/docs/api
- Docker image: [asadullokhn/teztun](https://hub.docker.com/r/asadullokhn/teztun)
- Support: support@teztun.uz
## License
MIT. Launcher only — the MCP server binary it spawns is the official TezTun client.