Skip to main content
Glama

junos-mcp-server

Read-only JUNOS troubleshooting MCP server. Discovers devices dynamically from the SURF orchestrator's gNMI-targets endpoint and runs show commands only over NETCONF (PyEZ). It has no configuration/write capability by design.

Tools

  • list_devices() — device names from the orchestrator.

  • run_show_command(device, command) — runs a show command; rejects anything else.

Related MCP server: netmiko-mcp

Environment

Var

Required

Default

Purpose

ORCHESTRATOR_URL

yes¹

—

orchestrator base URL, e.g. https://api.automation.surf.net

GNMIC_HTTP_BASIC_USER

yes¹

—

Basic Auth user for the targets endpoint

GNMIC_HTTP_BASIC_PASSWORD

yes¹

—

Basic Auth password for the targets endpoint

JUNOS_SSH_USER

yes

—

read-only device login user

JUNOS_SSH_PASSWORD

yes

—

device login password

JUNOS_SSH_PORT

no

830

NETCONF port

JUNOS_DEV_MODE

no

0

development mode — serve JUNOS_DEV_TARGETS instead of querying the orchestrator

JUNOS_DEV_TARGETS

dev²

[]

JSON list of node hostnames, e.g. ["r1.lab.net","r2.lab.net"]

¹ Not required when JUNOS_DEV_MODE is set.   ² Required (non-empty) when JUNOS_DEV_MODE is set.

Development mode

Set JUNOS_DEV_MODE=1 and JUNOS_DEV_TARGETS to a JSON list of your own nodes to bypass the orchestrator entirely — list_devices() then returns exactly that list and run_show_command connects to those hostnames. SSH credentials are still required; orchestrator/Basic-Auth vars are not.

JUNOS_DEV_MODE=1 JUNOS_DEV_TARGETS='["r1.lab.net","r2.lab.net"]' \
  JUNOS_SSH_USER=ro JUNOS_SSH_PASSWORD=... uvx --from . junos-mcp-server

Run

uvx --from . junos-mcp-server                 # from a local checkout
uvx --from git+<repo-url> junos-mcp-server    # from git

MCP client config (stdio)

{
  "mcpServers": {
    "junos": {
      "command": "uvx",
      "args": ["--from", "git+<repo-url>", "junos-mcp-server"],
      "env": {
        "ORCHESTRATOR_URL": "https://api.automation.surf.net",
        "GNMIC_HTTP_BASIC_USER": "gnmic",
        "GNMIC_HTTP_BASIC_PASSWORD": "...",
        "JUNOS_SSH_USER": "...",
        "JUNOS_SSH_PASSWORD": "..."
      }
    }
  }
}

Requires NETCONF enabled on devices (set system services netconf ssh).

Available Tools

2 tools
list_devicesA

List JUNOS device names discovered from the orchestrator gNMI targets endpoint.

Inputs: no named parameters. Returns: result

run_show_commandA

Run a read-only JUNOS 'show' command on a device and return its text output.

Inputs: device (required), command (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have completely distinct purposes: one lists devices, the other runs a show command. There is no ambiguity or overlap between them.

    Naming Consistency5/5

    Both tools follow the verb_noun pattern consistently: 'list_devices' and 'run_show_command'.

    Tool Count2/5

    With only two tools, the server feels very minimal for managing JUNOS devices. It lacks essential operations like configuration or detailed device status beyond show commands.

    Completeness2/5

    The server covers only listing devices and running show commands. There are no CRUD operations, configuration management, or filtering capabilities, leaving significant gaps for typical device management tasks.

    Maintenance

    ActivityStale
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables LLM interactions with Juniper Junos network devices, allowing natural language access to device configuration, monitoring, and management operations through secure SSH connections.
      112
      Apache 2.0
    • A
      license
      A
      quality
      D
      maintenance
      Provides read-only SSH access to network devices (routers, switches, firewalls) with command allow/deny policies, nt-templates output parsing, and an audit trail, enabling an AI agent to query device state securely.
      10
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables read-only access to managed network devices over SSH or Telnet via MCP, allowing users to probe devices, retrieve redacted running or startup configs, gather facts and interfaces, back up multiple devices, and compare configs for drift or unsaved changes.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides read-only, multi-vendor network device interaction, configuration auditing against vendor-guide rules, and safe diffing of proposed changes for AI agents to inspect and analyze network infrastructure without any commit or write capability.
      1
      Apache 2.0