Skip to main content
Glama

Servidor MCP de Tailscale

Un servidor del Protocolo de Contexto de Modelo (MCP) basado en Bun para operar Tailscale a través de una interfaz privada y de privilegios mínimos.

El transporte predeterminado es stdio para clientes MCP locales. El transporte HTTP opcional se vincula a 127.0.0.1 por defecto y está diseñado para exponerse de forma privada con Tailscale Serve u otro proxy exclusivo de tailnet.

Instalación

bun install
bun run build

Related MCP server: ConnectWise API Gateway MCP Server

Uso local de MCP

{
  "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": "-"
      }
    }
  }
}

Los clientes OAuth son preferibles para la automatización porque utilizan acceso con alcance limitado y tokens de corta duración. Las claves de API siguen siendo compatibles por motivos de compatibilidad:

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

Modo HTTP

El modo HTTP requiere un token de portador (bearer token) y solo acepta encabezados de host de localhost o tailnet por defecto.

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

Exponlo de forma privada a través de Tailscale Serve:

tailscale serve --bg 443 localhost:3000

No utilices Funnel para la operación normal de MCP. Funnel hace que el servicio sea accesible públicamente y debería requerir una revisión de amenazas por separado.

Configuración

Variable

Predeterminado

Descripción

MCP_TRANSPORT

stdio

stdio o http

MCP_HTTP_BIND_HOST

127.0.0.1

Host de enlace HTTP

MCP_HTTP_PORT

3000

Puerto de enlace HTTP

MCP_HTTP_BEARER_TOKEN

Requerido en modo HTTP

MCP_ALLOWED_HOSTS

Hosts HTTP adicionales permitidos separados por comas

TAILSCALE_TAILNET

-

Nombre de la tailnet o abreviatura -

TAILSCALE_API_BASE_URL

https://api.tailscale.com

URL base de la API de Tailscale

TAILSCALE_OAUTH_CLIENT_ID

Método de autenticación preferido

TAILSCALE_OAUTH_CLIENT_SECRET

Método de autenticación preferido

TAILSCALE_API_KEY

Método de autenticación de compatibilidad

TAILSCALE_ALLOWED_TOOL_RISK

read

read, write o admin

TAILSCALE_CLI_PATH

tailscale

Ruta local de la CLI

LOG_LEVEL

info

debug, info, warn o error

MCP_SERVER_LOG_FILE

Ruta opcional del archivo de registro

Niveles de riesgo:

  • read: herramientas y recursos de solo lectura.

  • write: operaciones de escritura como actualizaciones de ACL/DNS/rutas.

  • admin: acciones destructivas o que afectan al host como eliminar, desautorizar, conectar, desconectar y mutación de claves de autenticación.

Herramientas

Nombres de herramientas estables:

  • 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

Recursos

  • tailscale://tailnet/summary

  • tailscale://devices

  • tailscale://devices/{deviceId}

  • tailscale://acl/current

Prompts

  • diagnose_tailnet_connectivity

  • review_acl_change

Desarrollo

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

Puerta local completa:

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

Mantén el puerto publicado vinculado a localhost y exponlo a otros dispositivos con Tailscale Serve.

Para una implementación sidecar que ejecute el servidor MCP detrás de un punto final privado de Tailscale Serve, consulta 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