mcp-netbird

by aantti
Verified
package tools import ( "context" mcpnetbird "github.com/aantti/mcp-netbird" "github.com/mark3labs/mcp-go/server" ) type NetbirdGroupMember struct { ID string `json:"id"` Name string `json:"name"` } type NetbirdGroup struct { ID string `json:"id"` Issued string `json:"issued"` Name string `json:"name"` Peers []NetbirdGroupMember `json:"peers"` PeersCount int `json:"peers_count"` Resources []string `json:"resources"` ResourcesCount int `json:"resources_count"` } type ListNetbirdGroupsParams struct{} func listNetbirdGroups(ctx context.Context, args ListNetbirdGroupsParams) ([]NetbirdGroup, error) { client := mcpnetbird.NewNetbirdClient() var groups []NetbirdGroup if err := client.Get(ctx, "/groups", &groups); err != nil { return nil, err } return groups, nil } var ListNetbirdGroups = mcpnetbird.MustTool( "list_netbird_groups", "List all Netbird groups", listNetbirdGroups, ) // AddNetbirdTools registers all Netbird tools with the MCP server func AddNetbirdGroupTools(mcp *server.MCPServer) { ListNetbirdGroups.Register(mcp) }