Tailscale MCP Server 是一个现代化的 模型上下文协议(Model Context Protocol,MCP) 服务器,它与 Tailscale 的 CLI 命令和 REST API 实现了无缝集成,能够通过标准化接口实现自动化网络管理和监控。
@hexsleeves/tailscale-mcp-server
hexsleeves/tailscale-mcp-server
ghcr.io/hexsleeves/tailscale-mcp-server
本项目包含按领域组织的全面文档:
无需安装直接运行:
# 显式包语法(最可靠)
npx --package=@hexsleeves/tailscale-mcp-server tailscale-mcp-server
# 或者全局安装
npm install -g @hexsleeves/tailscale-mcp-server
tailscale-mcp-server
# GitHub 容器注册表(推荐)
docker run -d \
--name tailscale-mcp \
-e TAILSCALE_API_KEY=your_api_key \
-e TAILSCALE_TAILNET=your_tailnet \
ghcr.io/hexsleeves/tailscale-mcp-server:latest
# 或者使用 Docker Compose
docker-compose up -d
📖 有关详细的 Docker 使用、开发工作流和部署策略,请参阅 Docker 指南
添加到您的 Claude 桌面端配置文件(~/.claude/claude_desktop_config.json
):
{
"mcpServers": {
"tailscale": {
"command": "npx",
"args": [
"--package=@hexsleeves/tailscale-mcp-server",
"tailscale-mcp-server"
],
"env": {
"TAILSCALE_API_KEY": "your-api-key-here",
"TAILSCALE_TAILNET": "your-tailnet-name"
}
}
}
}
{
"mcpServers": {
"tailscale": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"TAILSCALE_API_KEY=your-api-key",
"-e",
"TAILSCALE_TAILNET=your-tailnet",
"ghcr.io/hexsleeves/tailscale-mcp-server:latest"
]
}
}
}
属性 | 详情 | 是否必需 | 默认值 |
---|---|---|---|
TAILSCALE_API_KEY |
Tailscale API 密钥 | 是* | - |
TAILSCALE_TAILNET |
Tailscale 网络名称 | 是* | - |
TAILSCALE_API_BASE_URL |
API 基础 URL | 否 | https://api.tailscale.com |
LOG_LEVEL |
日志级别(0 - 3) | 否 | 1 (INFO) |
MCP_SERVER_LOG_FILE |
服务器日志文件路径 | 否 | - |
* 基于 API 的操作需要。CLI 操作无需 API 凭证即可工作。
list_devices
- 列出 Tailscale 网络中的所有设备device_action
- 对特定设备执行操作(授权、取消授权、删除、过期密钥)manage_routes
- 启用或禁用设备的路由get_network_status
- 从 Tailscale CLI 获取当前网络状态connect_network
- 连接到 Tailscale 网络disconnect_network
- 断开与 Tailscale 网络的连接ping_peer
- 对对等设备执行 ping 操作get_version
- 获取 Tailscale 版本信息get_tailnet_info
- 获取详细的网络信息# 克隆并设置
git clone https://github.com/HexSleeves/tailscale-mcp-server.git
cd tailscale-mcp-server
npm install
# 设置环境
cp .env.example .env
# 使用您的 Tailscale 凭证编辑 .env
# 构建并运行
npm run build
npm start
# 开发工作流
npm run dev:direct # 使用 tsx 进行快速开发
npm run dev:watch # 更改时自动重建
npm run build:watch # 监视文件更改并构建
# 测试
npm test # 运行所有测试
npm run test:unit # 仅运行单元测试
npm run test:integration # 运行集成测试(需要 Tailscale CLI)
npm run test:watch # 监视模式
# 质量保证
npm run qa # 快速质量保证(类型检查 + 单元测试 + 代码检查)
npm run qa:full # 全面质量保证(所有测试 + 检查)
npm run typecheck # TypeScript 验证
# 工具
npm run inspector # 使用 MCP Inspector 进行测试
{
"mcpServers": {
"tailscale-dev": {
"command": "node",
"args": ["/path/to/your/tailscale-mcp-server/dist/index.js"],
"env": {
"TAILSCALE_API_KEY": "your-api-key-here",
"TAILSCALE_TAILNET": "your-tailnet-name",
"LOG_LEVEL": "0"
}
}
}
}
📖 有关全面的开发指南、测试策略和 CI/CD 信息:
- 测试文档 - 单元测试、集成测试和覆盖率
- Docker 开发 - 基于容器的开发工作流
- CI/CD 工作流 - GitHub Actions、自动化和发布
src/
├── server.ts # 主服务器实现
├── tools/ # 模块化工具定义
├── tailscale/ # Tailscale 集成
├── types.ts # 类型定义
├── logger.ts # 日志实用工具
└── index.ts # 入口点
在 src/tools/
中创建一个工具模块,并在 src/server.ts
中注册它。参考现有工具,了解如何使用 Zod 模式和 TypeScript 实现模块化架构。
# 启用调试日志
export LOG_LEVEL=0
export MCP_SERVER_LOG_FILE=debug-{timestamp}.log
# 查看日志
tail -f logs/debug-*.log
git checkout -b feature/amazing-feature
npm run qa:full
git commit -m 'Add amazing feature'
git push origin feature/amazing-feature
本项目采用 MIT 许可证,请参阅 LICENSE 文件了解详细信息。
请参阅 CHANGELOG.md 了解版本历史和更新信息。