← Back to search

EOS MCP

shigechika Scanned 30d ago

MCP server for Arista EOS device operations via eAPI

C
65.9 / 100

Versions

0.2.1latest
first seen Jun 5, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 17

push_config
annotations: none low

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.

dry_run bool hostname str config_path str commit_timer int config_lines string session_name str
health_check
annotations: none low

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.

config_path str
get_router_list
annotations: none low

List EOS devices registered in config, optionally filtered by tags.

tags string config_path str
get_device_facts
annotations: none low

Return structured device facts: hostname, model, serial, EOS version, uptime, memory.

hostname str config_path str
get_device_facts_batch
annotations: none low

Return device facts (model, serial, EOS version, uptime) for multiple devices in parallel.

tags string hostnames string config_path str max_workers int
get_version
annotations: none low

Return EOS version string for a device (quick connectivity check).

hostname str config_path str
get_config_diff
annotations: none low

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.

hostname str config_path str rollback_id int
list_config_sessions
annotations: none low

List configure sessions and their state on an EOS device. Shows pending, pendingCommitTimer, and completed sessions. Useful for tracking in-flight push_config operations.

hostname str config_path str
run_command
annotations: none low

Run a single enable-mode command on an EOS device and return text output.

command str hostname str config_path str
run_commands
annotations: none low

Run multiple enable-mode commands on one EOS device and return labelled output.

commands string hostname str config_path str
run_command_batch
annotations: none low

Run an enable-mode command on multiple EOS devices in parallel. Specify targets via 'hostnames', 'tags', or both.

tags string command str hostnames string config_path str max_workers int
run_commands_batch
annotations: none low

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.

tags string commands string hostnames string config_path str max_workers int
get_config
annotations: none low

Retrieve the running-config from an EOS device.

hostname str config_path str
confirm_config_session
annotations: none low

Confirm (finalize) a pending configure session commit timer on an EOS device.

hostname str config_path str session_name str
abort_config_session
annotations: none low

Abort a pending configure session on an EOS device.

hostname str config_path str session_name str
collect_tech_support
annotations: none low

Collect show tech-support from an EOS device (large output, 30+ seconds).

hostname str config_path str
daily_brief
annotations: none low

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

tags string hostnames string config_path str max_workers int since_hours int

Permissions 2

filesystem low
Server uses filesystem capabilities via: os, pathlib
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 53

low
Tool 'health_check' has no annotations annotation_checker · 100%
low
Tool 'get_router_list' has no annotations annotation_checker · 100%
low
Tool 'get_device_facts' has no annotations annotation_checker · 100%
low
Tool 'get_device_facts_batch' has no annotations annotation_checker · 100%
low
Tool 'get_version' has no annotations annotation_checker · 100%
low
Tool 'get_config_diff' has no annotations annotation_checker · 100%
low
Tool 'list_config_sessions' has no annotations annotation_checker · 100%
low
Tool 'run_command' has no annotations annotation_checker · 100%
low
Tool 'run_commands' has no annotations annotation_checker · 100%
low
Tool 'run_command_batch' has no annotations annotation_checker · 100%
low
Tool 'run_commands_batch' has no annotations annotation_checker · 100%
low
Tool 'get_config' has no annotations annotation_checker · 100%
low
Tool 'push_config' has no annotations annotation_checker · 100%
low
Tool 'confirm_config_session' has no annotations annotation_checker · 100%
low
Tool 'abort_config_session' has no annotations annotation_checker · 100%
low
Tool 'collect_tech_support' has no annotations annotation_checker · 100%
low
Tool 'daily_brief' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: mcp@1.2,<2 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.2,<2 (PYSEC-2026-3483) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: health_check manifest_parser · 90%
info
Tool: get_router_list manifest_parser · 90%
info
Tool: get_device_facts manifest_parser · 90%
info
Tool: get_device_facts_batch manifest_parser · 90%
info
Tool: get_version manifest_parser · 90%
info
Tool: get_config_diff manifest_parser · 90%
info
Tool: list_config_sessions manifest_parser · 90%
info
Tool: run_command manifest_parser · 90%
info
Tool: run_commands manifest_parser · 90%
info
Tool: run_command_batch manifest_parser · 90%
info
Tool: run_commands_batch manifest_parser · 90%
info
Tool: get_config manifest_parser · 90%
info
Tool: push_config manifest_parser · 90%
info
Tool: confirm_config_session manifest_parser · 90%
info
Tool: abort_config_session manifest_parser · 90%
info
Tool: collect_tech_support manifest_parser · 90%
info
Tool: daily_brief manifest_parser · 90%
info
Transport: stdio manifest_parser · 90%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: filesystem access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'push_config': Cross-tool sequencing directive poisoning · 85%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%