Skip to main content
Glama
Antxine

PanOS MCP Server

by Antxine

search_logs

Read-only

Search Panorama logs for traffic, threat, URL, and more using structured filters and a time window. Returns trimmed entries with a '_why' explanation for blocked events.

Instructions

[READ-ONLY] Searches logs stored on Panorama (traffic, threat, url, wildfire, data, globalprotect, userid, auth, decryption, system) with structured filters and a time window. Returns trimmed entries, each with a '_why' explanation of what blocked it. Structured filters are server-side for traffic/threat/url/wildfire/data/decryption; for other types user and src_ip are matched locally.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNoApp-ID name (e.g. 'sharepoint-online-uploading')
ruleNoSecurity rule name
userNoUser name, with or without domain (e.g. 'jdoe' or 'corp\\jdoe')
queryNoExtra raw PAN-OS filter, ANDed (e.g. "( severity geq high )")
actionNoExact action (allow, deny, drop, block-url, reset-both, ...)
dst_ipNoDestination IP or CIDR
periodNoRelative time window on receive_time (default: last-24-hrs)
src_ipNoSource IP or CIDR
dst_portNoDestination port
end_timeNoAbsolute end 'YYYY/MM/DD HH:MM:SS'
firewallNoPanorama entry from firewalls.json. Optional when a single Panorama is configured.
log_typeYesLog type to search
all_fieldsNoReturn every log field instead of the useful subset
start_timeNoAbsolute start 'YYYY/MM/DD HH:MM:SS' (Panorama timezone); overrides period
max_resultsNoMaximum entries returned (default: 50)
only_blockedNoOnly non-allowed events
url_containsNoSubstring of the URL (url/threat logs)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.30

TDQS

A3.9/5.0
Behavior4/5

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

With readOnlyHint=true and destructiveHint=false already covering safety, the description adds valuable behavior: it returns trimmed entries, includes a '_why' explanation of blocks, and discloses that some filters are applied server-side while user/src_ip are matched locally for other log types. This goes beyond the annotations without contradicting them.

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?

Two sentences carry a lot of information with no filler: the read-only marker, log types, filter capability, time window, return format, and a key behavioral caveat. The most important scoping information is front-loaded and every clause earns its place.

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

Completeness4/5

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

For a tool with 17 parameters and no output schema, the description covers the essential purpose, return shape, and a critical behavioral distinction (server-side vs local filtering). It does not fully describe every return field or edge-case behavior, but combined with the rich schema, this is sufficient for an agent to invoke it 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?

The input schema has 100% parameter coverage with helpful descriptions, enums, and defaults, so the baseline is 3. The description adds extra semantic value by clarifying how structured filters behave depending on log type (server-side vs local matching for user and src_ip), which is not captured in the schema.

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

Purpose4/5

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

The description states a specific verb ('Searches') and resource ('logs stored on Panorama'), enumerates ten log types, and mentions structured filters, time windows, and a '_why' explanation. It is clear and specific, but it does not explicitly differentiate itself from sibling tools like get_traffic_logs or get_threat_logs, so it does not earn a 5.

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

Usage Guidelines3/5

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

The description implies usage context: it is for searching Panorama logs across many types with structured filters and time windows. It also notes which filters are server-side vs local, which is useful operational guidance, but it never explicitly says when to prefer search_logs over the dedicated get_*_logs siblings.

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

Deploy Server

Other Tools