Junos Network

v1.0.0Developer Toolsstable

This is a Junos Model Context Protocol (MCP) Server project that provides a bridge between MCP-compatible clients (like Claude Desktop) and Juniper Junos network devices.

junosmcpai-integration
Share:
93
Stars
0
Downloads
0
Weekly
0/5

What is Junos Network?

Junos Network is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to this is a junos model context protocol (mcp) server project that provides a bridge between mcp-compatible clients (like claude desktop) and juniper junos network devices.

This is a Junos Model Context Protocol (MCP) Server project that provides a bridge between MCP-compatible clients (like Claude Desktop) and Juniper Junos network devices.

This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • This is a Junos Model Context Protocol (MCP) Server project

Use Cases

Bridge MCP clients to Juniper Junos network device management. Enable natural language control of network infrastructure.
Juniper

Maintainer

LicenseApache-2.0
Languagepython
Versionv1.0.0
UpdatedMay 20, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx junos

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use Junos Network

The Junos MCP Server provides a bridge between MCP-compatible AI clients and Juniper Junos network devices, allowing network engineers to query device status, retrieve and compare configurations, and deploy config changes using natural language. It supports multiple Juniper routers defined in a JSON device inventory file and exposes seven tools covering operational commands, configuration retrieval, diff comparison, device facts collection, and controlled configuration commits. Engineers managing Juniper infrastructure can use this server to dramatically reduce CLI context-switching during troubleshooting and change management workflows.

Prerequisites

  • Python 3.11 or later installed on the machine running the server
  • Network access to Juniper devices via SSH or NETCONF
  • SSH key-based authentication configured on target Junos devices (password auth is not recommended)
  • A devices.json inventory file listing the routers the server should manage
  • An MCP-compatible client such as Claude Desktop or VS Code with an MCP extension
1

Clone the repository and install dependencies

Clone the Junos MCP Server repository and install the required Python packages. The server uses PyEZ and related Junos automation libraries.

git clone https://github.com/Juniper/junos-mcp-server.git
cd junos-mcp-server
pip install -r requirements.txt
2

Create your devices.json inventory file

The server reads device connection details from a JSON file. Create a devices.json in the repository root listing your Juniper routers with their hostnames, usernames, and SSH key paths.

[
  {
    "name": "router-1",
    "host": "192.168.1.1",
    "user": "admin",
    "ssh_key": "~/.ssh/id_rsa"
  },
  {
    "name": "router-2",
    "host": "192.168.1.2",
    "user": "admin",
    "ssh_key": "~/.ssh/id_rsa"
  }
]
3

Test the server locally

Run the server with uv to verify it starts correctly and can connect to your devices before adding it to your MCP client configuration.

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

Configure Claude Desktop

Add the Junos MCP Server to your Claude Desktop configuration. Reference the absolute path to jmcp.py and your devices.json file.

{
  "mcpServers": {
    "junos": {
      "command": "python3.11",
      "args": ["/path/to/junos-mcp-server/jmcp.py", "-f", "/path/to/devices.json", "-t", "stdio"],
      "env": {
        "JUNOS_TIMEOUT": "60"
      }
    }
  }
}
5

Restart Claude Desktop and verify connectivity

Restart Claude Desktop and ask it to list available routers. This calls the get_router_list tool and confirms both the server started and device connectivity is working.

Junos Network Examples

Client configuration

Claude Desktop configuration for the Junos MCP Server running in stdio mode with an optional timeout override.

{
  "mcpServers": {
    "junos": {
      "command": "python3.11",
      "args": [
        "/path/to/junos-mcp-server/jmcp.py",
        "-f", "/path/to/devices.json",
        "-t", "stdio"
      ],
      "env": {
        "JUNOS_TIMEOUT": "60"
      }
    }
  }
}

Prompts to try

These prompts exercise the operational command, configuration retrieval, and device fact gathering tools.

- "What routers are available in the MCP server?"
- "Show me the software version running on router-1"
- "Get the BGP summary from router-2"
- "Retrieve the current running configuration for router-1 and show me the interfaces section"
- "Compare the configuration changes on router-2 before committing"
- "Collect device facts for all routers in the inventory"

Troubleshooting Junos Network

SSH connection refused or timeout when connecting to devices

Verify that the SSH service is enabled on your Junos device ('show system services' on the device). Confirm the IP address, user, and SSH key path in devices.json are correct. Test manually with: ssh -i ~/.ssh/id_rsa admin@<device-ip>.

Commands time out during execution

Increase the JUNOS_TIMEOUT environment variable for long-running operational commands. Set it to 120 or higher for commands that gather extensive output. The default is likely 30 seconds which may be insufficient for large routing tables.

load_and_commit_config tool is refused or guarded

The configuration deployment tool has built-in guardrails. Always use junos_config_diff first to review changes before committing. The server may prompt for confirmation. In production, use SSH key authentication and restrict the Junos user's permissions to only necessary operations.

Frequently Asked Questions about Junos Network

What is Junos Network?

Junos Network is a Model Context Protocol (MCP) server that this is a junos model context protocol (mcp) server project that provides a bridge between mcp-compatible clients (like claude desktop) and juniper junos network devices. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install Junos Network?

Follow the installation instructions on the Junos Network GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with Junos Network?

Junos Network works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is Junos Network free to use?

Yes, Junos Network is open source and available under the Apache-2.0 license. You can use it freely in both personal and commercial projects.

Browse More Developer Tools MCP Servers

Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "junos": { "command": "npx", "args": ["-y", "junos"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use Junos Network?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides