Skip to main content
Glama
jillesca

gNMIBuddy

by jillesca

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NETWORK_INVENTORYYesPath to the device inventory JSON file. This file must contain a JSON list of device objects with fields like name, ip_address, nos, and authentication credentials.
GNMIBUDDY_LOG_FILENoCustom log file path (overrides the default sequential log files in the logs/ directory)
GNMIBUDDY_LOG_LEVELNoGlobal log level (debug, info, warning, error)info
GNMIBUDDY_MODULE_LEVELSNoModule-specific log levels, e.g., 'src.cmd=warning,src.inventory=debug'
GNMIBUDDY_MCP_TOOL_DEBUGNoEnable MCP tool debuggingfalse
GNMIBUDDY_STRUCTURED_LOGGINGNoEnable JSON structured loggingfalse
GNMIBUDDY_EXTERNAL_SUPPRESSION_MODENoExternal library suppression mode (cli, mcp, development)cli

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_routing_infoC

Get routing information from a network device.

get_logsC

Get logs from a network device.

get_interface_infoB

Get interface information from a network device.

get_mpls_infoC

Get MPLS information from a network device.

get_vpn_infoC

Get VPN/VRF information from a network device.

get_devicesA

Get information about all available devices in the inventory.

Returns: A dictionary containing a list of all devices with their name, IP address, and network OS (sensitive authentication data is redacted for security)

get_device_profile_apiA

Retrieve a comprehensive device profile summarizing the core service provider role and key protocol features for a network device.

This function queries the device using gNMI and analyzes its configuration to determine:

  • If MPLS is enabled (is_mpls_enabled)

  • If ISIS is enabled (is_isis_enabled)

  • If BGP L3VPN is enabled (is_bgp_l3vpn_enabled)

  • If the device is acting as a BGP Route Reflector (is_route_reflector)

  • If any non-default VPN/VRF has BGP IPv4 Unicast enabled (has_vpn_ipv4_unicast_bgp)

  • The overall device role (role): PE, P, RR, CE, or IGP-only

The resulting profile is essential for automation, troubleshooting, and intent-based operations in service provider networks. It allows higher-level systems (including LLMs) to:

  • Dynamically adjust what data to query (e.g., only look for VPNs on PE routers, ignore VPNs on P routers, avoid interface queries in VPNs on RRs, etc.)

  • Make topology-aware decisions and recommendations

  • Filter or target operational commands based on device function

  • Provide context-aware diagnostics and explanations

Example output for a PE device: { "is_mpls_enabled": true, "is_isis_enabled": true, "is_bgp_l3vpn_enabled": true, "is_route_reflector": false, "has_vpn_ipv4_unicast_bgp": true, "role": "PE" }

get_system_infoA

Retrieve structured system-level information from a network device via gNMI.

Returns key attributes such as hostname, software version, timezone, memory, gRPC server config, logging, users, boot time, and uptime. Useful for inventory, monitoring, and diagnostics.

get_network_topology_apiA

Retrieve the full L3 IP-only direct connection list for all devices in the network inventory (excluding management interfaces).

This function returns a detailed list of all discovered L3 IP direct connections (edges) in the network topology graph. Each connection describes a direct L3 IP connectivity between two devices, including interface names, IP addresses, and the shared network segment. The output is suitable for LLMs and automation tools to reason about network structure, connectivity, and path computation.

get_topology_neighborsB

Get direct neighbors of a specified device.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jillesca/gNMIBuddy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server