Tailscale MCP Server
Tailscale MCP 服务器
一个以 Bun 为优先的模型上下文协议(MCP)服务器,用于通过私有的、最小权限接口操作 Tailscale。
默认传输方式为本地 MCP 客户端使用的 stdio。可选的 HTTP 传输默认绑定到 127.0.0.1,旨在通过 Tailscale Serve 或其他仅限 tailnet 的代理进行私有暴露。
安装
bun install
bun run buildRelated 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.tsHTTP 模式
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 会使服务公开可达,并应进行单独的威胁评估。
配置
变量 | 默认值 | 描述 |
|
|
|
|
| HTTP 绑定主机 |
|
| HTTP 绑定端口 |
| HTTP 模式下必需 | |
| 以逗号分隔的额外允许的 HTTP 主机 | |
|
| Tailnet 名称或 |
|
| Tailscale API 基础 URL |
| 首选认证方式 | |
| 首选认证方式 | |
| 兼容认证方式 | |
|
|
|
|
| 本地 CLI 路径 |
|
|
|
| 可选的日志文件路径 |
风险级别:
read:只读工具和资源。write:写操作,例如 ACL/DNS/路由更新。admin:破坏性或影响主机的操作,例如删除、取消授权、连接、断开连接和 auth key 变更。
工具
稳定的工具名称:
list_devicesdevice_actionmanage_routesget_network_statusconnect_networkdisconnect_networkping_peerget_versionget_tailnet_infomanage_aclmanage_dnsmanage_keysmanage_policy_filemanage_file_sharingmanage_exit_nodesmanage_webhooksmanage_device_tags
资源
tailscale://tailnet/summarytailscale://devicestailscale://devices/{deviceId}tailscale://acl/current
提示词
diagnose_tailnet_connectivityreview_acl_change
开发
bun install
bun test
bun run typecheck
bun run lint
bun run build完整的本地门控:
bun run qaDocker
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。
Maintenance
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