rust-junosmcp MCP server
A community-built Model Context Protocol server for Juniper Junos and SRX devices, implemented in Rust using rustnetconf. It enables agents to perform network automation tasks with strict security controls, including scoped permissions, audited operations, and two-person change control mechanisms. The server supports configuration writes and reads via a devices.json inventory file, requiring SSH keys or passwords for authentication and strict host-key checking.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Perform network automation on Juniper Junos devices
- Execute scoped configuration writes with audit trails
- Implement two-person change control for network changes
- Read device inventory and status via NETCONF
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/mechubsec/rustjunosmcp:2.7.1
{
"transport": "stdio",
"identifier": "ghcr.io/mechubsec/rustjunosmcp:2.7.1",
"runtimeHint": "docker",
"registryType": "oci",
"packageArguments": [
{
"name": "--transport",
"type": "named",
"value": "stdio",
"isRequired": true
}
],
"runtimeArguments": [
{
"type": "positional",
"value": "--rm",
"isRequired": true
},
{
"type": "positional",
"value": "-i",
"isRequired": true
},
{
"name": "-v",
"type": "named",
"value": "{devices_file}:/etc/jmcp/devices.json:ro",
"variables": {
"devices_file": {
"format": "filepath",
"isRequired": true,
"description": "Absolute host path to devices.json (Juniper/junos-mcp-server inventory format)"
}
},
"isRequired": true
},
{
"name": "-v",
"type": "named",
"value": "{keys_dir}:/etc/jmcp/keys:ro",
"variables": {
"keys_dir": {
"format": "filepath",
"isRequired": true,
"description": "Absolute host directory holding SSH private keys referenced by devices.json"
}
},
"isRequired": true
},
{
"name": "-v",
"type": "named",
"value": "{state_dir}:/var/lib/jmcp",
"variables": {
"state_dir": {
"format": "filepath",
"isRequired": true,
"description": "Absolute host directory for persistent state (known_hosts, leases, staging); must be owned by UID 65532"
}
},
"isRequired": true
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"rust-junosmcp-2-7-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mechubsec/rustjunosmcp:2.7.1",
"--transport=stdio"
]
}
}
}Cline
{
"mcpServers": {
"rust-junosmcp-2-7-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mechubsec/rustjunosmcp:2.7.1",
"--transport=stdio"
]
}
}
}VS Code
{
"servers": {
"rust-junosmcp-2-7-1": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mechubsec/rustjunosmcp:2.7.1",
"--transport=stdio"
]
}
}
}Claude Desktop
{
"mcpServers": {
"rust-junosmcp-2-7-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mechubsec/rustjunosmcp:2.7.1",
"--transport=stdio"
]
}
}
}Let your agent find its tools
Find servers like rust-junosmcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.