一个用于Netbird的Model Context Protocol (MCP)服务器。
该项目源自Grafana Labs的MCP Server for Grafana,并采用相同的Apache License 2.0许可证。
它还使用了Mark III Labs的MCP Go。
注意:此项目仍在开发中。
git clone https://github.com/aantti/mcp-netbird
cd mcp-netbird && \
make install
go install github.com/aantti/mcp-netbird/cmd/mcp-netbird@latest
要通过Smithery自动安装Netbird MCP Server到Claude Desktop:
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网络的信息。目前,它是对选定的只读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 | 所有名服务器组 | 列出所有名服务器组 |
要添加新工具:
tools目录下创建一个新文件(例如,tools/users.go),可能需要使用现有代码作为模板。cmd/main.go中的func newServer()函数。从Netbird管理控制台获取您的Netbird API令牌。
使用上述任一安装方法安装mcp-netbird二进制文件,并确保该二进制文件在您的PATH中。
将服务器配置添加到客户端配置文件中。例如,对于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。
构建镜像并打标签:
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(thv)是一个轻量级工具,旨在简化MCP服务器的部署和管理。
您可以使用ToolHive来部署和运行Netbird MCP,步骤如下:
thv。thv密钥中:thv secret set netbird
thv run在8080端口启动Netbird MCP:thv run --secret netbird,target=NETBIRD_API_TOKEN --transport sse --name thv-mcp-netbird --port 8080 --target-port 8001 mcp-netbird-sse:v1
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 Inspector的方法:
export NETBIRD_API_TOKEN=your-token && \
npx @modelcontextprotocol/inspector
然后可以使用stdio或SSE传输类型测试Netbird MCP Server。对于stdio,请在UI中指定mcp-netbird的完整路径。
TODO: 添加更多测试
要检查代码,运行:
make lint
本项目根据Apache License, Version 2.0许可。
本项目包括由Grafana Labs(https://grafana.com/)开发的软件。
本项目包括由Mark III Labs(https://github.com/mark3labs/mcp-go)开发的软件。