Skip to main content
Glama

Tailscale MCP Server

Сервер Model Context Protocol (ориентированный на Bun) для управления Tailscale через частный интерфейс с минимальными привилегиями.

Транспорт по умолчанию — stdio для локальных MCP-клиентов. Опциональный HTTP-транспорт по умолчанию привязывается к 127.0.0.1 и предназначен для частного доступа через Tailscale Serve или другой прокси-сервер внутри tailnet.

Установка

bun install
bun run build

Related MCP server: ConnectWise API Gateway MCP Server

Локальное использование 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": "-"
      }
    }
  }
}

OAuth-клиенты предпочтительнее для автоматизации, так как они используют ограниченный доступ и краткосрочные токены. API-ключи по-прежнему поддерживаются для обеспечения совместимости:

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

HTTP-режим

HTTP-режим требует токен носителя (bearer token) и по умолчанию принимает только заголовки localhost или хоста tailnet.

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

Откройте доступ в частном порядке через Tailscale Serve:

tailscale serve --bg 443 localhost:3000

Не используйте Funnel для обычной работы MCP. Funnel делает сервис общедоступным, что требует отдельной проверки безопасности.

Конфигурация

Переменная

По умолчанию

Описание

MCP_TRANSPORT

stdio

stdio или http

MCP_HTTP_BIND_HOST

127.0.0.1

Хост для привязки HTTP

MCP_HTTP_PORT

3000

Порт для привязки HTTP

MCP_HTTP_BEARER_TOKEN

Обязательно в HTTP-режиме

MCP_ALLOWED_HOSTS

Дополнительные разрешенные HTTP-хосты через запятую

TAILSCALE_TAILNET

-

Имя tailnet или сокращение -

TAILSCALE_API_BASE_URL

https://api.tailscale.com

Базовый URL API Tailscale

TAILSCALE_OAUTH_CLIENT_ID

Предпочтительный метод аутентификации

TAILSCALE_OAUTH_CLIENT_SECRET

Предпочтительный метод аутентификации

TAILSCALE_API_KEY

Метод аутентификации для совместимости

TAILSCALE_ALLOWED_TOOL_RISK

read

read, write или admin

TAILSCALE_CLI_PATH

tailscale

Путь к локальному CLI

LOG_LEVEL

info

debug, info, warn или error

MCP_SERVER_LOG_FILE

Опциональный путь к файлу логов

Уровни риска:

  • read: инструменты и ресурсы только для чтения.

  • write: операции записи, такие как обновление ACL/DNS/маршрутов.

  • admin: деструктивные или влияющие на хост действия, такие как удаление, отзыв авторизации, подключение, отключение и изменение ключей аутентификации.

Инструменты

Стабильные имена инструментов:

  • 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

Ресурсы

  • tailscale://tailnet/summary

  • tailscale://devices

  • tailscale://devices/{deviceId}

  • tailscale://acl/current

Промпты

  • diagnose_tailnet_connectivity

  • review_acl_change

Разработка

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

Полный локальный шлюз:

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

Держите опубликованный порт привязанным к localhost и открывайте его для других устройств с помощью Tailscale Serve.

Для развертывания в виде sidecar-контейнера, который запускает MCP-сервер за частной конечной точкой Tailscale Serve, см. 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