Drives Cisco pyATS and Genie workflows through guarded MCP tools for network discovery, testing, configuration, and state analysis.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent ā or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag ā we're steadily working through the catalog.
š” Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by PyATS MCP.
pyats_list_devicesList all devices in the testbed
pyats_search_devicesFuzzy-search devices by name or alias
pyats_run_show_commandRun a validated show command; returns parsed JSON or raw output
pyats_run_show_command_multiRun a show command across multiple devices concurrently (thread pool)
pyats_pcall_show_commandSame, but one OS process per device (`pyats.async_.pcall`) instead of a shared thread pool
pyats_show_running_configRetrieve the full running configuration (raw text)
The automateyournetwork/pyATS_MCP MCP server gives an MCP client structured access to Cisco pyATS and Genie workflows. It can discover devices from a testbed, search by device name or alias, execute validated show commands, retrieve running configuration and logs, check device health, inspect CDP or LLDP neighbors, and identify the interface associated with an IP address.
The server also supports operational changes and testing. Agents can apply configuration to one or more devices, request a before-and-after diff, roll back to the most recent saved configuration snapshot, and run pings from network devices. Testing options include declarative pyATS Blitz YAML, Robot Framework suites using pyATS/Genie libraries, and sandboxed pyATS AEtest scripts.
A running Python process exposes the MCP endpoint at /mcp using Streamable HTTP. The default listener is 0.0.0.0:8080, with host, port, and statefulness controlled through environment variables. The server reads a pyATS testbed.yaml; device fields in that file can reference environment variables using %ENV{} substitution.
The automateyournetwork/pyATS_MCP MCP server can fan commands or configuration changes across multiple devices using either a shared thread pool or one operating-system process per device through pyATS pcall. Genie feature learning can save named snapshots, which can later be compared for changes in interface, OSPF, BGP, or other supported feature state. REST, RESTCONF, and NX-API requests use pyATS's REST connector, while XPresso requests target Cisco XPresso REST API v2.
Each call is recorded in an in-memory operation log that an agent can retrieve. Configuration actions include safety controls, and destructive operations require an exact confirmation phrase. Genie Clean is limited to non-destructive connect and execute_command stages and defaults to dry-run mode.
The project requires Python 3.10 or newer, a reachable pyATS testbed, and an MCP-capable client. Install the repository requirements, copy .env.example to .env, populate the server settings and device credentials, then start python3 pyats_mcp_server.py. The testbed may point to physical devices or environments such as Cisco Modeling Labs, VIRL, or GNS3, provided Unicon can reach them over SSH or Telnet.
PYATS_TESTBED_PATH identifies the testbed file. Other settings control artifact retention, testbed and connection cache lifetimes, operation-log size, HTTP transport mode, and the listening address. XPresso URL, token, and group variables are only needed for the XPresso request tool. Docker is also supported by building the included image, passing the environment file, and mounting the testbed file.
The tool set covers:
The automateyournetwork/pyATS_MCP MCP server does not simulate a network; it operates against devices or hosts reachable through the configured testbed. STDIO transport is not supported by the project itself. Claude Desktop therefore needs an HTTPS custom connector for a publicly reachable deployment, or a local mcp-remote bridge; its desktop configuration cannot directly start this server through a URL.
Network credentials and device details must be supplied by the operator. The material does not describe built-in server authentication, so deployments exposed beyond a trusted environment should account for access control separately, such as with a reverse proxy.
Factual signals from GitHub, npm, and our automated checks ā not a rating.
No reviews yet ā be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/automateyournetwork-pyats-mcp)<a href="https://allmcps.com/mcp/automateyournetwork-pyats-mcp"><img src="https://allmcps.com/api/badge/automateyournetwork-pyats-mcp?style=directory" alt="PyATS MCP on AllMCPs" /></a>