Skip to main content
Glama

Tailscale MCP-Server

Ein Bun-basierter Model Context Protocol-Server für den Betrieb von Tailscale über eine private Schnittstelle mit minimalen Berechtigungen.

Der Standard-Transport ist stdio für lokale MCP-Clients. Der optionale HTTP-Transport bindet standardmäßig an 127.0.0.1 und ist dafür konzipiert, privat über Tailscale Serve oder einen anderen Tailnet-only-Proxy bereitgestellt zu werden.

Installation

bun install
bun run build

Related MCP server: ConnectWise API Gateway MCP Server

Lokale MCP-Nutzung

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

OAuth-Clients werden für die Automatisierung bevorzugt, da sie bereichsbezogene Zugriffe und kurzlebige Tokens verwenden. API-Schlüssel werden aus Kompatibilitätsgründen weiterhin unterstützt:

TAILSCALE_API_KEY=tskey-... bun run src/index.ts

HTTP-Modus

Der HTTP-Modus erfordert ein Bearer-Token und akzeptiert standardmäßig nur Localhost- oder Tailnet-Host-Header.

export MCP_TRANSPORT=http
export MCP_HTTP_BEARER_TOKEN="$(openssl rand -base64 32)"
export TAILSCALE_OAUTH_CLIENT_ID="your-client-id"
export TAILSCALE_OAUTH_CLIENT_SECRET="your-client-secret"

bun run src/index.ts --http --port 3000 --host 127.0.0.1

Stellen Sie ihn privat über Tailscale Serve bereit:

tailscale serve --bg 443 localhost:3000

Verwenden Sie Funnel nicht für den normalen MCP-Betrieb. Funnel macht den Dienst öffentlich erreichbar und sollte eine separate Sicherheitsüberprüfung erfordern.

Konfiguration

Variable

Standard

Beschreibung

MCP_TRANSPORT

stdio

stdio oder http

MCP_HTTP_BIND_HOST

127.0.0.1

HTTP-Bind-Host

MCP_HTTP_PORT

3000

HTTP-Bind-Port

MCP_HTTP_BEARER_TOKEN

Erforderlich im HTTP-Modus

MCP_ALLOWED_HOSTS

Kommagetrennte zusätzliche erlaubte HTTP-Hosts

TAILSCALE_TAILNET

-

Tailnet-Name oder - Kurzform

TAILSCALE_API_BASE_URL

https://api.tailscale.com

Tailscale API-Basis-URL

TAILSCALE_OAUTH_CLIENT_ID

Bevorzugte Authentifizierungsmethode

TAILSCALE_OAUTH_CLIENT_SECRET

Bevorzugte Authentifizierungsmethode

TAILSCALE_API_KEY

Kompatibilitäts-Authentifizierungsmethode

TAILSCALE_ALLOWED_TOOL_RISK

read

read, write oder admin

TAILSCALE_CLI_PATH

tailscale

Lokaler CLI-Pfad

LOG_LEVEL

info

debug, info, warn oder error

MCP_SERVER_LOG_FILE

Optionaler Pfad zur Log-Datei

Risikostufen:

  • read: Nur-Lese-Tools und Ressourcen.

  • write: Schreiboperationen wie ACL/DNS/Routen-Updates.

  • admin: Destruktive oder host-beeinflussende Aktionen wie Löschen, Deautorisieren, Verbinden, Trennen und Mutation von Auth-Schlüsseln.

Tools

Stabile Tool-Namen:

  • list_devices

  • device_action

  • manage_routes

  • get_network_status

  • connect_network

  • disconnect_network

  • ping_peer

  • get_version

  • get_tailnet_info

  • manage_acl

  • manage_dns

  • manage_keys

  • manage_policy_file

  • manage_file_sharing

  • manage_exit_nodes

  • manage_webhooks

  • manage_device_tags

Ressourcen

  • tailscale://tailnet/summary

  • tailscale://devices

  • tailscale://devices/{deviceId}

  • tailscale://acl/current

Prompts

  • diagnose_tailnet_connectivity

  • review_acl_change

Entwicklung

bun install
bun test
bun run typecheck
bun run lint
bun run build

Vollständiger lokaler Gate:

bun run qa

Docker

docker build -t tailscale-mcp-server .
docker run --rm \
  -e MCP_HTTP_BEARER_TOKEN="$MCP_HTTP_BEARER_TOKEN" \
  -e TAILSCALE_OAUTH_CLIENT_ID="$TAILSCALE_OAUTH_CLIENT_ID" \
  -e TAILSCALE_OAUTH_CLIENT_SECRET="$TAILSCALE_OAUTH_CLIENT_SECRET" \
  -p 127.0.0.1:3000:3000 \
  tailscale-mcp-server

Halten Sie den veröffentlichten Port an Localhost gebunden und stellen Sie ihn anderen Geräten über Tailscale Serve bereit.

Für eine Sidecar-Bereitstellung, die den MCP-Server hinter einem privaten Tailscale Serve-Endpunkt ausführt, siehe deploy/README.md.

Install Server
A
license - permissive license
B
quality
A
maintenance

Maintenance

Maintainers
25dResponse time
3moRelease cycle
5Releases (12mo)
Issues opened vs closed

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HexSleeves/tailscale-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server