Tailscale MCP by usefulapi
io.usefulapi/tailscale · v1.11.1
Read devices, users, keys, ACLs and DNS for a tailnet; manage devices, routes and auth keys.
MCPremoteno credentials
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 22 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 22 tools · 14 read, 8 write (incl. delete/pay)
Test call tailscale_list_devices: needs a key: HTTP 401 (1,014 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://tailscale.usefulapi.io/mcpTools
22 tools listed at last check
tailscale_list_devicesList all devices in the tailnet (name, addresses, OS, last seen, tags, etc.). Tailscale REST: GET /tailnet/{tailnet}/devices.tailscale_get_deviceGet a single device by id. Tailscale REST: GET /device/{deviceId}.tailscale_list_device_routesList the subnet routes a device advertises and which are enabled. Tailscale REST: GET /device/{deviceId}/routes.tailscale_list_keysList auth keys and API access tokens for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/keys.tailscale_get_keyGet details of a single auth key / API access token by id (capabilities, expiry, usage). Tailscale REST: GET /tailnet/{tailnet}/keys/{keyId}.tailscale_get_policy_fileGet the tailnet's ACL / policy file (returned as JSON via the Accept header, not HuJSON). Tailscale REST: GET /tailnet/{tailnet}/acl.tailscale_list_dns_nameserversList the global DNS nameservers configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/dns/nameservers.tailscale_get_dns_preferencesGet the tailnet's DNS preferences (e.g. whether MagicDNS is enabled). Tailscale REST: GET /tailnet/{tailnet}/dns/preferences.tailscale_list_dns_searchpathsList the DNS search paths (search domains) configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/dns/searchpaths.tailscale_get_split_dnsGet the tailnet's split-DNS configuration — a map of domain → nameservers. Tailscale REST: GET /tailnet/{tailnet}/dns/split-dns.tailscale_list_usersList users of the tailnet, optionally filtered by type, role or status. Tailscale REST: GET /tailnet/{tailnet}/users.tailscale_get_userGet a single user by id. Tailscale REST: GET /users/{userId}.tailscale_list_webhooksList the webhook endpoints configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/webhooks.tailscale_get_tailnet_settingsGet the tailnet's settings (device approval, key expiry, posture, etc.). Tailscale REST: GET /tailnet/{tailnet}/settings.tailscale_authorize_deviceAuthorize or de-authorize a device (only relevant when device approval is enabled for the tailnet). Tailscale REST: POST /device/{deviceId}/authorized.tailscale_set_device_nameSet (rename) a device's name. Tailscale REST: POST /device/{deviceId}/name.tailscale_set_device_tagsSet a device's ACL tags. REPLACES the device's existing tags. Tailscale REST: POST /device/{deviceId}/tags.tailscale_expire_device_keyExpire a device's node key, forcing it to re-authenticate — a security response to a compromised or lost device. Tailscale REST: POST /device/{deviceId}/expire.tailscale_set_device_routesSet the subnet routes ENABLED for a device (from the routes it advertises). REPLACES the enabled set. Tailscale REST: POST /device/{deviceId}/routes.tailscale_create_auth_keyCreate a new auth key for the tailnet (used to register new devices). Tailscale REST: POST /tailnet/{tailnet}/keys.tailscale_delete_keyDelete (revoke) an auth key or API access token by id — a security response. Tailscale REST: DELETE /tailnet/{tailnet}/keys/{keyId}.tailscale_delete_deviceDelete a device, removing it from the tailnet. Tailscale REST: DELETE /device/{deviceId}.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/tailscale)