Skip to main content

eos-mcp

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.

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.)

Usage

# Verify config and list devices
eos-mcp --check

# Test connectivity to a specific host
eos-mcp --check --check-host switch1.example.com

# Start MCP server (stdio transport)
eos-mcp

Tools

Tool Description
health_check Report server version and config status (lightweight; does NOT connect to devices)
get_router_list List registered devices (optional tag filter)
get_device_facts Return structured facts for one device (model, serial, EOS version, uptime, memory)
get_device_facts_batch Return device facts for multiple devices in parallel
get_version Return EOS version string (quick connectivity check)
run_command Run a single enable-mode command on one device
run_commands Run multiple enable-mode commands on one device
run_command_batch Run an enable-mode command on multiple devices in parallel
run_commands_batch Run multiple enable-mode commands on multiple devices in parallel
get_config Retrieve running-config
get_config_diff Show config diff vs rollback checkpoint
list_config_sessions List configure sessions and their state
push_config Push config via configure session (dry_run=True by default)
confirm_config_session Confirm a pending commit timer session
abort_config_session Abort a pending session
collect_tech_support Collect show tech-support output
daily_brief Health check (environment, errdisabled, uptime, MLAG, recent syslog alerts) across multiple devices

Requirements

  • Python >= 3.10
  • Arista EOS with eAPI enabled (management api http-commands)
  • Network access to port 443 (HTTPS) on target devices

License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eos_mcp-1.0.2.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eos_mcp-1.0.2-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file eos_mcp-1.0.2.tar.gz.

File metadata

  • Download URL: eos_mcp-1.0.2.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for eos_mcp-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c1d8aab055c19b2ef93da0bd4260bfa731219f488bdc89f498273f4c66d56d50
MD5 aa0175a8705d013056e09c73e480edd3
BLAKE2b-256 e16bd4d6be4c92e57fa2d181e8689a71fd61e0c1f9c5b13c78fd62ab14e74a78

See more details on using hashes here.

Provenance

The following attestation bundles were made for eos_mcp-1.0.2.tar.gz:

Publisher: release.yml on shigechika/eos-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eos_mcp-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: eos_mcp-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for eos_mcp-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f51bf351dfac7e6115c0f8e562fd1488a0207b4258f909d856749432105657e
MD5 6f8baf635d792c395d3fd0dfcdbb46c4
BLAKE2b-256 c5e817ca494c5f3510513362c080c50f06a2ac7143b244736effbfa30a86cb31

See more details on using hashes here.

Provenance

The following attestation bundles were made for eos_mcp-1.0.2-py3-none-any.whl:

Publisher: release.yml on shigechika/eos-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

This release

1.0.2 This release

2 files

1.0.1

2 files

1.0.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page