Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_TELECOM_DEVICES_FILENoPath to the devices YAML configuration file. Defaults to 'devices.yaml' in the current working directory.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
show_bgp_summaryA

Show BGP neighbor summary on a network device.

Returns the BGP peering table with neighbor states, prefixes received, and session uptime. Works across all supported vendors.

Args: device: Name of the device as defined in devices.yaml

show_bgp_neighborsA

Show detailed BGP neighbor information on a network device.

Returns per-neighbor details including state, AS number, messages sent/received, and hold time.

Args: device: Name of the device as defined in devices.yaml

show_routing_tableA

Show the IP routing table on a network device.

Returns all routes with protocol, next-hop, metric, and preference.

Args: device: Name of the device as defined in devices.yaml

show_ospf_neighborsA

Show OSPF neighbor adjacencies on a network device.

Returns OSPF neighbor states, interface associations, and dead intervals.

Args: device: Name of the device as defined in devices.yaml

show_mpls_lspA

Show MPLS Label Switched Paths on a network device.

Returns LSP status, tunnel endpoints, and label bindings.

Args: device: Name of the device as defined in devices.yaml

show_interfacesA

Show interface status summary on a network device.

Returns all interfaces with admin/operational status, speed, and description.

Args: device: Name of the device as defined in devices.yaml

show_interface_detailA

Show detailed statistics for a specific interface.

Returns counters, errors, CRC, drops, utilization, MTU, and speed for the specified interface.

Args: device: Name of the device as defined in devices.yaml interface: Interface name (e.g., 'Gi0/0/0', '1/1/1', 'ge-0/0/0')

show_lldp_neighborsA

Show LLDP neighbor discovery information.

Returns connected neighbors with their system name, port ID, and capabilities — useful for topology discovery.

Args: device: Name of the device as defined in devices.yaml

show_lag_statusB

Show Link Aggregation Group (LAG/Port-Channel/Bundle) status.

Returns LAG member ports, their states, and aggregate bandwidth.

Args: device: Name of the device as defined in devices.yaml

show_arp_tableA

Show the ARP table on a network device.

Returns IP-to-MAC address mappings for all entries in the ARP cache.

Args: device: Name of the device as defined in devices.yaml

show_mac_tableB

Show the MAC address table on a network device.

Returns MAC addresses, VLANs, and associated interfaces.

Args: device: Name of the device as defined in devices.yaml

show_system_infoA

Show system information including version, uptime, and hardware.

Returns device platform, software version, uptime, serial number, and hardware details.

Args: device: Name of the device as defined in devices.yaml

show_alarmsA

Show active alarms and alerts on a network device.

Returns current alarm conditions including severity, timestamp, and description.

Args: device: Name of the device as defined in devices.yaml

show_ntp_statusA

Show NTP synchronization status on a network device.

Returns NTP peers, stratum, offset, and synchronization state.

Args: device: Name of the device as defined in devices.yaml

show_cpuB

Show CPU utilization on a network device.

Returns CPU usage per core/process to identify resource bottlenecks.

Args: device: Name of the device as defined in devices.yaml

show_memoryB

Show memory utilization on a network device.

Returns memory pool usage, free/used/total memory statistics.

Args: device: Name of the device as defined in devices.yaml

show_environmentA

Show environmental monitoring on a network device.

Returns power supply, fan, and temperature sensor readings.

Args: device: Name of the device as defined in devices.yaml

show_log_eventsA

Show recent log/syslog messages from a network device.

Returns the most recent event log entries for troubleshooting.

Args: device: Name of the device as defined in devices.yaml

backup_configA

Backup the running configuration of a network device.

Fetches the full running config and saves a timestamped copy locally. Returns the configuration content and the backup file path.

Args: device: Name of the device as defined in devices.yaml

compare_configsA

Compare the current running config with a previous backup.

Performs a diff between the live running configuration and a saved backup file, highlighting additions and removals.

Args: device: Name of the device as defined in devices.yaml backup_file: Path to the backup file to compare against

run_commandA

Run any read-only (show) command on a network device.

For safety, only read-only commands are permitted. Configuration commands are blocked. Use this when you need a specific command not covered by the dedicated tools.

Args: device: Name of the device as defined in devices.yaml command: The CLI command to execute (must start with 'show', 'display', 'ping', or 'traceroute')

run_vendor_operationA

Run a named operation using the vendor-specific command mapping.

This automatically translates the operation name to the correct CLI command for the device's vendor. Use 'list_device_capabilities' to see available operations.

Args: device: Name of the device as defined in devices.yaml operation: Operation name (e.g., 'bgp_summary', 'interfaces', 'alarms')

list_devicesA

List all configured network devices.

Returns the names, hosts, vendors, and ports of all devices available for interaction.

list_device_capabilitiesA

List all supported operations for a specific device.

Shows what commands are available for this device based on its vendor type. Use the operation names with the 'run_vendor_operation' tool.

Args: device: Name of the device as defined in devices.yaml

health_checkA

Check reachability and response time for devices.

Tests SSH connectivity and measures response time. If no device is specified, checks all configured devices.

Args: device: Optional device name. If omitted, checks all devices.

get_audit_logA

Retrieve recent entries from the command audit log.

Shows what commands have been executed, when, on which device, and whether they succeeded.

Args: count: Number of recent entries to retrieve (default: 25)

show_nokia_servicesB

Show Nokia SR OS service summary (VPRN, VPLS, SAP).

Nokia-specific tool for viewing all configured services. Only works on Nokia SR OS devices.

Args: device: Name of a Nokia SR OS device

netconf_get_configA

Retrieve device configuration via NETCONF (structured XML/YANG).

Uses NETCONF protocol instead of SSH CLI scraping. Returns structured XML data. Requires ncclient: pip install mcp-telecom[netconf]

Args: device: Name of the device as defined in devices.yaml source: Config datastore — 'running', 'candidate', or 'startup'

netconf_get_operationalB

Retrieve operational state via NETCONF using YANG models.

Uses pre-defined YANG filters for common operations. Supported operations: system_info, interfaces, bgp_summary, routing_table.

Args: device: Name of the device as defined in devices.yaml operation: YANG operation (e.g. 'system_info', 'interfaces')

netconf_capabilitiesB

List NETCONF/YANG capabilities advertised by a device.

Shows all YANG modules the device supports, useful for understanding what structured data you can retrieve.

Args: device: Name of the device as defined in devices.yaml

telemetry_subscribeA

Start a gNMI streaming telemetry subscription for a device.

Subscribes to OpenConfig telemetry paths and caches the latest values for querying. Use telemetry_query to read collected data.

Args: device: Name of the device as defined in devices.yaml paths: Comma-separated telemetry path names or OpenConfig paths interval_ms: Collection interval in milliseconds (default: 10000)

telemetry_queryA

Query the latest telemetry data collected for a device.

Returns the most recent values for all subscribed telemetry paths. Start a subscription first with telemetry_subscribe.

Args: device: Name of the device as defined in devices.yaml

telemetry_historyB

Get historical telemetry values for trend analysis.

Returns time-series data for a specific telemetry path on a device.

Args: device: Name of the device as defined in devices.yaml path: Telemetry path name (e.g. 'interface_counters') count: Number of historical data points (default: 20)

telemetry_list_subscriptionsA

List all active telemetry subscriptions.

telemetry_unsubscribeC

Stop a telemetry subscription for a device.

Args: device: Name of the device to stop collecting from

telemetry_list_pathsA

List all pre-defined telemetry path shortcuts.

Shows the available shortcut names and their corresponding OpenConfig YANG paths for use with telemetry_subscribe.

discover_topologyA

Discover network topology by collecting LLDP data from all devices.

Connects to each configured device (or specified subset), collects LLDP neighbor information, and builds a topology map showing how devices are interconnected.

Args: devices: Comma-separated device names. Empty = all devices.

show_topologyA

Show the discovered network topology as an ASCII diagram.

Displays all discovered devices and their interconnections. Run discover_topology first to collect data.

show_topology_jsonA

Export the network topology as JSON.

Returns the topology in structured JSON format for programmatic use or integration with visualization tools.

show_topology_mermaidA

Export the network topology as a Mermaid diagram.

Returns Mermaid-formatted graph that can be rendered in Markdown, GitHub, or documentation tools.

find_pathA

Find the shortest path between two devices in the topology.

Uses BFS on the LLDP-discovered topology to find the shortest path between two network devices.

Args: source: Source device name target: Target device name

show_device_neighborsB

Show all discovered neighbors for a specific device.

Lists every direct connection found via LLDP/CDP for the device.

Args: device: Name of the device

snmp_getA

Poll SNMP OIDs from a network device.

Retrieves specific SNMP MIB values. Accepts OID names or dotted notation. Requires pysnmp: pip install mcp-telecom[snmp]

Args: device: Name of the device as defined in devices.yaml oids: Comma-separated OID names or numbers community: SNMPv2c community string (default: public)

snmp_walkA

Walk an SNMP MIB subtree on a network device.

Retrieves all OIDs under the specified base OID. Useful for interface tables, routing tables, etc.

Args: device: Name of the device as defined in devices.yaml base_oid: Base OID to walk (default: IF-MIB ifTable) community: SNMPv2c community string

snmp_device_overviewA

Get a quick SNMP-based overview of a device.

Polls system MIB, interface counts, and uptime in a single request.

Args: device: Name of the device as defined in devices.yaml community: SNMPv2c community string

parallel_commandA

Run a read-only command on multiple devices simultaneously.

Executes the same CLI command across all (or specified) devices in parallel using a thread pool. Much faster than querying one-by-one.

Args: command: CLI command to run (must be read-only) devices: Comma-separated device names. Empty = all devices. max_workers: Max concurrent threads (default: 10)

parallel_operationA

Run a vendor-mapped operation on multiple devices simultaneously.

Translates the operation name to the correct vendor CLI command for each device and runs them all in parallel.

Args: operation: Operation name (e.g. 'bgp_summary', 'interfaces') devices: Comma-separated device names. Empty = all devices. max_workers: Max concurrent threads (default: 10)

compare_devicesA

Compare command output across multiple devices.

Runs the same operation on multiple devices and highlights differences. Useful for finding configuration drift or inconsistencies.

Args: operation: Operation name (e.g. 'system_info', 'ntp_status') devices: Comma-separated device names. Empty = all devices.

parallel_health_checkA

Health-check multiple devices in parallel.

Tests SSH reachability and response time for all specified devices simultaneously. Much faster than sequential health checks.

Args: devices: Comma-separated device names. Empty = all devices.

compliance_checkA

Check a device's running config against security best practices.

Evaluates the running configuration against 20+ compliance rules covering NTP, SSH, SNMP, AAA, passwords, and more. Returns a scored report with pass/fail per rule and remediation advice.

Args: device: Name of the device as defined in devices.yaml

compliance_check_ruleA

Check a specific compliance rule against a device.

Args: device: Name of the device as defined in devices.yaml rule_name: Name of the compliance rule to check

compliance_list_rulesA

List all available compliance rules and their descriptions.

pool_statsA

Show connection pool statistics.

Returns counts of active, idle, and total persistent SSH connections per device. Useful for monitoring connection reuse.

clab_generateB

Generate a Containerlab topology for lab testing.

Creates a containerlab YAML topology file that mirrors your production device inventory, or uses a pre-built test scenario.

Args: scenario: Test scenario — 'basic', 'mpls_core', 'datacenter', 'isp_edge', or 'inventory' (uses your devices.yaml)

clab_devices_yamlB

Generate a devices.yaml for a Containerlab lab.

Creates a MCP-Telecom devices.yaml that connects to the management IPs of a containerlab deployment, so you can instantly start using MCP-Telecom against your lab.

Args: scenario: Which lab scenario to generate for

clab_scenariosA

List available Containerlab test scenarios.

Shows pre-built lab topologies you can deploy for testing MCP-Telecom without production network access.

start_dashboardC

Get instructions to start the web dashboard.

The dashboard provides a real-time view of all device statuses with auto-refreshing device cards. Requires: pip install mcp-telecom[dashboard]

Args: port: HTTP port for the dashboard (default: 8080)

start_metrics_endpointA

Get instructions to start the Prometheus metrics exporter.

Exposes /metrics endpoint for Grafana dashboards. Tracks device reachability, command execution counts, and compliance scores. Requires: pip install mcp-telecom[metrics]

Args: port: HTTP port for Prometheus metrics (default: 9090)

Prompts

Interactive templates invoked by user choice

NameDescription
troubleshoot_bgpStep-by-step BGP troubleshooting workflow for a device.
troubleshoot_interfaceStep-by-step interface troubleshooting workflow.
network_health_auditComprehensive network device health audit.
compare_device_pairCompare two devices side-by-side for consistency checks.

Resources

Contextual data attached and managed by the client

NameDescription
resource_device_inventoryFull inventory of all configured network devices.
resource_supported_vendorsList of all supported network equipment vendors.
resource_audit_logRecent command audit log entries.
resource_topologyCurrent network topology in JSON format.
resource_compliance_rulesAvailable compliance rules in JSON format.
resource_pool_statsConnection pool statistics.

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/Avinash-Amudala/MCP-Telecom'

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