
Junos MCP
A complete operations toolkit for Juniper Networks gear that puts device management and upgrades into Claude's hands. Beyond basic show commands and config retrieval, you get the full lifecycle: firmware staging with checksum verification, pre-flight readiness checks, installation with rollback protection, and scheduled reboots. The push_config tool defaults to dry-run with commit confirmed plus health checks, so you can test changes safely before committing. Batch operations run commands or collect RSI diagnostics across multiple devices in parallel, with tag-based filtering to target specific router groups. The daily_brief tool scans alarms and syslog patterns across your fleet to generate morning health summaries. Built on junos-ops with NETCONF transport, it handles model-specific quirks like EX2300 unlink flags and timeout tuning automatically.
- GitHub stars
- 1
- tools
- 28
- transport
- STDIO
- last updated
- Oct 18, 2026
Tools
28 toolsPublic tool metadata for what this MCP can expose to an agent.
get_device_factsGet basic device information (model, hostname, serial, version)
Get basic device information (model, hostname, serial, version)
No parameter schema in public metadata yet.
get_versionGet JUNOS version with upgrade status
Get JUNOS version with upgrade status
No parameter schema in public metadata yet.
get_router_listList routers from config.ini (optionally filtered by tags)
List routers from config.ini (optionally filtered by tags)
No parameter schema in public metadata yet.
health_checkReport server version + config status (router count, distinct tags). Lightweight; does NOT connect to any device
Report server version + config status (router count, distinct tags). Lightweight; does NOT connect to any device
No parameter schema in public metadata yet.
run_show_commandRun a single CLI show command (`output_format`: text/json/xml)
Run a single CLI show command (`output_format`: text/json/xml)
No parameter schema in public metadata yet.
run_show_commandsRun multiple CLI commands in a single session (`output_format`: text/json/xml)
Run multiple CLI commands in a single session (`output_format`: text/json/xml)
No parameter schema in public metadata yet.
run_show_command_batchRun a command on multiple devices in parallel (supports tag filter and `grep_pattern`)
Run a command on multiple devices in parallel (supports tag filter and `grep_pattern`)
No parameter schema in public metadata yet.
get_configGet device configuration (text/set/xml format)
Get device configuration (text/set/xml format)
No parameter schema in public metadata yet.
get_config_diffShow config diff against a rollback version
Show config diff against a rollback version
No parameter schema in public metadata yet.
push_configPush config with commit confirmed + health check
Push config with commit confirmed + health check
No parameter schema in public metadata yet.
push_config_startReturns the diff and a job_id without waiting for the commit; the commit runs on the same locked session
Returns the diff and a job_id without waiting for the commit; the commit runs on the same locked session
No parameter schema in public metadata yet.
push_config_resultPoll the background push job until it is no longer running
Poll the background push job until it is no longer running
No parameter schema in public metadata yet.
check_upgrade_readinessCheck if device is ready for upgrade
Check if device is ready for upgrade
No parameter schema in public metadata yet.
compare_versionCompare two JUNOS version strings
Compare two JUNOS version strings
No parameter schema in public metadata yet.
get_package_infoGet model-specific package file and hash
Get model-specific package file and hash
No parameter schema in public metadata yet.
list_remote_filesList files on remote device path
List files on remote device path
No parameter schema in public metadata yet.
copy_packageCopy firmware package via SCP with checksum
Copy firmware package via SCP with checksum
No parameter schema in public metadata yet.
install_packageInstall firmware with pre-flight checks (`unlink` flag for EX2300/EX3400)
Install firmware with pre-flight checks (`unlink` flag for EX2300/EX3400)
No parameter schema in public metadata yet.
rollback_packageRollback to previous package version
Rollback to previous package version
No parameter schema in public metadata yet.
schedule_rebootSchedule device reboot at specified time
Schedule device reboot at specified time
No parameter schema in public metadata yet.
collect_rsiCollect RSI/SCF with model-specific timeouts
Collect RSI/SCF with model-specific timeouts
No parameter schema in public metadata yet.
collect_rsi_batchCollect RSI/SCF from multiple devices in parallel (supports tag filter)
Collect RSI/SCF from multiple devices in parallel (supports tag filter)
No parameter schema in public metadata yet.
check_reachabilityProbe NETCONF reachability + available disk space per host (fast: no facts, 5s TCP probe)
Probe NETCONF reachability + available disk space per host (fast: no facts, 5s TCP probe)
No parameter schema in public metadata yet.
check_local_inventoryVerify local firmware checksums against config.ini inventory
Verify local firmware checksums against config.ini inventory
No parameter schema in public metadata yet.
check_remote_packagesVerify staged firmware checksum + available disk space on devices (post-SCP verification)
Verify staged firmware checksum + available disk space on devices (post-SCP verification)
No parameter schema in public metadata yet.
daily_briefMorning health check across multiple devices in parallel: alarms, interface up/down, syslog alert patterns, dual-RE faults, and optional route-count baseline; returns a CRITICAL/WARNING/OK Markdown summary
Morning health check across multiple devices in parallel: alarms, interface up/down, syslog alert patterns, dual-RE faults, and optional route-count baseline; returns a CRITICAL/WARNING/OK Markdown summary
No parameter schema in public metadata yet.
daily_brief_startRun the same sweep as a background job, returning a job_id at once
Run the same sweep as a background job, returning a job_id at once
No parameter schema in public metadata yet.
daily_brief_resultPoll the background daily_brief job until done
Poll the background daily_brief job until done
No parameter schema in public metadata yet.
Sponsors
Readme
junos-mcp
English | 日本語
MCP (Model Context Protocol) server for junos-ops.
Exposes Juniper Networks device operations to MCP-compatible AI assistants (Claude Desktop, Claude Code, OpenAI Codex, etc.) via STDIO transport. While junos-ops is the CLI tool for humans, junos-mcp is the AI-facing interface to the same powerful engine.
Features
Device Information
| Tool | Description | Connection |
|---|---|---|
get_device_facts | Get basic device information (model, hostname, serial, version) | Yes |
get_version | Get JUNOS version with upgrade status | Yes |
get_router_list | List routers from config.ini (optionally filtered by tags) | No |
health_check | Report server version + config status (router count, distinct tags). Lightweight; does NOT connect to any device | No |
CLI Command Execution
Details
- Repository
- github.com/shigechika/junos-mcp
- Package
junos-mcp- Transport
- STDIO
- Registry
- MCP registry, active