Skip to main content
Glama
coolexer

Nokia SR OS gNMI MCP Server

by coolexer

Nokia SR OS gNMI MCP Server

MCP server for managing Nokia SR OS devices via gNMI (gRPC) from Claude Desktop.

Features

  • gNMI Get — retrieve configuration and operational state with YANG paths

  • gNMI Set — update, replace, or delete configuration

  • MD-CLI commands — via Nokia gNMI CLI extension

  • gNMI Capabilities — discover supported models and encodings

  • Runtime credentials — no passwords in config files

  • Multi-device — manage multiple SR OS devices simultaneously

  • JSON output — clean json_ietf encoding (easier to read than XML)

Related MCP server: io.github.shigechika/junos-mcp

Installation

cd nokia-gnmi-mcp

# Option A: uv (recommended)
uv sync

# Option B: pip
pip install -e .

Claude Desktop Configuration

Edit %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "nokia-gnmi": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\YourUser\\nokia-gnmi-mcp",
        "run",
        "nokia-gnmi-mcp"
      ]
    }
  }
}

Usage

1. Connect to a device

"Connect to my SR OS router at 192.168.1.1 via gNMI, username admin, password Nokia123, call it pe1"

2. Get configuration

"Show me the router interfaces config on pe1"

Claude uses path: /configure/router[router-name=Base]/interface

3. Get operational state

"What's the BGP neighbor state on pe1?"

Claude uses path: /state/router[router-name=Base]/bgp/neighbor

4. Update configuration

"Create a loopback lo5 with IP 10.10.10.5/32 on pe1"

Claude uses gNMI Set update.

5. Delete configuration

"Remove interface test from pe1"

Claude uses gNMI Set delete.

Tools Reference

Tool

gNMI Op

Description

sros_connect

Connect to device (host, port, credentials, TLS options)

sros_disconnect

Close gNMI session

sros_get_config

Get (CONFIG)

Retrieve configuration by YANG path

sros_get_state

Get (STATE)

Retrieve operational state by YANG path

sros_set_update

Set (update)

Merge configuration changes

sros_set_replace

Set (replace)

Replace configuration subtree

sros_set_delete

Set (delete)

Delete configuration elements

sros_cli_command

CLI ext

MD-CLI show commands via gNMI

sros_capabilities

Capabilities

List supported models and encodings

sros_list_sessions

List active sessions

Nokia YANG Path Reference

Configuration paths (/configure/...)

/configure/router[router-name=Base]/interface
/configure/router[router-name=Base]/bgp
/configure/router[router-name=Base]/isis[isis-instance=0]
/configure/port[port-id=1/1/c2/1]
/configure/card[slot-number=1]
/configure/service/vprn[service-name=CUST-1]
/configure/service/vpls[service-name=L2-1]
/configure/system

State paths (/state/...)

/state/router[router-name=Base]/interface[interface-name=to-pe2]
/state/router[router-name=Base]/bgp/neighbor
/state/port[port-id=1/1/c2/1]
/state/card[slot-number=1]
/state/system/information

Differences from NETCONF MCP

Feature

NETCONF MCP

gNMI MCP

Protocol

NETCONF/SSH

gRPC/HTTP2

Port

830

57400

Encoding

XML

JSON (json_ietf)

Candidate datastore

Yes (commit/rollback)

No (direct apply)

Output readability

XML verbose

JSON clean

Streaming telemetry

No

Possible (future)

Troubleshooting

Connection refused: Ensure gRPC is enabled on SR OS:

configure system grpc admin-state enable
configure system grpc allow-unsecure-connection
configure system grpc gnmi admin-state enable
configure system grpc gnmi auto-config-save true

TLS errors: Use skip_verify=true for lab or insecure=true for non-TLS connections.

Timeout: Increase timeout in sros_connect. Large state queries may need more time.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/coolexer/gNMI-MCP-server'

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