Netbird MCP服务器

Netbird MCP服务器是一个基于Model Context Protocol(MCP)的服务,用于通过Netbird API访问和管理Netbird网络的配置和状态信息。

  • by aantti
  • Go
  • 本地部署
  • 61 星标
  • 更新于
在 GitHub 查看 aantti/mcp-netbird

使用说明

Netbird MCP服务器

A. 模型上下文协议 (MCP)服务器 网鸟.

该项目源自 Grafana的MCP服务器 由Grafana Labs开发,并根据相同的Apache许可证2.0获得许可。

它还使用 MCP Go Mark III实验室。

注:该项目仍在开发中。

安装

从源代码安装

克隆存储库

git clone https://github.com/aantti/mcp-netbird

构建和安装

cd mcp-netbird && \
make install

从GitHub安装

go install github.com/aantti/mcp-netbird/cmd/mcp-netbird@latest

通过Smithery安装

通过以下方式自动安装克劳德桌面版Netbird MCP服务器 史密瑟里:

npx -y @smithery/cli install @aantti/mcp-netbird --client claude

配置

服务器需要以下环境变量:

  • NETBIRD_API_TOKEN:您的Netbird API代币
  • NETBIRD_HOST (可选):Netbird API主机(默认为 api.netbird.io)

特性

该服务器使用Netbird API提供有关Netbird网络的LLM信息。目前,它是一个1:1的选择只读Netbird API资源到工具的映射。

  • [x] 使用Netbird API访问配置和状态
  • [x] 可配置的API端点
  • [x] Netbird API基于令牌的安全身份验证

工具

工具 说明 Netbird API
list_netbird_peers 所有同行 列出所有对等方
list_netbird_port_allocations 所有入口端口 peerId 列出所有端口分配
list_netbird_groups 所有组 列出所有组
list_netbird_policies 所有政策 列出所有政策
list_netbird_posture_checks 所有姿势检查 列出所有姿势检查
list_netbird_networks 所有网络 列出所有网络
list_netbird_nameservers 所有名称服务器组 列出所有名称服务器组

添加工具

要添加新工具,请执行以下操作:

  1. 在中创建新文件 tools (例如。, tools/users.go),可能使用现有代码作为模板
  2. 将API路由和响应细节添加到新文件中
  3. 将工具添加到 func newServer() 在……里面 cmd/main.go

用法

  1. 得到你的 Netbird API代币 从Netbird管理控制台。

  2. 安装 mcp-netbird 使用上述安装方法之一的二进制文件。确保二进制文件在您的PATH中。

  3. 将服务器配置添加到客户端配置文件中。例如,对于Codeium Windsurf,添加以下内容 ~/.codeium/windsurf/mcp_config.json:

    {
      "mcpServers": {
        "netbird": {
          "command": "mcp-netbird",
          "args": [],
          "env": {
            "NETBIRD_API_TOKEN": "<your-api-token>"
          }
        }
      }
    }
    

有关如何向Claude Desktop添加类似配置的更多信息,请参阅 这里.

注意:如果你看到一些类似的东西 [netbird] [error] spawn mcp-netbird ENOENT 在Claude Desktop日志中,您需要指定以下内容的完整路径 mcp-netbird。在macOS上,Claude日志位于 ~/Library/Logs/Claude.

  1. 试着问这样的问题:“你能向我解释一下我的Netbird同行、团体和政策吗?”

码头工人

构建一个图像并标记它:

docker build -t mcp-netbird-sse:v1 -f Dockerfile.sse .

运行映像:

docker run --name mcp-netbird -p 8001:8001 -e NETBIRD_API_TOKEN=<your-api-token> mcp-netbird-sse:v1

ToolHive

ToolHive (thv)是一个轻量级的实用程序,旨在简化MCP服务器的部署和管理。

您可以使用ToolHive部署和运行Netbird MCP,如下所示:

  1. 安装 thv 如所述 ToolHive自述.

  2. 将Netbird API令牌添加到 thv 秘密:

thv secret set netbird
  1. 按照Docker部分中的描述构建SSE映像 上方

  2. 使用启动Netbird MCP thv run 在端口8080上:

thv run --secret netbird,target=NETBIRD_API_TOKEN --transport sse --name thv-mcp-netbird --port 8080 --target-port 8001 mcp-netbird-sse:v1
  1. 当您想停止服务器时,请使用:
thv stop thv-mcp-netbird

发展

欢迎投稿!如果您有任何建议或改进,请打开问题或提交拉取请求。

这个项目是用Go编写的。按照您平台的说明安装Go。

要手动运行服务器,请使用:

export NETBIRD_API_TOKEN=your-token && \
go run cmd/mcp-netbird/main.go

或者在SSE模式下:

export NETBIRD_API_TOKEN=your-token && \
go run cmd/mcp-netbird/main.go --transport sse --sse-address :8001

调试

这 MCP检查员 是一个用于测试和调试MCP服务器的交互式开发工具。阅读更多 这里.

以下是如何启动MCP检查器:

export NETBIRD_API_TOKEN=your-token && \
npx @modelcontextprotocol/inspector

然后,Netbird MCP服务器可以通过以下任一方式进行测试 stdio 或 SSE 运输类型。对于 stdio 指定完整路径 mcp-netbird 在UI中。

测试

TODO:添加更多测试

代码检查

要提取代码,请运行:

make lint

许可证

该项目根据 Apache许可证,版本2.0.

该项目包括Grafana Labs开发的软件(https://grafana.com/).

该项目包括Mark III实验室开发的软件(https://github.com/mark3labs/mcp-go).