Skip to main content
Glama
initMAX

Zabbix MCP Server

user_login

Read-only

Authenticate with a Zabbix username and password to obtain a session token for subsequent API calls; optionally return full user details.

Instructions

Authenticate a user and obtain a session ID (auth token). The returned token is used for subsequent API calls. If userData is true, the response also includes the full user object (userid, username, role, groups, etc.). This is the standard way to start an API session when not using persistent API tokens.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serverNoTarget Zabbix server. Available: default. Defaults to 'default' if omitted.
passwordYesPassword for the user.
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.
userDataNoReturn additional user info (userid, name, role, etc.) alongside the session token.
usernameYesZabbix username to authenticate.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.41.0

TDQS

A4/5.0
Behavior4/5

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

Beyond the readOnlyHint/openWorldHint annotations, the description discloses that the returned token is reused for subsequent calls and that userData=true enriches the response. It doesn't cover token lifetime/expiry or logout expectations, but the annotations already establish the safety profile.

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?

Three tight sentences, front-loaded with the core action and result, then conditional behavior, then routing context. No filler and nothing wasted.

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?

An output schema exists, so return values needn't be detailed. The description covers auth flow, token reuse, and the userData branch, which is sufficient for an auth entry point. Minor gaps remain around session durability and prerequisites, but nothing blocks correct invocation.

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%, so all five parameters (including the richly documented raw_json) are already explained in the schema. The description's note about userData largely restates the schema's own wording, adding little beyond the structured definition. Baseline 3 is correct.

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 and resource: 'Authenticate a user and obtain a session ID (auth token),' and explains the token's purpose. It is unambiguous, but it never distinguishes itself from the sibling user_checkauthentication, which could be confused with an actual login.

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?

It gives clear situational context: 'the standard way to start an API session when not using persistent API tokens.' That tells the agent when this is the right entry point. It stops short of naming alternatives (e.g. user_checkauthentication for validation-only) or exclusions, so no explicit when-not guidance.

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