Tailscale MCP server for managing your tailnet from AI assistants
Tailscale MCP server for managing your tailnet from AI assistants. That is what the tailscale mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
One click adds this to your local Yaw MCP config so it's available in every Yaw Terminal session. Or install manually below.
The server publishes 14 tools. What each one is for:
tailscale_status — Verify API connection, see tailnet info and device counttailscale_list_devices — List all devices with status, IPs, OS, and last seentailscale_get_device — Get detailed info for a specific devicetailscale_authorize_device — Authorize a pending devicetailscale_deauthorize_device — Deauthorize a devicetailscale_set_devices_authorized — Authorize/deauthorize many devices in one call (parallel, per-id error reporting)tailscale_delete_device — Remove a device from the tailnettailscale_rename_device — Rename a devicetailscale_expire_device — Expire a device's key, forcing re-authenticationtailscale_get_device_routes — Get advertised and enabled subnet routestailscale_set_device_routes — Enable or disable subnet routestailscale_get_device_posture_attributes — Get all posture attributes for a deviceBecause this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.
Configuration is passed through the environment: TAILSCALE_API_KEY, TAILSCALE_PROFILE, TAILSCALE_TOOLS, TAILSCALE_READONLY, TAILSCALE_OAUTH_CLIENT_ID, TAILSCALE_OAUTH_CLIENT_SECRET. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Tailscale's toolset — tailscale_status, tailscale_list_devices, tailscale_get_device and 11 more — is a fair guide to whether it matches your workflow. It is maintained by jeffyaw; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Tailscale's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| tailscale_status | Verify API connection, see tailnet info and device count |
| tailscale_list_devices | List all devices with status, IPs, OS, and last seen |
| tailscale_get_device | Get detailed info for a specific device |
| tailscale_authorize_device | Authorize a pending device |
| tailscale_deauthorize_device | Deauthorize a device |
| tailscale_set_devices_authorized | Authorize/deauthorize many devices in one call (parallel, per-id error reporting) |
| tailscale_delete_device | Remove a device from the tailnet |
| tailscale_rename_device | Rename a device |
| tailscale_expire_device | Expire a device's key, forcing re-authentication |
| tailscale_get_device_routes | Get advertised and enabled subnet routes |
| tailscale_set_device_routes | Enable or disable subnet routes |
| tailscale_get_device_posture_attributes | Get all posture attributes for a device |
| tailscale_set_device_posture_attribute | Set a custom posture attribute (with optional expiry) |
| tailscale_delete_device_posture_attribute | Delete a custom posture attribute |
Windows:
```json
{
"mcpServers": {
"tailscale": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@yawlabs/tailscale-mcp@latest"]
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| TAILSCALE_API_KEY | Credential the server authenticates with. | Yes |
| TAILSCALE_PROFILE | Configuration value read at startup. | Optional |
| TAILSCALE_TOOLS | Configuration value read at startup. | Optional |
| TAILSCALE_READONLY | Configuration value read at startup. | Optional |
| TAILSCALE_OAUTH_CLIENT_ID | Configuration value read at startup. | Optional |
| TAILSCALE_OAUTH_CLIENT_SECRET | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.