Skip to main content
Glama
yaylaerkan

palo-alto-bgp-ipsec

by yaylaerkan

panorama_plan_bgp

Read-only

Generate a BGP candidate configuration plan for Panorama-managed firewalls—covering global enable, router-id, local-as, peer groups, peers, and import/export rules with inline prefixes—after IPsec tunnels are applied.

Instructions

[READ-ONLY] Plans ordered BGP candidate mutations (global enable, router-id, local-as, route-install, peer group, two peers, and import/export rules with inline matched prefixes). policyMode records whether empty policies are intentional or explicit rules are required; omission preserves legacy behavior with a warning. Returns the legacy plan wrapper plus common planId, planHash, and summary metadata. Requires prior IPsec apply: each peer's local-address = own (near) tunnel IP, peer-address = far tunnel IP (near + 1 within the /30). A peer without local-address is rejected by PAN-OS. Candidate configuration only; no commit or push is performed. Runtime verification requires a prior manual commit and push to the managed firewall.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vsysNoVirtual system namevsys1
peersYes1 or 2 BGP peers (single or dual deployment)
serialNoManaged firewall serial number. OPTIONAL — auto-resolved from the template's device assignment when omitted. Only supply it when the template is bound to more than one device.
localAsNoLocal ASN. OPTIONAL — reused from the live committed global BGP when omitted, so a per-deployment run never rewrites the fabric's ASN. A supplied value that differs from the live one is REJECTED. To set a neighbour's ASN use each peer's remoteAs, not this.
firewallNoTarget firewall name (from firewalls.json). Required when multiple firewalls are configured; optional otherwise.
routerIdNoRouter ID (IPv4). OPTIONAL — reused from the live committed value when omitted; a differing supplied value is rejected.
templateYesPanorama template name (one per firewall)
peerGroupYes
deploymentYesShort unique label for this deployment (e.g. 'istanbul-branch-01'). Every created object is prefixed with it, and it must not collide with any existing name — it is the ownership boundary that keeps prod safe.
policyModeNoBGP policy intent. 'none' requires both rule arrays empty; 'explicit' requires at least one import and one export rule. Omission preserves legacy behavior and returns a warning.
exportRulesYes
importRulesYes
virtualRouterNoVirtual router name (Legacy Virtual Router). OPTIONAL — auto-detected from the template's single virtual-router when omitted. Falls back to 'default'/'vr_root' if detection is inconclusive.
pruneOwnedRulesNoWhen policyMode is explicit or none, delete stale deployment-owned import/export rules that are not in the desired set. Unowned rules are never deleted.
reconcileOwnedRulesNoAlias for pruneOwnedRules. Requires policyMode and reconciles only stale deployment-owned import/export rules.
Install Server

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/destructiveHint annotations, the description discloses substantial behavioral details: it only plans mutations without committing or pushing, it returns a legacy plan wrapper plus planId/planHash/summary metadata, it preserves legacy policy behavior with a warning when policyMode is omitted, and it rejects peers without a local-address. These are non-obvious traits that materially affect how an agent uses the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: purpose, policyMode semantics, return shape, IPsec prerequisite, addressing constraint, safety boundary, and verification caveat. It is front-loaded with the core purpose and remains compact despite the tool's 15-parameter complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex nested-object tool with no output schema, the description covers the essential operational context: what the plan contains, what it returns, what must exist before calling it, what constraints apply to peer addressing, and that it does not mutate the live firewall. Combined with the high-coverage input schema, an agent has enough to decide when and how to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so most parameters are already documented. The description adds meaningful semantic value beyond the schema by explaining policyMode's intentionality behavior, the IPsec-derived addressing requirement for local-address and peer-address, and the PAN-OS rejection of peers without a local-address. This is important context the schema alone does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Plans ordered BGP candidate mutations' and enumerates exactly what those mutations cover (global enable, router-id, local-as, peer group, peers, import/export rules). It also distinguishes this from apply/commit tools by stating 'Candidate configuration only; no commit or push is performed,' making the tool's role in the sibling pipeline clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong usage context: it requires a prior IPsec apply, describes the addressing constraint, and warns that runtime verification needs a prior manual commit and push. It does not explicitly name alternative sibling tools or state when not to use this tool, but the prerequisites and candidate-only behavior effectively scope when it should be invoked.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

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/yaylaerkan/palo-alto-bgp-ipsec'

If you have feedback or need assistance with the MCP directory API, please join our Discord server