Skip to main content
Glama
initMAX

Zabbix MCP Server

itemprototype_get

Read-only

Retrieve item prototypes used by low-level discovery rules to define the items created for each discovered entity. Filter by hosts, templates, discovery rules, or properties.

Instructions

Retrieve item prototypes. Item prototypes are templates used by LLD rules to create real items for each discovered entity. For example, a filesystem discovery rule uses an item prototype to create disk space items for each discovered mount point.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results 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]}. Keys: allow_traps, authtype, delay, discover, enabled_lifetime (7.0+), enabled_lifetime_type (7.0+), evaltype, flags (7.4+), follow_redirects, formula, granularity (8.0+), history, hostid, http_proxy, interfaceid, inventory_link, ipmi_sensor, itemid, jmx_endpoint, key_, lifetime, lifetime_type (7.0+), logtimefmt, lookback_limit (8.0+), master_itemid, name, output_format, password, post_type, privatekey, publickey, request_method, retrieve_mode, snmp_oid, ssl_cert_file, ssl_key_file, ssl_key_password, status, status_codes, templateid, time_shift (8.0+), timeout, trapper_hosts, trends, type, units, url, username, uuid (6.0+), value_type, valuemapid, verify_host, verify_peer. Text properties cannot be filtered; use 'search' for them.
outputNoProperties of the itemprototype 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: itemid, hostid, name, key_, status, value_type. Properties: allow_traps, authtype, delay, description, discover, enabled_lifetime (7.0+), enabled_lifetime_type (7.0+), evaltype, flags (7.4+), follow_redirects, formula, granularity (8.0+), headers, history, hostid, http_proxy, interfaceid, inventory_link, ipmi_sensor, itemid, jmx_endpoint, key_, lifetime, lifetime_type (7.0+), logtimefmt, lookback_limit (8.0+), master_itemid, name, output_format, parameters (6.0+), params, password, post_type, posts, privatekey, publickey, query (8.0+), query_fields, request_method, retrieve_mode, ruleid (removed in 6.4), snmp_oid, ssl_cert_file, ssl_key_file, ssl_key_password, status, status_codes, templateid, time_shift (8.0+), timeout, trapper_hosts, trends, type, units, url, username, uuid (6.0+), value_type, valuemapid, verify_host, verify_peer.
searchNoReturn results whose string properties contain the given pattern (case-insensitive; '*' is a wildcard when searchWildcardsEnabled is true). Example: {"name": "web"}. Keys: delay, description, formula, granularity (8.0+), history, http_proxy, ipmi_sensor, jmx_endpoint, key_, logtimefmt, lookback_limit (8.0+), name, params, password, posts, privatekey, publickey, snmp_oid, ssl_cert_file, ssl_key_file, ssl_key_password, status_codes, time_shift (8.0+), timeout, trapper_hosts, trends, units, url, username, uuid (6.0+).
serverNoTarget Zabbix server. Available: default. Defaults to 'default' if omitted.
hostidsNoReturn only item prototypes that belong to the given hosts.
itemidsNoReturn only item prototypes with the given IDs.
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: itemid, name, key_, delay, type, status, history, trends, discover (comma-separated for several; pair with 'sortorder'). No other property is sortable.
sortorderNoSort order: 'ASC' (ascending) or 'DESC' (descending).
countOutputNoReturn the count of matching results instead of the actual data.
searchByAnyNoIf true, return results matching ANY search field (OR). Default is ALL fields (AND).
templateidsNoReturn only item prototypes that belong to the given templates.
discoveryidsNoReturn only item prototypes belonging to the given LLD rules.
extra_paramsNoOther native itemprototype.get parameters, merged into the request as-is. Parameters: graphids, inherited, limitSelects, monitored, templated, triggerids. Sub-object selects (value 'extend', 'count' or a list of property names): selectDiscoveryData (7.4+), selectDiscoveryRule, selectDiscoveryRulePrototype (7.4+), selectGraphs, selectHosts, selectInheritedTags (8.0+), selectPreprocessing, selectTags (6.0+), selectTriggers, selectValueMap (6.0+). 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.
searchWildcardsEnabledNoIf true, enable * and ? wildcards in search patterns.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.41.0

TDQS

B3.2/5.0
Behavior2/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 only domain semantics about what a prototype is; it discloses nothing operational such as pagination, default output shape, or auth/policy constraints (that burden falls entirely on the schema).

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?

Three short sentences, front-loaded with the verb and resource, followed by the definition and example. Well-structured, though the illustrative sentence is slightly more than the minimum needed to act.

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

Completeness3/5

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

For a read-only tool with a rich, fully-covered schema and an output schema, the description is adequate. However, with 16 parameters including filter vs search vs extra_params distinctions, it offers no guidance on the filtering model, leaving a gap an agent must close from the schema alone.

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

Parameters3/5

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

Schema description coverage is 100% (16 params, all documented in-schema), so the baseline is 3. The description contributes no parameter-level meaning at all, adding nothing beyond what the schema already provides.

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?

States a specific verb (Retrieve) and resource (item prototypes), and goes further by defining what an item prototype is versus a real item, with a concrete LLD example. It does not name sibling tools like item_get or discoveryrule_get, so affinity must be inferred from concept.

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 explanation of prototypes and the filesystem-discovery example implicitly help an agent judge when this tool is relevant, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. item_get for materialized items). Guidance is implied rather than stated.

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