tailnetport
Administers a Tailscale tailnet through the Tailscale API v2, supporting listing devices, inspecting a device and its routes, reading API keys, ACL policy, DNS settings and users, authorizing devices, and deleting devices with confirmation and an environment gate.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
tailnetport
tailnetport administers a Tailscale tailnet through a single action-router tool. One call names an action — list devices, inspect one device or its routes, read keys, the ACL policy, DNS settings or users, authorize a device, or delete one — and the router maps it to the Tailscale API v2. One binary serves a command-line interface and a stdio MCP server.
An API key is required. Set TAILSCALE_API_KEY in the environment;
without it, every network action fails before a request is made.
TAILSCALE_TAILNET selects the tailnet and defaults to - (the
tailnet the key belongs to).
Deletion is double-gated: the delete_device action only runs when
the call carries confirm: true and the environment sets
TAILSCALE_ALLOW_DESTRUCTIVE=true. Either gate missing refuses the
delete before any request.
Install
npx @reneturcios/tailnetport devicesOr run the container image:
docker run -i -e TAILSCALE_API_KEY=... ghcr.io/cloudcorprecords/tailnetportThe container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Related MCP server: mcp-tailscale
CLI
tailnetport devices
tailnetport device 12345
tailnetport device-routes 12345
tailnetport keys
tailnetport acl
tailnetport dns
tailnetport users
tailnetport help
tailnetport authorize-device 12345
tailnetport delete-device 12345 --confirm # also needs TAILSCALE_ALLOW_DESTRUCTIVE=true
tailnetport --versionCommands print the upstream JSON payload; help prints the local
action list and makes no request. Exit codes: 0 on success, 1
when a call fails (including an upstream API error or a refused
gate), 2 for usage errors.
MCP server
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
npx -y @reneturcios/tailnetport mcpMCP client configuration:
{
"mcpServers": {
"tailnetport": {
"command": "npx",
"args": ["-y", "@reneturcios/tailnetport", "mcp"],
"env": {
"TAILSCALE_API_KEY": "tskey-...",
"TAILSCALE_TAILNET": "-"
}
}
}
}Add TAILSCALE_ALLOW_DESTRUCTIVE: "true" to that env only if you
want the server to be able to delete devices (each delete still
needs confirm: true in the call).
Tool
One tool, tailscale, routes on its action argument:
Action | Extra input | What it does |
| — | List devices in the tailnet. |
|
| Get one device. |
|
| Get the routes advertised by one device. |
| — | List API keys for the tailnet. |
| — | Get the tailnet ACL policy. |
| — | Get DNS nameservers and preferences for the tailnet. |
| — | List users in the tailnet. |
| — | Return the local action documentation; no API request. |
|
| Authorize one device. |
|
| Delete one device. Also requires |
Development
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsxLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read devices, users, keys, ACLs and DNS for a tailnet; manage devices, routes and auth keys.
Tailscale device, route, DNS, key, user, and ACL management over MCP and CLI.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with the Tailscale API to manage devices, ACLs, keys, and DNS configurations directly from MCP clients like Claude Desktop or Raycast.-
- AlicenseAqualityCmaintenanceProduction-ready MCP server for Tailscale management with 48 tools across 9 domains: Devices, DNS/Split DNS, ACL policies, Auth Keys, Users, Webhooks, Posture Integrations, Tailnet Settings, and Diagnostics. Supports stdio and SSE transport with Bearer token authentication. Built with TypeScript strict mode, Zod validation, and zero shell execution. AGPL-3.0 + Commercial dual-licensed.4993 npm1AGPL 3.0
- AlicenseAqualityCmaintenanceEnables AI agents to securely interact with Tailscale tailnets for device inventory, ACL review, key hygiene, and more, with token-efficient output and write-gated mutations.19MIT
- AlicenseBqualityAmaintenanceManage your Tailscale tailnet - devices, ACLs, DNS, keys, and more - through natural language queries.98670 npm35MIT