MCP.so
Sign In
M

MCP Server Junos (Juniper Devices)

@dpajin

About MCP Server Junos (Juniper Devices)

MCP server for Juniper devices running Junos. Tools for executing operational commands and changing device configuration

Basic information

Category

Other

Transports

stdio

Publisher

dpajin

Submitted by

Dusan Pajin

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "junos": {
      "id": "junos",
      "name": "Junos MCP Server",
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://127.0.0.1:10008/sse"
      ],
      "url": "http://127.0.0.1:10008/sse",
      "transport": "sse",
      "env": {
        "MCP_SERVER_JUNOS_HOST": "127.0.0.1",
        "MCP_SERVER_JUNOS_PORT": "10008",
        "MCP_SERVER_JUNOS_TRANSPORT": "streamable-http",
        "MCP_SERVER_JUNOS_ACCESS_DEFAULT_USER": "admin",
        "MCP_SERVER_JUNOS_ACCESS_DEFAULT_PASSWD": "admin@123",
        "MCP_SERVER_JUNOS_ACCESS_DEFAULT_PORT": "830",
        "LOG_LEVEL": "INFO"
      }
    }
  }
}

Tools

4

Retrieve basic information about the device, such as OS version and model.

Execute any specified show command on the device and return the output. It can be used to retrieve device configuration and execute ping command.

Load and commit configuration changes to the device in both `set` and `junos` (curly brackets) formats.

Retrieve the list of **locally configured** devices on the MCP server. The list include **device name** and **IP address** for remote access.

Overview

What is MCP Server Junos (Juniper Devices)?

MCP Server Junos (Juniper Devices) provides MCP tools for viewing operational state and changing configuration of Juniper Networks devices running the Junos operating system. It uses Juniper’s junos-eznc Python SDK and FastMCP.

How to use MCP Server Junos (Juniper Devices)?

Clone the repository, install dependencies with pip install -r requirements.txt, rename config.example.yml to config.yml, and run python mcp_server_junos.py. The server exposes an HTTP SSE interface on a configurable host and port (default http://127.0.0.1:10008/sse). Alternatively, run as a Docker container with environment variables or a mounted configuration file.

Key features of MCP Server Junos (Juniper Devices)

  • Retrieve device facts like OS version and model.
  • Execute any show command, including configuration and ping.
  • Load and commit configuration changes in set or junos formats.
  • List locally configured devices with names and IPs.
  • Configure via config.yml file or environment variables.
  • Run standalone or as a Docker container.

Use cases of MCP Server Junos (Juniper Devices)

  • Automate retrieval of Junos device operational state and inventory.
  • Remotely execute show commands on multiple Juniper devices.
  • Push configuration changes (set or curly‑bracket format) to devices.
  • Integrate MCP‑compatible clients (e.g., Github Copilot, VS Code) with Junos.

FAQ from MCP Server Junos (Juniper Devices)

How do I configure device access?

Device access can be set in config.yml under the devices key, with host, user, passwd, and port. Alternatively, use environment variables like MCP_SERVER_JUNOS_ACCESS_DEFAULT_USER for default credentials.

What transport protocols are supported?

The server supports sse and streamable-http transport, configured via server_transport in the config or the MCP_SERVER_JUNOS_TRANSPORT environment variable.

Can I run this server without a configuration file?

Yes. When running as a Docker container, you can supply global access credentials via environment variables and omit the config file. Default credentials will be used for any device.

Which tools does the server expose?

Four tools: get_fact, show_command, apply_config, and list_devices. show_command can retrieve configuration and execute ping; apply_config accepts both set and junos formats.

What are the dependencies?

The server requires Python, junos-eznc, FastMCP,

Comments

More Other MCP servers