mcp-oxidized
The mcp-oxidized server integrates with Oxidized to provide network device configuration management via MCP, allowing you to query, compare, analyze, and retrieve configurations. Key capabilities include:
List all devices: Retrieve all managed devices with details like name, model, group, IP, last backup time, and status.
Find devices: Search by partial/full name or IP (case-insensitive).
Get device status: Backup status and last run for a specified device.
Get device versions: List historical configuration versions with timestamps.
Prepare & retrieve configurations: Stage current configs with
prepare_config, then fetch viaoxidized://config/get_content(prepare-then-read pattern for large outputs).Prepare & retrieve blame: Stage and retrieve annotated configuration blame with
prepare_blameandoxidized://config/get_blame.Inline diff:
get_config_with_inline_diffdisplays current config with inline change markers against a historical version.Unified diff:
get_diff_between_versionsgenerates a diff between any two historical versions with configurable context.
Key behaviors: case-insensitive device matching, bearer token authentication linking prepare and read calls, live data fetching from Oxidized with no caching.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-oxidizedList all devices and show which failed their last backup."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-oxidized
MCP server for Oxidized, a network device configuration backup tool.
It exposes Oxidized data as MCP tools and resources, allowing assistants to query, compare, analyze, and retrieve network device configurations.
Features
Capability | Description |
| List all devices managed by Oxidized |
| Find devices by exact or partial name, full name, or IP address |
| Show backup status and last run details for a device |
| List stored configuration versions for a device |
| Select one or more devices for the current-config resource |
| Retrieve all current configurations selected by |
| Select a device for the static blame resource |
| Retrieve the configuration blame prepared by |
| Show current config with inline change markers against a version |
| Unified diff between two historical versions with configurable context |
All device-specific tools accept an exact device name or a unique partial name. Matching is case-insensitive. If a partial name matches multiple devices, the server returns candidates and asks for a more specific name or group.
Related MCP server: mcp-server-sros
Prepared configuration resources
Current configurations can be too large for a tool response. Use prepare_configs
to resolve one or more devices, then read the static multi-content resource. The
prepare tool returns device metadata only and does not load configuration data.
prepare_configs(nodes=["router01"], group="Core")
read oxidized://config/get_contents
prepare_configs(nodes=["router01", "switch02"], group="Core")
read oxidized://config/get_contentsThe resource returns a separate content item for every prepared device. Each item
has a unique oxidized://config/<group>/<node> URI and uses this MIME type:
text/plain; charset=utf-8The client must send the same Bearer token with both the prepare call and the later resource read:
Authorization: Bearer <long-random-token>The server hashes this token and uses the hash only as an in-memory lookup key. The original token is not stored or logged, and it is not validated as an identity credential. This allows selections to survive a client opening different MCP transport sessions for tool calls and resource reads.
Current configuration and blame selections are separate, so both resources can refer to different devices for the same Bearer token. Resource reads fetch the current configuration and required historical versions live from Oxidized. No configuration, version, or blame result is cached or written to a database.
If a resource is read before its matching prepare tool, it returns instructions for the required prepare call. A server restart clears all prepared selections. Run one server worker because prepared selections are intentionally held only in that process memory.
Requirements
Python 3.11+
Oxidized with oxidized-web running and its REST API enabled
Docker, recommended
Quick start
cp .env.example .env
# Edit .env with your Oxidized URL and credentials
docker compose up -dThe MCP server listens on port 8000 using Streamable HTTP transport.
Configuration
Variable | Description | Default |
| Base URL of the Oxidized instance | required |
| Basic Auth username | required |
| Basic Auth password | required |
| MCP server port | 8000 |
MCP client configuration
Configure the client to send a stable Bearer token on every MCP request:
Authorization: Bearer <long-random-token>The token associates prepare_configs and prepare_blame calls with later
resource reads. Treat it as a secret because a caller using the same token can
access and replace that token's prepared selections.
Example prompts
"List all devices and show which ones failed their last backup."
"Find the device containing
HFGBF253in its name.""Show the status of the device matching
253-IT.""List stored versions for
HFGBF253-ITin theFirewallsgroup.""Prepare the current configuration of router01."
"Prepare the current configurations of router01, switch02, and firewall03."
"Prepare configuration blame for switch02."
"Show the current config of switch02 and highlight changes against version 12."
"Show the diff between version 12 and version 14 for firewall01 with 10 lines of context."
Development
pip install -e ".[dev]"
python -m mcp_oxidized.serverLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceExposes Cisco Network Services Orchestrator (NSO) operations and data as MCP tools and resources, enabling AI-powered network automation through natural language. It supports tasks like retrieving device configurations, checking sync status, and managing services via the NSO RESTCONF API.914MIT
- AlicenseNot gradedqualityDmaintenanceProvides tools to view operational state and change configuration of Nokia SR OS devices using pySROS SDK and FastMCP.1MIT
- AlicenseAqualityBmaintenanceProvides MCP tools for governed multi-vendor network device operations, including configuration management (backup, diff, merge, replace, rollback) and read-only queries (facts, interfaces, BGP, LLDP, ARP) via NAPALM, with optional NetBox source-of-truth integration.33MIT
- AlicenseNot gradedqualityBmaintenanceExposes Zerobyte backup platform's REST API as MCP tools, enabling read-only queries on repositories, backups, snapshots, volumes, and system info.MIT
Related MCP Connectors
Tailscale device, route, DNS, key, user, and ACL management over MCP and CLI.
XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.
Free MCP tools: the only MCP linter, health checks, cost estimation, and trust evaluation.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/meks007/mcp-oxidized'
If you have feedback or need assistance with the MCP directory API, please join our Discord server