PA MCP Server
Integration with Palo Alto Networks PAN-OS firewalls, allowing management and querying of firewall information, configuration, and operations via API.
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., "@PA MCP Servershow me the running configuration"
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.
Palo Alto MCP + Open WebUI
This repository runs the Palo-MCP server for Palo Alto Networks PAN-OS firewalls behind an OpenAPI-compatible mcpo bridge, then connects it to Open WebUI through Docker Compose.
Local LLM model is used.
Architecture:
Main files:
Dockerfilebuilds Palo-MCP and wraps it withmcpo.docker-compose.ymlstarts Open WebUI and the Palo MCP proxy.get_panos_api_key.pygenerates and refreshesPA_TOKENin.env..env.exampledocuments required local environment variables.
Environment naming:
Local
.envusesPA_HOST,PA_USERNAME,PA_PASSWORD, andPA_TOKEN.The Compose service maps
PA_HOSTandPA_TOKENinto the container asPANOS_HOSTandPANOS_API_KEY, which Palo-MCP expects.MCPO_API_KEYprotects access to the OpenAPI proxy on port8000.
Build Palo Alto MCP server docker image and wrap it to mcpo
MCP server 'https://github.com/apius-tech/Palo-MCP' uses stdio MCP client Open WebUI supports MCP Streamable HTTP or OpenAPI mcpo acts as a bridge
docker build -t pa-mcp -f Dockerfile .Install requirements for python script (for obtaining API key)
pip install -r requirements.txtPA setup
Create new Admin role on PA firewall Device > Admin Roles > Add; Enable XML API permissions needed for this integration
Create new API user Device > Administrators > Add; Assign the newly created API role
Add username, password and PA FW IP address to
.env
Generate/Refresh PA_TOKEN from PA_HOST, PA_USERNAME, and PA_PASSWORD:
python3 ./get_panos_api_key.pyGenerate random keys for OpenWebUI and MCP server and add them to .env
WEBUI_SECRET_KEY
MCPO_API_KEY
start Ollama server:
Open 2 terminals: First terminal:
ollama serveSecond terminal:
ollama run qwen3:4bAdd link to LLM model to .env
OLLAMA_BASE_URL=http://host.docker.internal:11434Spin up Open WebUI and the Palo MCP:
docker compose up --buildTest the MCP OpenAPI proxy from the host:
set -a
. ./.env
set +a
curl http://localhost:8000/docs
curl -H "Authorization: Bearer $MCPO_API_KEY" http://localhost:8000/openapi.jsonTest connectivity to the configured PA device:
curl -X POST http://localhost:8000/get_firewall_info \
-H "Authorization: Bearer $MCPO_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'Open and set up Open WebUI:
Open WebUI at: [[http://localhost:8080]]
Create account if needed (first time)
Add MCP: Settings > Admin Settings > Integrations > Add Connection
Type: OpenAPI
Name: PA MCP
URL: http://pa_mcp:8000
Auth: Bearer + MCPO_API_KEYVerify connection
Save
Customize new chat
New Chat > Integrations > Tools > PA MCP enable
Upload Files > upload agent_instructions.md
start chat
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/sbezo/pa_mcp_2026'
If you have feedback or need assistance with the MCP directory API, please join our Discord server