Skip to main content
Glama

Tailscale MCP 服务器

一个以 Bun 为优先的模型上下文协议(MCP)服务器,用于通过私有的、最小权限接口操作 Tailscale。

默认传输方式为本地 MCP 客户端使用的 stdio。可选的 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

stdiohttp

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

Tailscale API 基础 URL

TAILSCALE_OAUTH_CLIENT_ID

首选认证方式

TAILSCALE_OAUTH_CLIENT_SECRET

首选认证方式

TAILSCALE_API_KEY

兼容认证方式

TAILSCALE_ALLOWED_TOOL_RISK

read

readwriteadmin

TAILSCALE_CLI_PATH

tailscale

本地 CLI 路径

LOG_LEVEL

info

debuginfowarnerror

MCP_SERVER_LOG_FILE

可选的日志文件路径

风险级别:

  • read:只读工具和资源。

  • write:写操作,例如 ACL/DNS/路由更新。

  • admin:破坏性或影响主机的操作,例如删除、取消授权、连接、断开连接和 auth key 变更。

工具

稳定的工具名称:

  • 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 将其暴露给其他设备。

对于在私有 Tailscale Serve 端点后运行 MCP 服务器的 sidecar 部署,请参阅 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