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
showcommand, including configuration and ping. - Load and commit configuration changes in
setorjunosformats. - List locally configured devices with names and IPs.
- Configure via
config.ymlfile 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
showcommands 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,