junos-mcp-server

Juniper's MCP server: an agent runs commands and batch queries on Junos routers with blocklists for dangerous actions.

  • 112 ★ on the repository
  • Last commit
  • Apache-2.0
MCP serverOfficial

Broad access

Why this level

  • The agent loads and commits configuration to network equipment, and a mistake can cut connectivity.
  • Device data goes to the model service.
All reasons and checks

juniper/junos-mcp-server

Install

Manual install

uv run python jmcp.py -f devices.json -t stdio

The launch command from Getting Started. Prepare `devices.json` from `devices-template.json`.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent loads and commits configuration to network equipment, and a mistake can cut connectivity.
  • Device data goes to the model service.

This is third-party code. Review the repository files before installing.

What it does

junos-mcp-server connects an agent to Junos equipment over SSH through PyEZ. Tools run operational commands, singly or as a batch across several devices in parallel, and load configurations with confirmation. Connections are reused through a pool. Safety comes from two blocklist files. `block.cfg` rejects matching patterns before a configuration commit (for example changing the root password), and `block.cmd` stops reboot, power-off and zeroize commands. Access to the MCP server itself is protected by tokens managed by a separate utility. It runs over stdio or HTTP, in Docker and through `uv`.

Who it is for. Network engineers who maintain a fleet of Junos routers and want to ask an agent about state while applying changes under control.

Good fit when

  • You need `show` output from dozens of devices in one request.
  • Router configuration should be read and compared with a baseline.
  • Before a commit the agent checks the config against forbidden paths, such as a root password change.
  • The MCP server runs in Docker on a shared host and is protected by tokens.

Not a fit when

  • Company policy forbids sending device data to LLM services.
  • The server would be exposed to the network without protection or SSH keys.
  • You only run local experiments on a lab bench without Junos.

Example request

Run `show version` on all routers in the list and find devices running an old Junos version.

MCP

Transport
stdio, http
Authentication
API key

Limitations

The server gives the model access to network equipment, and the README advises running it locally until it is secured. Passwords are not recommended for production; use SSH keys. Blocklists cover only the patterns you define, so an incomplete list leaves dangerous commands allowed. Configuration proposed by the model must be reviewed before it runs. Device data reaches the chosen model's service, which requires company policy approval. The `devices.json` file with credentials should be kept out of the repository.

How to disable. Remove the server entry from the client configuration and stop the process or container. Revoke issued tokens with the token management utility.

FAQ

How do I start the server?

Run `uv run python jmcp.py -f devices.json -t stdio` or `python3.11 jmcp.py` with `-f` for the device file, `-t` for transport and `-p` for port.

What does block.cmd block?

Operational commands matching the file's patterns, such as `request system reboot` and `request system zeroize`. The request is rejected before it reaches the router.

How do I protect access to the server?

Issue a token with the token management utility, pass it in the client header and keep the token file apart. For HTTP this is a required measure.

Can the configuration be changed?

Yes, through load and commit. `block.cfg` performs a check, but the README requires reviewing the model's output and confirming it by hand.

Does it work with Docker?

Yes, the README covers building the image, running with defaults and overriding arguments.

Discussion

No questions or reviews yet.

MCP SSH Agent is an MCP server that reads hosts from ~/.ssh/config, runs commands and copies files through system ssh and scp.

MCP serverBroad access105Repository stars

An MCP server connects agents to UniFi infrastructure for device diagnostics, configuration reviews and approved changes

MCP serverBroad access351Repository stars

A set of MCP servers for UniFi: the agent works with Ubiquiti Network, Protect and Access controllers

MCP serverBroad access1KRepository stars

MCP Slim Guard sits between an agent and your MCP servers: it validates calls against schemas and returns big results in parts.

MCP serverExtended access180Repository stars

SSH MCP

ssh-mcp

A security-first SSH server: command classification, policy authorization and several sign-in methods. It runs commands on remote servers

MCP serverBroad access875Repository stars

An SSH MCP server: the agent runs commands, reads and writes files over SFTP, transfers files and starts long jobs while credentials stay with you

MCP serverBroad access1KRepository stars

README in short

The README details security requirements, device setup, token authentication, guardrail lists and a guide to adding custom tools.

README badge

Report a problem