
EOS MCP
Connects Claude directly to Arista EOS switches via eAPI to run show commands, pull configs, and push changes through configure sessions with commit timers. You get batch operations across multiple devices, structured device facts (model, serial, uptime), config diffs against rollback checkpoints, and tech-support collection. Handles credentials through INI files with per-device tags for filtering. Reach for this when you're managing Arista gear and want Claude to troubleshoot live network state, validate config changes before committing, or run health checks across your DC fabric without writing custom scripts.
- tools
- 17
- transport
- STDIO
- last updated
- Sep 29, 2026
Tools
17 toolsPublic tool metadata for what this MCP can expose to an agent.
health_checkReport server version and config status (lightweight; does NOT connect to devices)
Report server version and config status (lightweight; does NOT connect to devices)
No parameter schema in public metadata yet.
get_router_listList registered devices (optional tag filter)
List registered devices (optional tag filter)
No parameter schema in public metadata yet.
get_device_factsReturn structured facts for one device (model, serial, EOS version, uptime, memory)
Return structured facts for one device (model, serial, EOS version, uptime, memory)
No parameter schema in public metadata yet.
get_device_facts_batchReturn device facts for multiple devices in parallel
Return device facts for multiple devices in parallel
No parameter schema in public metadata yet.
get_versionReturn EOS version string (quick connectivity check)
Return EOS version string (quick connectivity check)
No parameter schema in public metadata yet.
run_commandRun a single enable-mode command on one device
Run a single enable-mode command on one device
No parameter schema in public metadata yet.
run_commandsRun multiple enable-mode commands on one device
Run multiple enable-mode commands on one device
No parameter schema in public metadata yet.
run_command_batchRun an enable-mode command on multiple devices in parallel
Run an enable-mode command on multiple devices in parallel
No parameter schema in public metadata yet.
run_commands_batchRun multiple enable-mode commands on multiple devices in parallel
Run multiple enable-mode commands on multiple devices in parallel
No parameter schema in public metadata yet.
get_configRetrieve running-config
Retrieve running-config
No parameter schema in public metadata yet.
get_config_diffShow config diff vs rollback checkpoint
Show config diff vs rollback checkpoint
No parameter schema in public metadata yet.
list_config_sessionsList configure sessions and their state
List configure sessions and their state
No parameter schema in public metadata yet.
push_configPush config via configure session (dry_run=True by default)
Push config via configure session (dry_run=True by default)
No parameter schema in public metadata yet.
confirm_config_sessionConfirm a pending commit timer session
Confirm a pending commit timer session
No parameter schema in public metadata yet.
abort_config_sessionAbort a pending session
Abort a pending session
No parameter schema in public metadata yet.
collect_tech_supportCollect show tech-support output
Collect show tech-support output
No parameter schema in public metadata yet.
daily_briefHealth check (environment, errdisabled, uptime, MLAG, recent syslog alerts) across multiple devices
Health check (environment, errdisabled, uptime, MLAG, recent syslog alerts) across multiple devices
No parameter schema in public metadata yet.
Sponsors
Readme
eos-mcp
English | 日本語
MCP server for Arista EOS device operations via eAPI.
Exposes EOS show commands, running-config retrieval, configuration push (via configure session with commit timer), and tech-support collection to MCP-compatible AI assistants.
Documentation: https://shigechika.github.io/eos-mcp/
Installation
pip install eos-mcp
Configuration
Copy config.ini.example to ~/.config/eos-mcp/config.ini and fill in credentials:
[DEFAULT]
username = admin
password = yourpassword
transport = https
verify = false
[switch1.example.com]
tags = main,dc1
[switch2.example.com]
tags = main,dc1
Config file discovery order:
EOS_MCP_CONFIGenvironment variable./config.ini(current directory)~/.config/eos-mcp/config.ini
(Individual MCP tool calls may also override the path via a config_path
parameter.)
Write operations
Three tools change device state through a guarded path:
Details
- Repository
- github.com/shigechika/eos-mcp
- Package
eos-mcp- Transport
- STDIO
- Registry
- MCP registry, active