Tailscale MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with Tailscale's CLI commands and REST API, enabling automated network

Local serverstdio

What is the Tailscale MCP Server?

A Model Context Protocol (MCP) server that provides seamless integration with Tailscale's CLI commands and REST API, enabling automated network management and

What the server does

A Model Context Protocol (MCP) server for operating Tailscale from any MCP client. Supports local stdio for desktop clients and an authenticated HTTP transport for private tailnet deployments. Defaults to read-only access, localhost binding, and short-lived OAuth credentials where available.

  • Device management — — list, authorize, deauthorize, delete, expire keys, manage routes
  • Network operations — — connect/disconnect host, ping peers, get CLI status and version
  • Administration — — tailnet info, file sharing, exit nodes, webhooks, device tags, server version
  • ACL and policy — — read/validate/update ACL, DNS settings, auth keys, policy file, network lock
  • Read-only resources — — tailnet summary, device list, per-device detail, current ACL
  • Prompts — — guided connectivity diagnosis and ACL change review

Credentials and setup notes

One of: - Node.js 20+ — run via npx or install globally (no extra runtime needed). - Bun 1.3+ — used for development; also works as a production runtime. - Docker — use the pre-built image (no local runtime required). Plus one auth method: - OAuth client credentials: TAILSCALE_OAUTH_CLIENT_ID + TAILSCALE_OAUTH_CLIENT_SECRET (preferred). - Legacy API key: TAILSCALE_API_KEY. The

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
list_devicesList all devices in the configured tailnet
device_actionAuthorize or expire a device key (write); deauthorize or delete (admin)
manage_routesEnable or disable advertised routes for a device
get_network_statusGet current Tailscale network status via local CLI
connect_networkConnect this host to Tailscale with optional CLI flags
disconnect_networkDisconnect this host from Tailscale
ping_peerPing a Tailscale peer through the local CLI
get_versionGet local Tailscale CLI version information
get_tailnet_infoGet detailed information about the configured tailnet
manage_file_sharingRead (read) or update (write) tailnet file sharing settings
manage_exit_nodesList exit nodes (read); set, clear, advertise, or stop advertising (admin)
manage_webhooksList webhooks (read); create, delete, or test webhooks (write)
manage_device_tagsRead (read) or update (write) tags for a device
get_version_infoReturn server version identifier
manage_aclRead (read), validate, or update (write) the tailnet ACL policy
manage_dnsRead (read) or update (write) Tailscale DNS settings
manage_keysList auth keys (read); create or delete (admin)
manage_policy_fileRead (read) or update (write) the tailnet policy file
manage_network_lockNetwork lock status (read) and mutation operations (admin)

How to install the Tailscale MCP Server

{
  "mcpServers": {
    "tailscale": {
      "command": "npx",
      "args": [
        "-y",
        "@hexsleeves/tailscale-mcp-server"
      ],
      "env": {
        "TAILSCALE_OAUTH_CLIENT_ID": "your-client-id",
        "TAILSCALE_OAUTH_CLIENT_SECRET": "YOUR_TAILSCALE_OAUTH_CLIENT_SECRET",
        "TAILSCALE_TAILNET": "-"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

One of: - Node.js 20+ — run via npx or install globally (no extra runtime needed). - Bun 1.3+ — used for development; also works as a production runtime. - Docker — use the pre-built image (no local runtime required). Plus one auth method: - OAuth client credentials: TAILSCALE_OAUTH_CLIENT_ID + TAILSCALE_OAUTH_CLIENT_SECRET (preferred). - Legacy API key: TAILSCALE_API_KEY. The

VariableDescriptionRequired
TAILSCALE_OAUTH_CLIENT_IDDeclared in the maintainer’s client configuration.Check documentation
TAILSCALE_OAUTH_CLIENT_SECRETDeclared in the maintainer’s client configuration.Yes
TAILSCALE_TAILNETDeclared in the maintainer’s client configuration.Check documentation

Example prompts to try

  • “Use Tailscale MCP to Cursor.”
  • “Use Tailscale MCP to Devices.”
  • “Use Tailscale MCP to Network.”

Frequently asked questions

A Model Context Protocol (MCP) server that provides seamless integration with Tailscale's CLI commands and REST API, enabling automated network management and Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.