# tailscale MCP server

Read devices, users, keys, ACLs and DNS for a tailnet; manage devices, routes and auth keys.

## Links
- Registry page: https://www.getdrio.com/mcp/io-usefulapi-tailscale
- Repository: https://github.com/m190/usefulapi-mcp

## Install
- Endpoint: https://tailscale.usefulapi.io/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://tailscale.usefulapi.io/mcp

## Tools
- tailscale_list_devices (List devices) - List all devices in the tailnet (name, addresses, OS, last seen, tags, etc.). Tailscale REST: GET /tailnet/{tailnet}/devices. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_get_device (Get device) - Get a single device by id. Tailscale REST: GET /device/{deviceId}. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_list_device_routes (List device routes) - List the subnet routes a device advertises and which are enabled. Tailscale REST: GET /device/{deviceId}/routes. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_list_keys (List keys) - List auth keys and API access tokens for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/keys. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_get_key (Get key) - Get details of a single auth key / API access token by id (capabilities, expiry, usage). Tailscale REST: GET /tailnet/{tailnet}/keys/{keyId}. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_get_policy_file (Get policy file) - Get the tailnet's ACL / policy file (returned as JSON via the Accept header, not HuJSON). Tailscale REST: GET /tailnet/{tailnet}/acl. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_list_dns_nameservers (List DNS nameservers) - List the global DNS nameservers configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/dns/nameservers. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_get_dns_preferences (Get DNS preferences) - Get the tailnet's DNS preferences (e.g. whether MagicDNS is enabled). Tailscale REST: GET /tailnet/{tailnet}/dns/preferences. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_list_dns_searchpaths (List DNS search paths) - List the DNS search paths (search domains) configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/dns/searchpaths. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_get_split_dns (Get split DNS) - Get the tailnet's split-DNS configuration — a map of domain → nameservers. Tailscale REST: GET /tailnet/{tailnet}/dns/split-dns. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_list_users (List users) - List users of the tailnet, optionally filtered by type, role or status. Tailscale REST: GET /tailnet/{tailnet}/users. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_get_user (Get user) - Get a single user by id. Tailscale REST: GET /users/{userId}. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_list_webhooks (List webhooks) - List the webhook endpoints configured for the tailnet. Tailscale REST: GET /tailnet/{tailnet}/webhooks. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_get_tailnet_settings (Get tailnet settings) - Get the tailnet's settings (device approval, key expiry, posture, etc.). Tailscale REST: GET /tailnet/{tailnet}/settings. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_authorize_device (Authorize device) - Authorize or de-authorize a device (only relevant when device approval is enabled for the tailnet). Tailscale REST: POST /device/{deviceId}/authorized. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_set_device_name (Set device name) - Set (rename) a device's name. Tailscale REST: POST /device/{deviceId}/name. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_set_device_tags (Set device tags) - Set a device's ACL tags. REPLACES the device's existing tags. Tailscale REST: POST /device/{deviceId}/tags. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_expire_device_key (Expire device key) - Expire 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. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_set_device_routes (Set device routes) - Set the subnet routes ENABLED for a device (from the routes it advertises). REPLACES the enabled set. Tailscale REST: POST /device/{deviceId}/routes. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_create_auth_key (Create auth key) - Create a new auth key for the tailnet (used to register new devices). Tailscale REST: POST /tailnet/{tailnet}/keys. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_delete_key (Delete key) - Delete (revoke) an auth key or API access token by id — a security response. Tailscale REST: DELETE /tailnet/{tailnet}/keys/{keyId}. Endpoint: https://tailscale.usefulapi.io/mcp
- tailscale_delete_device (Delete device) - Delete a device, removing it from the tailnet. Tailscale REST: DELETE /device/{deviceId}. Endpoint: https://tailscale.usefulapi.io/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.usefulapi
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Aug 1, 2026
- Source: https://registry.modelcontextprotocol.io
