Tailscale
Rank #2,605io.github.tailscale-mcp/tailscale-mcp
Drive a Tailscale node and its tailnet through the CLI and the control-plane API
Tailscale is a Model Context Protocol (MCP) server published by tailscale-mcp. It ranks #2,605 of 132,046 servers tracked on MCP Toplist, and its repository has 9 GitHub stars. Tailscale is listed on Official MCP, with 10 tracked versions. It was first listed on Sep 5, 2026 and most recently updated on Sep 7, 2026.
Ranks ahead of 129,441 of 132,046 servers on MCP Toplist.
Use Tailscale
No credentials or required configuration declared — add it to your MCP client and go.
claude mcp add tailscale-mcp -e "TAILSCALE_API_KEY=<your TAILSCALE_API_KEY>" -e "TAILSCALE_OAUTH_CLIENT_ID=<your TAILSCALE_OAUTH_CLIENT_ID>" -e "TAILSCALE_OAUTH_CLIENT_SECRET=<your TAILSCALE_OAUTH_CLIENT_SECRET>" -e "TAILSCALE_TAILNET=<your TAILSCALE_TAILNET>" -e "TAILSCALE_MCP_PRESET=<your TAILSCALE_MCP_PRESET>" -e "TAILSCALE_MCP_ALLOW_WRITE=<your TAILSCALE_MCP_ALLOW_WRITE>" -e "TAILSCALE_MCP_ALLOW_DESTRUCTIVE=<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>" -- npx -y @tailscale-mcp/tailscale-mcpReplace each placeholder with your own value before saving.
claude mcp add tailscale-mcp -e "TAILSCALE_API_KEY=<your TAILSCALE_API_KEY>" -e "TAILSCALE_OAUTH_CLIENT_ID=<your TAILSCALE_OAUTH_CLIENT_ID>" -e "TAILSCALE_OAUTH_CLIENT_SECRET=<your TAILSCALE_OAUTH_CLIENT_SECRET>" -e "TAILSCALE_TAILNET=<your TAILSCALE_TAILNET>" -e "TAILSCALE_MCP_PRESET=<your TAILSCALE_MCP_PRESET>" -e "TAILSCALE_MCP_ALLOW_WRITE=<your TAILSCALE_MCP_ALLOW_WRITE>" -e "TAILSCALE_MCP_ALLOW_DESTRUCTIVE=<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>" -- docker run -i --rm ghcr.io/tailscale-mcp/tailscale-mcp:1.3.1Replace each placeholder with your own value before saving.
[mcp_servers.tailscale-mcp]
command = "npx"
args = ["-y", "@tailscale-mcp/tailscale-mcp"]
[mcp_servers.tailscale-mcp.env]
TAILSCALE_API_KEY = "<your TAILSCALE_API_KEY>"
TAILSCALE_OAUTH_CLIENT_ID = "<your TAILSCALE_OAUTH_CLIENT_ID>"
TAILSCALE_OAUTH_CLIENT_SECRET = "<your TAILSCALE_OAUTH_CLIENT_SECRET>"
TAILSCALE_TAILNET = "<your TAILSCALE_TAILNET>"
TAILSCALE_MCP_PRESET = "<your TAILSCALE_MCP_PRESET>"
TAILSCALE_MCP_ALLOW_WRITE = "<your TAILSCALE_MCP_ALLOW_WRITE>"
TAILSCALE_MCP_ALLOW_DESTRUCTIVE = "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.tailscale-mcp]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/tailscale-mcp/tailscale-mcp:1.3.1"]
[mcp_servers.tailscale-mcp.env]
TAILSCALE_API_KEY = "<your TAILSCALE_API_KEY>"
TAILSCALE_OAUTH_CLIENT_ID = "<your TAILSCALE_OAUTH_CLIENT_ID>"
TAILSCALE_OAUTH_CLIENT_SECRET = "<your TAILSCALE_OAUTH_CLIENT_SECRET>"
TAILSCALE_TAILNET = "<your TAILSCALE_TAILNET>"
TAILSCALE_MCP_PRESET = "<your TAILSCALE_MCP_PRESET>"
TAILSCALE_MCP_ALLOW_WRITE = "<your TAILSCALE_MCP_ALLOW_WRITE>"
TAILSCALE_MCP_ALLOW_DESTRUCTIVE = "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "npx",
"args": [
"-y",
"@tailscale-mcp/tailscale-mcp"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tailscale-mcp/tailscale-mcp:1.3.1"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "npx",
"args": [
"-y",
"@tailscale-mcp/tailscale-mcp"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tailscale-mcp/tailscale-mcp:1.3.1"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"tailscale-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tailscale-mcp/tailscale-mcp"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"tailscale-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tailscale-mcp/tailscale-mcp:1.3.1"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "npx",
"args": [
"-y",
"@tailscale-mcp/tailscale-mcp"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tailscale-mcp/tailscale-mcp:1.3.1"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "npx",
"args": [
"-y",
"@tailscale-mcp/tailscale-mcp"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tailscale-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tailscale-mcp/tailscale-mcp:1.3.1"
],
"env": {
"TAILSCALE_API_KEY": "<your TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<your TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<your TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<your TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<your TAILSCALE_MCP_PRESET>",
"TAILSCALE_MCP_ALLOW_WRITE": "<your TAILSCALE_MCP_ALLOW_WRITE>",
"TAILSCALE_MCP_ALLOW_DESTRUCTIVE": "<your TAILSCALE_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}Replace each placeholder with your own value before saving.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.tailscale-mcp%2Ftailscale-mcp)<a href="https://mcptoplist.com/server/io.github.tailscale-mcp%2Ftailscale-mcp"><img src="https://mcptoplist.com/badge/io.github.tailscale-mcp%2Ftailscale-mcp.svg" alt="MCP Toplist: Top 5% of 132,046" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Listed on 1 registry
tailscale-mcp
Available versions (10)
| Version | Published |
|---|---|
| 1.3.1 | Sep 7, 2026 |
| 1.3.0 | Sep 7, 2026 |
| 1.2.2 | Sep 7, 2026 |
| 1.2.1 | Sep 6, 2026 |
| 1.2.0 | Sep 6, 2026 |
| 1.1.0 | Sep 6, 2026 |
| 1.0.4 | Sep 5, 2026 |
| 1.0.3 | Sep 5, 2026 |
| 1.0.2 | Sep 5, 2026 |
| 1.0.1 | Sep 5, 2026 |
Frequently asked questions
- Who maintains Tailscale?
- Tailscale is maintained by tailscale-mcp, which publishes 1 MCP server (10 total versions) tracked on MCP Toplist.
- Is Tailscale listed on the Official MCP Registry?
- Yes — Tailscale is listed on the Official MCP Registry.
- How many versions does Tailscale have?
- MCP Toplist tracks 10 versions of Tailscale, most recently published on Sep 7, 2026.
- Where can I find the source code for Tailscale?
- The source code for Tailscale is hosted at github.com/tailscale-mcp/tailscale-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.