Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Nokia SR OS NETCONF Server

FreeNot checked

Enables managing Nokia SR OS devices via NETCONF from Claude Desktop, supporting MD-CLI commands, configuration retrieval and editing, candidate workflow with c

GitHubEmbed

About

Enables managing Nokia SR OS devices via NETCONF from Claude Desktop, supporting MD-CLI commands, configuration retrieval and editing, candidate workflow with commit/rollback, and multi-device sessions.

README

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

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

Using uv (recommended)

{
  "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.

from github.com/coolexer/netconf-mcp-server

Install Nokia SR OS NETCONF Server in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install nokia-sr-os-netconf-mcp-server

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add nokia-sr-os-netconf-mcp-server -- uvx --from git+https://github.com/coolexer/netconf-mcp-server nokia-netconf-mcp

FAQ

Is Nokia SR OS NETCONF Server MCP free?

Yes, Nokia SR OS NETCONF Server MCP is free — one-click install via Unyly at no cost.

Does Nokia SR OS NETCONF Server need an API key?

No, Nokia SR OS NETCONF Server runs without API keys or environment variables.

Is Nokia SR OS NETCONF Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Nokia SR OS NETCONF Server in Claude Desktop, Claude Code or Cursor?

Open Nokia SR OS NETCONF Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Nokia SR OS NETCONF Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs