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: network-mcp
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
- Flicense-qualityFmaintenanceAn 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
- Alicense-qualityDmaintenanceProvides AI assistants with direct access to multi-vendor network devices for tasks like configuration management, health checks, and topology discovery through 35 specialized tools. It enables natural language control over platforms including Cisco, Juniper, and Nokia using SSH, NETCONF, and SNMP protocols.11MIT
- Alicense-qualityBmaintenanceEnables AI assistants to query HPE Aruba Networking Central data (sites, devices, clients, alerts, events) through natural language.6MIT
- Alicense-qualityCmaintenanceEnables AI assistants to query IP Fabric network inventory and snapshots through natural language, using tools to fetch devices, interfaces, routing tables, and more.1MIT
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