{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mechubsec/rustpanosmcp","description":"PAN-OS firewall MCP server: scoped, audited, two-person change control. Rust.","title":"rust-panosmcp","repository":{"url":"https://github.com/mechubsec/rustpanosmcp","source":"github"},"version":"0.16.1","websiteUrl":"https://mechub.org/projects/rustpanosmcp/","packages":[{"registryType":"oci","identifier":"ghcr.io/mechubsec/rustpanosmcp:0.16.1","runtimeHint":"docker","transport":{"type":"stdio"},"runtimeArguments":[{"isRequired":true,"value":"--rm","type":"positional"},{"isRequired":true,"value":"-i","type":"positional"},{"isRequired":true,"value":"65532:65532","type":"named","name":"--user"},{"isRequired":true,"value":"{devices_file}:/etc/rust-panosmcp/devices.json:ro","variables":{"devices_file":{"description":"Absolute host path to devices.json. Credential material stays in environment variables or separate files named by that inventory, not in this manifest.","isRequired":true,"format":"filepath"}},"type":"named","name":"-v"},{"isRequired":true,"value":"{state_dir}:/var/lib/rust-panosmcp","variables":{"state_dir":{"description":"Absolute host directory for persistent state (change sets, audit HMAC key); must be writable by UID 65532","isRequired":true,"format":"filepath"}},"type":"named","name":"-v"},{"value":"{credential_env}","variables":{"credential_env":{"description":"Environment variable name referenced by devices.json (api_key type env). Pass the name only, as in docker -e NAME, so the value is not written into this argument.","isRequired":true}},"type":"named","name":"-e","isRepeated":true}],"packageArguments":[{"isRequired":true,"value":"stdio","type":"named","name":"--transport"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-15T23:38:58.919118Z","publishedAt":"2026-10-15T23:38:58.919118Z","updatedAt":"2026-10-15T23:38:58.919118Z","isLatest":true}}}
