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 MCP server?

If you already use Tailscale MCP, the tailscale mcp mcp server is the piece that lets your assistant work with it directly. A Model Context Protocol (MCP) server that provides seamless integration with Tailscale's CLI commands and REST API, enabling automated network management and monitoring through a standardized interface.

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

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • Cursor — The Cursor tool exposed by this server
  • Devices — The Devices tool exposed by this server
  • Network — The Network tool exposed by this server
  • Administration — The Administration tool exposed by this server
  • Prompts — The Prompts tool exposed by this server

Credentials and setup notes

Configuration is passed through the environment: TAILSCALE_OAUTH_CLIENT_ID, TAILSCALE_OAUTH_CLIENT_SECRET, TAILSCALE_TAILNET, TAILSCALE_API_KEY, TAILSCALE_ALLOWED_TOOL_RISK, MCP_TRANSPORT, MCP_HTTP_BEARER_TOKEN, CLIENT_ID. 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.

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

Installation

Installation goes through your MCP client rather than a global install: point it at @hexsleeves/tailscale-mcp-server on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Where it fits

Among the monitoring and observability 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 MCP's toolset — Cursor, Devices, Network and 2 more — is a fair guide to whether it matches your workflow. It is maintained by HexSleeves; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
CursorThe Cursor tool exposed by this server.
DevicesThe Devices tool exposed by this server.
NetworkThe Network tool exposed by this server.
AdministrationThe Administration tool exposed by this server.
PromptsThe Prompts tool exposed by this server.

How to install the Tailscale MCP 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-client-secret",
        "TAILSCALE_TAILNET": "-"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

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_IDConfiguration value read at startup.Optional
TAILSCALE_OAUTH_CLIENT_SECRETCredential the server authenticates with.Yes
TAILSCALE_TAILNETConfiguration value read at startup.Optional
TAILSCALE_API_KEYCredential the server authenticates with.Yes
TAILSCALE_ALLOWED_TOOL_RISKConfiguration value read at startup.Optional
MCP_TRANSPORTConfiguration value read at startup.Optional
MCP_HTTP_BEARER_TOKENCredential the server authenticates with.Yes
CLIENT_IDConfiguration value read at startup.Optional

Example prompts to try

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

Frequently asked questions

It connects Tailscale MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 5 tools (Cursor, Devices, Network, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Tailscale MCP directly.