Prisma SD-WAN MCP Server
Provides tools to interact with Prisma SD-WAN fabric, enabling read-only access to operational data for inventory audits, health checks, topology analysis, policy verification, and generating site configuration files.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Prisma SD-WAN MCP Serverlist all SD-WAN sites"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Prisma SD-WAN MCP v2
Registry-first MCP server for Palo Alto Networks Prisma SD-WAN.
How it's built
AI / operator
|
26 semantic MCP tools -----------------------+
| |
name/ID resolver + workflow logic run_commands (ION CLI over SSH)
| |
registry-driven capability executor command policy -> address resolution
| -> reachability probe -> Netmiko
308 generated registry actions |
+ 8 clearly labeled curated additions ION device
|
Prisma SASE SDKThe source registry is not rewritten. It's loaded as the API source of truth, with a small override file layered on top for human aliases and response-safety rules.
Related MCP server: central-mcp-server
AI-visible tool count: 27
The aim is not one tool per API. The aim is one tool per common operator intent, with a controlled escape hatch for rare APIs.
Discovery / resolution (6):
find_site,find_element,find_resource,list_capabilities,read_capability,resolve_pathCore network operations (5):
get_inventory,get_device_health,get_interfaces,get_topology,get_wanRouting / diagnostics / monitoring (3):
get_routing,get_device_diagnostics,get_monitoringPolicy / security (2):
get_policies,get_securityService/domain families (9):
get_network_services,get_multicast,get_ipfix,get_cellular,get_software,get_identity,get_service_connections,get_prisma_access,get_platformLocal automation output (1):
generate_site_configION CLI passthrough (1):
run_commands— the one tool that is not read-only; see below
read_capability provides guarded access to every source-registry action, so an API does not need a dedicated MCP tool to remain available.
Core design principles
Human name -> controller ID resolution.
Exact match preferred over substring match.
Multiple matches are returned; the server never silently picks one.
Element records can supply
site_idautomatically.Workflow tools can combine several API calls.
resolve_pathnever invents a circuit mapping.Authentication refresh and bounded 429/5xx retries.
Cursor pagination and response byte limits.
Full tool descriptions are shipped to the model.
Compact list output; richer single-object/workflow output.
Local site-config generation remains separate from network mutation.
Safeguards
Central secret redaction
Every registry-executed response passes through recursive redaction. Keys containing password, secret, token, session ID, private key, passphrase, SNMP community string, and similar values are replaced with [REDACTED].
This is important because the source registry includes schemas that can expose authentication material.
Expert capability gate
The generated registry contains 308 read-only actions. read_capability can execute them by action_id, but it validates:
capability exists;
required path parameters are present;
unknown path parameters are rejected;
POST body is checked against normalized registry schema hints;
response is redacted and size-limited.
Curated registry additions
Eight useful SDK calls are not represented in the generated 308-action registry:
topology
event query
flow monitor
bandwidth monitor metrics
LQM point metrics
probe point metrics
VPN-link status
VPN-link state
They are stored in prisma_sdwan_mcp/data/curated_capabilities.json rather than hidden in tool code. All eight were validated against a live tenant, so read_capability executes them directly. A future curated action added without live validation is blocked by default until it is verified.
See docs/LIVE_VALIDATION.md.
ION CLI passthrough (run_commands)
The one tool that reaches the device instead of the controller API, over SSH — and the one tool that is not annotated read-only, because the ping/tcpping/dig diagnostics it permits send real packets from the ION. Everything else it permits (dump, inspect) is display-only; everything not explicitly matched is denied fail-closed, with no deny list. See docs/ION_CLI_RESEARCH.md and the prisma-cli://policy resource for the exact allowed forms.
This is a second, materially different network requirement. The rest of this server only needs outbound HTTPS to the Prisma SASE controller. run_commands additionally needs outbound SSH connectivity from wherever this server runs to each ION's management address. A deployment that has one does not necessarily have the other — a container with no route to branch management networks will get a fast, explicit device_unreachable error rather than a hang or a misleading auth failure.
SSH host-key checking is always strict. The target device's host key must already be present in the known_hosts file before run_commands is called — e.g. via one prior interactive ssh login, or ssh-keyscan. There is no auto-trust, ever, including as a retry after failure.
Credentials are configuration-only. The tool signature is:
run_commands(commands, element=None, host=None, site=None)Credentials, SSH port and the known_hosts path are read from the server's environment and can never be passed as tool arguments. That is deliberate: a tool argument is authored by the model and lands in the conversation transcript. Set ION_USERNAME plus one of ION_PASSWORD / ION_PRIVATE_KEY; with neither set, every call fails closed with configuration_error before any resolution, probe, or connection is attempted.
Everything else — SSH port, probe/connect/read timeouts, output byte ceiling, commands per batch — has a working default. See docs/CONFIGURATION.md to change one. The older PRISMA_ION_* spellings still work; the short ION_* names are canonical.
Install
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .
cp .env.example .env.env is five settings and no more:
PAN_CLIENT_ID # controller
PAN_CLIENT_SECRET
PAN_TSG_ID
ION_USERNAME # device SSH (run_commands); blank disables the tool
ION_PASSWORDEvery other setting has a working default in code. docs/CONFIGURATION.md is the full list if you ever need to change one.
Run
stdio:
prisma-sdwan-mcp --transport stdiostreamable HTTP:
prisma-sdwan-mcp --transport streamable-http --host 0.0.0.0 --port 8000Docker:
docker build -t prisma-sdwan-mcp .
docker run --rm --env-file .env prisma-sdwan-mcpTests included
Dependency-free core tests validate:
registry load/counts;
action references;
name/ID resolution and ambiguity behavior;
generic GET/POST dispatch;
registry schema normalization;
recursive secret redaction;
cursor pagination.
Run (251 tests, no live tenant needed):
PYTHONPATH=. python -m pytest -qLive tenant/API validation is intentionally separate. Follow docs/LIVE_VALIDATION.md before production cutover.
Device behavior, tested without a device
tests/fixtures/ion/direct_*.txt holds bytes captured verbatim from a live ION 1200 running
6.3.6-b9 — the real ANSI escapes and the doubled command echo included. tests/test_ion_replay.py
replays them through the real code path with no device attached, so read-termination and parsing
bugs are reproduced and fixed without another trip to the lab.
It needs no marker and no hardware: it runs in the ordinary suite above.
Files to read first
docs/ARCHITECTURE.mddocs/CONFIGURATION.mddocs/TOOL_CATALOG.mddocs/LIVE_VALIDATION.md
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceAn integration that enables AI assistants to interact with network data through a standardized protocol, providing AI-ready tools and interfaces for network automation and management.16
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to query HPE Aruba Networking Central data (sites, devices, clients, alerts, events) through natural language.7MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query IP Fabric network inventory and snapshots through natural language, using tools to fetch devices, interfaces, routing tables, and more.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language automation of Cisco SD-WAN vManage, including device management, template deployment, policy configuration, monitoring, and software upgrades.MIT
Related MCP Connectors
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Responsible-AI guardrails for agents: scoring with policy, injection & PII detection, DPDP.
Enterprise AI Control Plane: governance, guardrails, spend tracking, compliance & smart routing.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamdheerajdubey/prisma-sdwan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server