Skip to main content
Glama
coolexer

Nokia SR OS NETCONF MCP Server

by coolexer

Nokia SR OS NETCONF MCP Server

MCP server for managing Nokia SR OS devices via NETCONF from Claude Desktop.

Features

  • MD-CLI commands — execute show commands via Nokia-specific NETCONF RPC

  • get-config / get-state — retrieve configuration and operational state with subtree filters

  • edit-config — modify configuration with merge/replace/delete operations

  • Candidate workflow — edit → compare → commit/rollback for safe changes

  • Runtime credentials — no passwords in config files; connect via tool call

  • Multi-device — manage multiple SR OS devices simultaneously

Related MCP server: Netmiko MCP Server

Installation

Prerequisites

  • Python 3.10+

  • uv (recommended) or pip

Setup

# Clone or copy the project
cd nokia-netconf-mcp

# Option A: uv (recommended for Claude Desktop)
uv sync

# Option B: pip
pip install -e .

Test locally

# With uv
uv run nokia-netconf-mcp

# With pip
nokia-netconf-mcp

The server communicates via stdio — it will wait for MCP protocol messages on stdin.

Claude Desktop Configuration

Edit your Claude Desktop config file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

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

Using Python directly

{
  "mcpServers": {
    "nokia-netconf": {
      "command": "python",
      "args": [
        "-m",
        "nokia_netconf_mcp.server"
      ],
      "env": {
        "PYTHONPATH": "C:\\Users\\YourUser\\nokia-netconf-mcp\\src"
      }
    }
  }
}

Usage

Once configured, restart Claude Desktop. The tools will appear automatically.

1. Connect to a device

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

Claude will call sros_connect with your credentials.

2. Show commands

"Show me the router interfaces on pe1" "Show BGP summary on pe1" "Show service id 100 base on pe1"

3. Get configuration

"Get the running VPRN configuration from pe1" "Show me the port config on pe1"

4. Edit configuration (safe candidate workflow)

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

Claude will:

  1. sros_edit_config → write to candidate

  2. sros_compare → show the diff

  3. Ask for confirmation

  4. sros_commit or sros_rollback

5. Manage sessions

"List all my SROS sessions" "Disconnect from pe1"

Tools Reference

Tool

Description

sros_connect

Connect to device (host, port, username, password)

sros_disconnect

Close NETCONF session

sros_cli_command

Execute MD-CLI show commands

sros_get_config

NETCONF get-config (running/candidate) with subtree filter

sros_get_state

NETCONF get (operational state) with subtree filter

sros_edit_config

NETCONF edit-config (merge/replace/delete)

sros_commit

Commit candidate → running

sros_rollback

Discard candidate changes

sros_compare

Diff candidate vs running

sros_list_sessions

List active sessions

Nokia-Specific Notes

  • Uses device_params={"name": "alu"} for ncclient (Nokia/ALU NETCONF dialect)

  • MD-CLI commands go through md-cli-raw-command RPC (urn:nokia.com:sros:ns:yang:sr:oper-global)

  • Configuration namespace: urn:nokia.com:sros:ns:yang:sr:conf

  • State namespace: urn:nokia.com:sros:ns:yang:sr:state

  • Subtree filters follow Nokia YANG model structure

Troubleshooting

Connection refused: Ensure NETCONF is enabled on the SR OS device:

configure system management-interface netconf admin-state enable
configure system management-interface netconf auto-config-save
configure system security user-params local-user user "admin" access netconf

Timeout: Increase timeout in sros_connect (default 60s). Large get-config responses may need more time.

Capabilities mismatch: The server uses device_params={"name": "alu"}. If your SR OS version has issues, check ncclient compatibility.

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/netconf-mcp-server'

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