返回市场
尾巴规模-MCP服务器

尾巴规模-MCP服务器

作者:paulsmith9 星标更新:2025-04-09

项目介绍

Tailscale 模型上下文协议(MCP)服务器

一个简单的MCP服务器,提供从Claude Desktop和其他兼容MCP客户端直接访问您的Tailscale网络的只读权限。

[!警告] 您可能不希望这样做!此服务器会将您的Tailscale网络暴露给外部应用程序。它会在您的系统上调用tailscale二进制文件,通过字符串拼接组装参数列表,并以您登录的Tailscale账户身份执行。虽然其操作旨在是只读的,因此被认为是“安全”的,但您应该意识到将任何网络部分暴露给第三方应用程序所涉及的潜在风险。尤其是在与LLMs交互时

描述

该服务器允许例如Claude通过暴露只读命令作为工具和提示来与您的Tailscale网络进行交互。它使您可以:

  • 检查您的Tailscale状态和连接设备
  • 获取网络诊断信息
  • 查看您的Tailscale IP地址
  • 列出可用的出口节点
  • 对Tailscale主机进行ping测试
  • 查询有关Tailscale IP的信息

要求

  • Go(用于从源代码构建)
  • 必须安装并可在您的$PATH中访问的Tailscale CLI
  • 兼容MCP的客户端,如Claude Desktop

安装

预编译的二进制文件

即将推出

从源代码构建

go install github.com/paulsmith/tailscale-mcp-server@latest

使用Claude Desktop

  1. 首先,请确保已安装并更新到最新版本的Claude Desktop

  2. 打开您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. 添加Tailscale MCP服务器配置:

{
  "mcpServers": {
    "tailscale": {
      "command": "tailscale-mcp-server"
    }
  }
}
  1. 确保tailscale-mcp-server在您的$PATH中,或在command字段中提供二进制文件的完整路径。

  2. 重启Claude Desktop

可用工具

该服务器公开了以下工具:

  • tailscale: 运行任何“安全”的Tailscale命令
  • get-ip: 获取您的Tailscale IP地址
  • get-status: 获取关于您的Tailscale网络的信息
  • network-check: 检查Tailscale网络连接性
  • list-exit-nodes: 列出可用的Tailscale出口节点
  • ip-lookup: 查询有关Tailscale IP的信息
  • ping-host: 对Tailscale主机进行ping测试
  • dns-status: 获取DNS诊断信息

安全子命令列表

被认为是“安全”且可以通过此MCP服务器使用的tailscale工具运行的子命令列表如下:

  • netcheck
  • ip
  • dns status
  • status
  • metrics
  • ping <peer>
  • version
  • exit-node list
  • whois <ip>

可用提示

该服务器还包括几个帮助完成常见任务的提示:

  • diagnose-network: 分析Tailscale网络连接问题
  • analyze-peers: 获取关于您尾网设备的摘要
  • exit-node-recommendations: 获取关于出口节点的推荐

示例使用

一旦连接到Claude Desktop,您可以提出如下问题:

  • “我的Tailscale IP地址是什么?”
  • “显示所有连接到我Tailscale网络的设备”
  • “你能检查一下我的Tailscale网络连接是否正常工作吗?”
  • “对名为'laptop'的设备进行ping测试”
  • “在我的网络中有可用的出口节点吗?”
  • “Tailscale正在使用哪些DNS设置?”

示例聊天

描述我的尾网并注意任何异常情况。

(部分内容省略)

我将检查您的Tailscale网络状态并向您提供关于您的尾网的信息。让我运行一些命令来收集详细信息。

首先,让我们检查您的尾网的整体状态:

> 查看来自get-status的结果...

现在,让我们获取Tailscale IP地址:

> 查看来自get-ip的结果...

让我们检查网络连接状态:

> 查看来自network-check的结果...

让我们检查您的尾网中的可用出口节点:

> 查看来自list-exit-nodes的结果...

我们还检查DNS状态:

> 查看来自dns-status的结果...

根据收集的所有信息,这是您的尾网的描述:

您的尾网名称为“orca-arctic.ts.net”,目前注册了11台设备,其中6台在线,5台离线。您当前的设备名为“venus”,运行macOS,IP地址为100.86.102.37。

这是我观察到的关于您的尾网的情况:

- 您有一台设备(“bunny”)被配置为出口节点。这允许其他设备通过它路由流量。
- 您的客户端(1.80.3)与tailscaled服务器(1.82.0)之间存在版本差异,这可能是值得更新以确保兼容性和安全性。
- 您有一台名为“hello.ts.net”的设备,其用户账户(hello@)与其他设备(paulsmith@)不同。如果未预期另一个用户出现在您的尾网中,这可能会显得不寻常。
- 您的网络连接看起来很好,支持IPv4和IPv6,并使用UPnP进行端口映射。
- 您最近的DERP(指定加密包中继)服务器位于Ashburn,延迟为71.9毫秒,这相当不错。
- MagicDNS在整个尾网范围内启用,允许您通过主机名(例如venus.orca-arctic.ts.net)访问设备。
- 您正在使用NextDNS作为您的DNS解析器,这是一个自定义配置。

需要注意的事项:

- 上述提到的客户端/服务器版本差异
- 用户账户不同的设备“hello.ts.net”(hello@),如果未预期,可能需要验证
- 您的五台设备目前处于离线状态,如果它们未在使用中,这是正常的,但如果预期它们在线,则值得检查

您是否需要提供更多关于您尾网特定方面的信息?

安全注意事项

  • 此服务器允许对您的Tailscale网络进行只读访问
  • 只允许执行tailscale CLI的“安全”白名单中的子命令
  • 无法进行任何配置更改(理论上!)
  • 所有命令都以您的用户权限执行
  • 您正在将您的Tailscale网络暴露给LLM,尽管是间接地通过MCP RPC,这可能会受到诸如提示注入等安全风险的影响——请自我教育

故障排除

服务器未出现在Claude Desktop中

检查以下内容:

  1. 确保配置中的二进制文件路径正确
  2. 验证Tailscale CLI已安装并在您的$PATH中可访问
  3. 检查Claude Desktop日志中的错误:
    • macOS: ~/Library/Logs/Claude/mcp*.log
    • Windows: %APPDATA%\Claude\logs\mcp*.log

命令错误

如果命令失败,请尝试:

  1. 直接使用Tailscale CLI运行命令以验证其是否有效
  2. 检查您的Tailscale是否正确配置并已连接
  3. 确保命令在允许的安全列表中

开发

此服务器使用mcp-go包构建。如果您想扩展或修改它:

  1. 克隆存储库
  2. 进行您的更改
  3. 使用go build构建
  4. 使用Claude Desktop或其他MCP客户端进行测试

贡献

欢迎贡献!请随时打开一个问题和/或提交拉取请求。

许可证

MIT许可证