About
Netconf — Model Context Protocol server
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:
sros_edit_config→ write to candidatesros_compare→ show the diff- Ask for confirmation
sros_commitorsros_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-commandRPC (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.
Installing Netconf
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/coolexer/netconf-mcp-serverFAQ
Is Netconf MCP free?
Yes, Netconf MCP is free — one-click install via Unyly at no cost.
Does Netconf need an API key?
No, Netconf runs without API keys or environment variables.
Is Netconf hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Netconf in Claude Desktop, Claude Code or Cursor?
Open Netconf 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
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Netconf with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
