shigechika avatar

EOS MCP

shigechika/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 tools

Public 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:

  1. EOS_MCP_CONFIG environment variable
  2. ./config.ini (current directory)
  3. ~/.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:


View the full README on GitHub

Details

Repository
github.com/shigechika/eos-mcp
Package
eos-mcp
Transport
STDIO
Registry
MCP registry, active

More from shigechika