Skip to main content
Glama
initMAX

Zabbix MCP Server

ceprule_get

Read-only

Retrieve complex event processing (CEP) rules to match problem events by name, tags, severity, host, or time, collect them in windows, and run operations like close, discard, or set severity.

Instructions

Retrieve CEP rules (Zabbix 8.0+ complex event processing): the rules that match incoming problem events by name, tags, severity, host, host group or time period, collect them in a time or count window (window_type 0 none, 1 simple window, 2 cause / symptom, 3 simple window once, 4 pattern match) and run operations on them (close, discard, set or change severity, suppress, add / set / rename / remove tags, clone, set cause, close the window). Use selectFilter, selectWindow and selectOperations in extra_params for the full rule; 'error' carries the server's last processing error. Not documented in the API reference yet.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return.
filterNoReturn only results whose properties exactly match the given values (a single value or a list of values per key). Example: {"status": 0} or {"status": [0, 1]}. Only these keys are accepted: cep_ruleid, name, window_type, stop, sortorder, status. Text properties cannot be filtered; use 'search' for them.
outputNoProperties of the ceprule object to return. Pass 'extend' for all, 'count' for the number of matches only, or a comma-separated list of property names. Default when omitted: cep_ruleid, name, status, window_type, stop, sortorder. Properties: cep_ruleid, description, error, name, sortorder, status, stop, window_type.
searchNoReturn results whose string properties contain the given pattern (case-insensitive; '*' is a wildcard when searchWildcardsEnabled is true). Example: {"name": "web"}. Only these keys are accepted: name, description, error.
serverNoTarget Zabbix server. Available: default. Defaults to 'default' if omitted.
raw_jsonNoStrips the security disclaimer preamble from the response so it is pure JSON. Default: false. Requires the bearer token to have 'allow_raw_json' explicitly enabled by an operator in the admin portal - tokens without that policy receive a PolicyError instead. WARNING: setting true bypasses the prompt-injection mitigation marker that wraps untrusted Zabbix data (host names, item descriptions, problem text). LLM clients (Claude, GPT, Cursor, ...) should leave this false; only programmatic non-LLM consumers (Python scripts, n8n workflows that json.loads the result) should set true.
sortfieldNoSort by one or more of: cep_ruleid, name, stop, sortorder, status (comma-separated for several; pair with 'sortorder'). No other property is sortable.
sortorderNoSort order: 'ASC' or 'DESC'.
cep_ruleidsNoReturn only CEP rules with the given IDs.
countOutputNoReturn the count of matching rules instead of the records.
extra_paramsNoOther native ceprule.get parameters, merged into the request as-is. Sub-object selects (value 'extend', 'count' or a list of property names): selectFilter, selectOperations, selectWindow. Any other key is refused here, because Zabbix would silently ignore it. For a parameter you are sure exists on your release but is not listed, use zabbix_raw_api_call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.41.0

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds two genuinely useful behavioral facts: that 'error' holds the server's last processing error, and that the endpoint is not yet in the API reference (so behavior may drift). It says nothing about pagination, rate limits, or response size, so it is a modest addition rather than a rich one.

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

Conciseness4/5

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

Front-loaded with purpose and appropriately sized for an 11-parameter tool, but the opening sentence is a long run-on that packs the matching criteria, window types and all operations into one breath, which dilutes scannability. The two follow-up sentences are tight and each 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?

With an output schema present, return values need not be described, and the description correctly focuses on domain context, the undocumented-status caveat, and routing to zabbix_raw_api_call for parameters absent from this release. The only gap is guidance on result volume/pagination for a list endpoint that may return many rules.

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 coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks: the window_type code table (0 none, 1 simple window, 2 cause/symptom, 3 simple window once, 4 pattern match) appears nowhere in the schema, and it clarifies the selectFilter/selectWindow/selectOperations sub-selects. These are real additions beyond the structured fields.

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?

Specific verb ('Retrieve') plus a precisely scoped resource ('CEP rules (Zabbix 8.0+ complex event processing)'), with the matching semantics (name, tags, severity, host, host group, time period), window types and operations spelled out. An agent can distinguish this from siblings like correlation_get or action_get without opening any schema.

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 explains what CEP rules are and therefore implies when the tool is relevant, but it never states when to use it versus alternatives (correlation_get, problem_get, or zabbix_raw_api_call for unlisted parameters) and gives no prerequisites or exclusions. Usage is inferable rather than explicit.

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