{"_id":"@asadullokhn/teztun-mcp","_rev":"2-711f18762b164e72896b7626b79cfb75","name":"@asadullokhn/teztun-mcp","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@asadullokhn/teztun-mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","teztun","tunnel","ngrok-alternative","claude","claude-code","claude-desktop","cursor","zed","ai-tools"],"author":{"name":"Asadullokh Nurullaev"},"license":"MIT","_id":"@asadullokhn/teztun-mcp@1.0.0","maintainers":[{"name":"asadullokhn","email":"asadullokhnurullaev@gmail.com"}],"homepage":"https://teztun.uz/docs/mcp-server","bin":{"teztun-mcp":"bin/teztun-mcp.js"},"dist":{"shasum":"cc41eff7ffc0a18532df1747aa2a333c6ca4bc8b","tarball":"https://registry.npmjs.org/@asadullokhn/teztun-mcp/-/teztun-mcp-1.0.0.tgz","fileCount":3,"integrity":"sha512-jGvuO3ZQvDYhrjyD23Dr4TzxpBBGUfbFAZrX9z+yMYFwWpmZC0wmD0T/IGIGjq6R8vNI0GI9EZjmXZfW4OieVg==","signatures":[{"sig":"MEUCIQDHBHsUZqRZ1Diry+njIkg86K5kHzhaekjpCYCtZeIAoAIgK5+BvkhKLA4Y5DyF70CX3rIpzfeJLclog8O2I78IIXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5914},"engines":{"node":">=18"},"gitHead":"760543a9696bb18d75ee35b09db49409f006c3dd","_npmUser":{"name":"asadullokhn","email":"asadullokhnurullaev@gmail.com"},"repository":{"url":"https://teztun.uz","type":"git"},"_npmVersion":"11.9.0","description":"Official TezTun MCP server — manage tunnels, subdomains, and service tokens from Claude Code, Claude Desktop, Cursor, Zed, or any MCP-compatible AI client.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/teztun-mcp_1.0.0_1776536023278_0.8120293159559682","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@asadullokhn/teztun-mcp","version":"1.0.1","mcpName":"io.github.asadullokhn/teztun","description":"Official TezTun MCP server — manage tunnels, subdomains, and service tokens from Claude Code, Claude Desktop, Cursor, Zed, or any MCP-compatible AI client.","keywords":["mcp","model-context-protocol","teztun","tunnel","ngrok-alternative","claude","claude-code","claude-desktop","cursor","zed","ai-tools"],"license":"MIT","author":{"name":"Asadullokh Nurullaev"},"homepage":"https://teztun.uz/docs/mcp-server","repository":{"type":"git","url":"https://teztun.uz"},"bin":{"teztun-mcp":"bin/teztun-mcp.js"},"engines":{"node":">=18"},"gitHead":"58e66f31b7a3121542d3c238fc719aff63c4546f","_id":"@asadullokhn/teztun-mcp@1.0.1","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-gILLePN/1pUVcLtUFSpLKnAW5N8NvkboQmyKLyzb8fy3iibjb+QM/qxsL9Ze+B9nBTXVBRVCmEPfSJ1U6c/8EA==","shasum":"8b7db8c70ec7673d18e44535d24013e41de7aecf","tarball":"https://registry.npmjs.org/@asadullokhn/teztun-mcp/-/teztun-mcp-1.0.1.tgz","fileCount":3,"unpackedSize":5959,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDy3pyIR8nJ1ho8rv70EOhL804hPKrOsSC88Gc1nKibogIgZ3Dyas+496aFW/KcQ7f18JKaMHsHujFzyb4aL6K949o="}]},"_npmUser":{"name":"asadullokhn","email":"asadullokhnurullaev@gmail.com"},"directories":{},"maintainers":[{"name":"asadullokhn","email":"asadullokhnurullaev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/teztun-mcp_1.0.1_1776537215600_0.34437868658812176"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T18:13:43.170Z","modified":"2026-04-18T18:33:36.140Z","1.0.0":"2026-04-18T18:13:43.416Z","1.0.1":"2026-04-18T18:33:35.722Z"},"author":{"name":"Asadullokh Nurullaev"},"license":"MIT","homepage":"https://teztun.uz/docs/mcp-server","keywords":["mcp","model-context-protocol","teztun","tunnel","ngrok-alternative","claude","claude-code","claude-desktop","cursor","zed","ai-tools"],"repository":{"type":"git","url":"https://teztun.uz"},"description":"Official TezTun MCP server — manage tunnels, subdomains, and service tokens from Claude Code, Claude Desktop, Cursor, Zed, or any MCP-compatible AI client.","maintainers":[{"name":"asadullokhn","email":"asadullokhnurullaev@gmail.com"}],"readme":"# @asadullokhn/teztun-mcp\n\nOfficial [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.\n\nLets your AI editor manage your TezTun infrastructure through chat:\n\n- *\"What's my current webhook URL?\"* → `list_tunnels`\n- *\"Reserve a subdomain called demo\"* → `reserve_subdomain`\n- *\"Mint a service token for prod-docker, never expires\"* → `create_service_token`\n- *\"Revoke the staging-ci token\"* → `revoke_service_token`\n\n## Install & configure\n\nYou don't install this manually — MCP clients run it via `npx`. Pick your client:\n\n### Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"teztun\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@asadullokhn/teztun-mcp\"],\n      \"env\": { \"TEZTUN_TOKEN\": \"tzt_your-token-here\" }\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add --scope user teztun \\\n  -e TEZTUN_TOKEN=tzt_your-token-here \\\n  -- npx -y @asadullokhn/teztun-mcp\n```\n\n### Cursor / Zed / Windsurf\n\nEach editor has an MCP config file (`~/.cursor/mcp.json`, etc.). The block shape is the same as the Claude Desktop example above.\n\n## Get a service token\n\nSign 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.\n\n## How the package works\n\nThis package is a thin launcher. It tries, in order:\n\n1. If the TezTun CLI (`teztun`) is installed, it runs `teztun mcp`.\n2. If Docker is available, it runs `docker run --rm -i -e TEZTUN_TOKEN asadullokhn/teztun:latest mcp`.\n3. Otherwise it errors with install instructions.\n\nNo 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.\n\n## Exposed tools\n\n| Tool | What it does |\n|---|---|\n| `get_account` | Current user (plan, status) |\n| `list_tunnels` | Active tunnels with their public URLs |\n| `list_subdomains` | Reserved subdomains |\n| `reserve_subdomain(name)` | Reserve a new subdomain (plan-gated) |\n| `release_subdomain(id)` | Release a reserved subdomain (destructive) |\n| `list_custom_domains` | Custom domains on the Max plan |\n| `list_service_tokens` | Service tokens the user has minted |\n| `create_service_token(name, expiry_seconds?, expire_never?)` | Mint a token |\n| `revoke_service_token(id)` | Revoke a service token (destructive) |\n\n## Links\n\n- Product: https://teztun.uz\n- Dashboard: https://app.teztun.uz\n- Docs: https://teztun.uz/docs/mcp-server\n- API reference: https://teztun.uz/docs/api\n- Docker image: [asadullokhn/teztun](https://hub.docker.com/r/asadullokhn/teztun)\n- Support: support@teztun.uz\n\n## License\n\nMIT. Launcher only — the MCP server binary it spawns is the official TezTun client.\n","readmeFilename":"README.md"}