Back to MCP Directory
Pyats
Model Context Protocol moderate risk

Pyats

The pyATS MCP server enables structured interaction with network devices via STDIO using JSON-RPC, offering a secure and portable way to manage network configurations.

Connections & Capabilities

Connects To

GitHubDocker

Capabilities

readwriteexec

Quickstart

Config

{
  "servers": { 
    "pyats": {
      "type": "stdio",
      "command": "python3",
      "args": [
        "-u",
        "/Users/johncapobianco/pyATS_MCP/pyats_mcp_server.py"
      ],
      "env": {
        "PYATS_TESTBED_PATH": "/Users/johncapobianco/pyATS_MCP/testbed.yaml"
      }
  }
}

Exposed MCP Tools (5)

safe
run_show_command

Executes show commands on network devices and returns the output.

Read-only operation; retrieves information without modifying the device.

safe
run_ping_command

Executes ping tests on network devices and returns the results.

Read-only operation; tests network connectivity without modifying the device.

high
apply_configuration

Applies configuration commands to network devices.

Modifies the configuration of network devices, potentially disrupting network services.

safe
learn_config

Fetches the running configuration from a network device.

Read-only operation; retrieves the device configuration without modifying it.

safe
learn_logging

Fetches system logs from a network device.

Read-only operation; retrieves log data without modifying the device.

Safety Assessment

The pyATS MCP server offers a relatively safe way to interact with network devices due to its input validation and command restrictions. However, the ability to make configuration changes and the reliance on environment variables for security introduce some risk. It is safest when used in a controlled environment with a well-defined and trusted testbed configuration.

  • Input validation using Pydantic schemas.
  • Blocks unsafe commands (erase, reload, write).
  • Prevents pipe/redirect abuse.
  • Operates entirely via STDIO, minimizing attack surface.
  • Potential for misconfiguration if testbed.yaml is compromised.
  • Configuration changes can impact network devices.
  • No built-in authentication beyond environment variables.
  • Vulnerable if the underlying pyATS framework has vulnerabilities.