EOS MCP
MCP server for Arista EOS device operations via eAPI
Versions
0.2.1latestTools 17
push_config Push configuration to an EOS device via a named configure session. When dry_run=True (default) shows diffs and aborts — no changes applied. When dry_run=False commits with a rollback timer (default 300 seconds). Call confirm_config_session before the timer expires to finalize.
health_check Report server version and configuration status (lightweight). Call this at session start (or after a tool-call timeout) to confirm the MCP is up, see which version is running, and verify the device inventory config loads. Lightweight: it only reads and parses config.ini — it does NOT open any eAPI/pyeapi connection to EOS devices, so it is safe to call against a large fleet without touching the network. Always returns the same keys: ``status`` (healthy / degraded / error), ``service``, ``version``, ``config_path`` (resolved config.ini path), ``device_count`` (EOS hosts in config), ``tags`` (sorted distinct tags), and ``config`` (ok / error / missing). On a degraded or error result, ``detail`` carries the reason.
get_router_list List EOS devices registered in config, optionally filtered by tags.
get_device_facts Return structured device facts: hostname, model, serial, EOS version, uptime, memory.
get_device_facts_batch Return device facts (model, serial, EOS version, uptime) for multiple devices in parallel.
get_version Return EOS version string for a device (quick connectivity check).
get_config_diff Show config diff on an EOS device. rollback_id=1 (default) → diff vs most recent rollback checkpoint. rollback_id=N → diff vs Nth rollback checkpoint. Note: diff vs startup-config requires EOS 4.30+; older versions fall back gracefully.
list_config_sessions List configure sessions and their state on an EOS device. Shows pending, pendingCommitTimer, and completed sessions. Useful for tracking in-flight push_config operations.
run_command Run a single enable-mode command on an EOS device and return text output.
run_commands Run multiple enable-mode commands on one EOS device and return labelled output.
run_command_batch Run an enable-mode command on multiple EOS devices in parallel. Specify targets via 'hostnames', 'tags', or both.
run_commands_batch Run multiple enable-mode commands on multiple EOS devices in parallel. Specify targets via 'hostnames', 'tags', or both. Each device's output is labelled by hostname and command.
get_config Retrieve the running-config from an EOS device.
confirm_config_session Confirm (finalize) a pending configure session commit timer on an EOS device.
abort_config_session Abort a pending configure session on an EOS device.
collect_tech_support Collect show tech-support from an EOS device (large output, 30+ seconds).
daily_brief Run health checks on EOS devices and return a Markdown daily brief. Checks environment (temperature, cooling, fans, PSUs), errdisabled interfaces, device uptime, MLAG status, and recent syslog alerts (BGP/OSPF/STP/LACP/MLAG/ link-down) within the last 'since_hours' hours. Returns CRITICAL/WARNING/OK per device with a summary. Specify targets via 'hostnames', 'tags', or both (default: all configured devices).
Permissions 2
filesystem low env_vars low