mcp-netbird

by aantti
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides installation source for the MCP server package.

  • The project is derived from the MCP Server for Grafana, though it doesn't provide Grafana-specific functionality.

Netbird MCP 服务器

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

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

它还使用 Mark III Labs 的MCP Go

注意:该项目仍在开发中。

安装

从源代码安装

克隆存储库

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 安装

要通过Smithery自动为 Claude Desktop 安装 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 向 LLM 提供有关 Netbird 网络的信息。目前,部分只读 Netbird API 资源与工具之间保持 1:1 映射。

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

工具

工具描述Netbird API
list_netbird_peers所有同行列出所有同行
list_netbird_port_allocationspeerId的所有入口端口列出所有端口分配
list_netbird_groups所有群组列出所有组
list_netbird_policies所有政策列出所有政策
list_netbird_posture_checks所有姿势检查列出所有姿势检查
list_netbird_networks所有网络列出所有网络
list_netbird_nameservers所有名称服务器组列出所有名称服务器组

添加工具

要添加新工具:

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

用法

  1. 从 Netbird 管理控制台获取您的Netbird API 令牌
  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 添加类似配置的更多信息,请参见此处

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

  1. 尝试问类似这样的问题:“您能向我解释一下我的 Netbird 同伴、群组和政策吗?”

Docker

构建图像并标记:

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. 按照ToolHive README中的说明安装thv
  2. 将 Netbird API 令牌添加到thv机密中:
thv secret set netbird
  1. 按照上面Docker 部分所述构建 SSE 镜像
  2. 启动 Netbird MCP 并在端口 8080 上thv run
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

发展

欢迎贡献代码!如果您有任何建议或改进,请提交 issue 或 pull request。

该项目使用 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 Inspector是一款用于测试和调试 MCP 服务器的交互式开发者工具。点击此处了解更多信息。

启动 MCP 检查器的方法如下:

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

Netbird MCP 服务器可以使用stdioSSE传输类型进行测试。对于stdio请在 UI 中指定mcp-netbird的完整路径。

测试

TODO:添加更多测试

代码检查

要检查代码,请运行:

make lint

执照

该项目采用Apache 许可证 2.0 版授权。

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

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

ID: y1lgep6ks4