Zabbix MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zabbix MCP Servershow all active problems on critical hosts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zabbix MCP Server
A comprehensive Model Context Protocol (MCP) server for integrating with Zabbix monitoring systems. This server provides complete Zabbix API functionality through a standardized interface, enabling seamless monitoring, alerting, and infrastructure management with modern authentication and a clean, professional interface.
๐ Features
๐ Modern Authentication - API Token (Zabbix 5.4+) and Username/Password support
๐งน Clean Interface - Professional, modern API without legacy baggage
90+ API Tools across 19 categories for comprehensive monitoring management
Complete Zabbix Integration with all major API endpoints
Enterprise-Grade Functionality including maps, dashboards, proxies, and services
Comprehensive Schema Validation with Zod type safety
Modular Architecture with clean separation of concerns
Production Ready with robust error handling and logging
Related MCP server: Zabbix MCP Server
๐ Quick Stats
๐ Dual Authentication - API Token (recommended) + Username/Password
19 Tool Categories covering all Zabbix functionality
90+ Individual Tools for granular control
100% Type Safe with Zod schema validation
Modular Design with API and tools layers
Enterprise Features including business services and SLA monitoring
๐ Authentication Methods
๐ซ API Token Authentication (Recommended)
Best for: Production environments, CI/CD, automated systems
ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
ZABBIX_API_TOKEN=your_api_token_hereBenefits:
โ More secure (no password exposure)
โ No login/logout required (direct token usage)
โ Easy revocation (token management in Zabbix UI)
โ Long-lived (configurable expiration)
โ Audit-friendly (token usage tracking)
๐ Username/Password Authentication (Traditional)
Best for: Development, testing, legacy systems
ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
ZABBIX_USERNAME=Admin
ZABBIX_PASSWORD=your_passwordFeatures:
โ Session-based authentication with auto-refresh
โ Automatic login/logout handling
โ Compatible with all Zabbix versions
โ Familiar authentication flow
๐๏ธ Tool Categories Overview
๐ Authentication & Core (3 tools)
Session management and API authentication
User login/logout functionality
API version information
๐ฅ๏ธ Infrastructure Management
Hosts (3 tools) - Host discovery, creation, and management
Host Groups (4 tools) - Logical host organization and grouping
Proxies (4 tools) - Distributed monitoring with active/passive proxies
Items (5 tools) - Data collection configuration and monitoring
Triggers (4 tools) - Alert condition definition and management
๐ Monitoring & Alerting
Problems (2 tools) - Active issue tracking and resolution
History (3 tools) - Historical data retrieval and analysis
Maintenance (4 tools) - Scheduled maintenance window management
Actions (6 tools) - Automated response and escalation workflows
๐ฏ Advanced Features
Templates (6 tools) - Reusable monitoring configurations
Scripts (6 tools) - Remote script execution and management
Discovery (6 tools) - Low-level discovery and auto-registration
Services (5 tools) - Business service monitoring and SLA tracking
๐จ Visualization & Reporting
Maps (12 tools) - Network topology and value/icon mapping
Dashboards (4 tools) - Custom visualization and widget management
๐ข Communication & Integration
Media (7 tools) - Notification channels and alert delivery
Users (6 tools) - User and user group management
Configuration (3 tools) - Import/export and backup functionality
๐ Quick Start
Prerequisites
Node.js 18+
npm or yarn
Zabbix server with API access
Valid Zabbix credentials (API token or username/password)
Installation
git clone <repository-url>
cd zabbix-mcp-server
npm installConfiguration
Option 1: API Token Authentication (Recommended)
Generate API token in Zabbix UI:
Administration โ General โ Tokens โ Create tokenCreate
.envfile:
ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
ZABBIX_API_TOKEN=your_api_token_hereOption 2: Username/Password Authentication
Create .env file:
ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
ZABBIX_USERNAME=Admin
ZABBIX_PASSWORD=your_passwordRunning the Server
# Start the MCP server (stdio mode)
npm start
# Or run directly
node src/index.js
# HTTP mode (for development)
MCP_TRANSPORT_MODE=http npm startLog output:
[INFO] [Zabbix API Client] Using API token authentication (Zabbix 5.4+)
[INFO] [Zabbix API Client] Connected to Zabbix API version: 6.0.0
[INFO] MCP Server started successfully๐ MCP Configuration
To use this server with Claude Desktop, Cursor IDE, or other MCP-compatible clients, you need to add it to your MCP configuration file.
For Claude Desktop (Windows/Mac/Linux)
Add the following configuration to your claude_desktop_config.json file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonMac:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
API Token Authentication (Recommended)
{
"mcpServers": {
"zabbix-mcp": {
"command": "node",
"args": [
"/path/to/your/zabbix-mcp-server/src/index.js"
],
"env": {
"ZABBIX_API_URL": "https://your-zabbix-server/api_jsonrpc.php",
"ZABBIX_API_TOKEN": "your_api_token_here"
}
}
}
}Username/Password Authentication
{
"mcpServers": {
"zabbix-mcp": {
"command": "node",
"args": [
"/path/to/your/zabbix-mcp-server/src/index.js"
],
"env": {
"ZABBIX_API_URL": "https://your-zabbix-server/api_jsonrpc.php",
"ZABBIX_USERNAME": "Admin",
"ZABBIX_PASSWORD": "your_password"
}
}
}
}For Cursor IDE
Add the following configuration to your mcp.json file in your Cursor settings directory:
Windows:
%APPDATA%\Cursor\User\mcp.jsonMac:
~/Library/Application Support/Cursor/User/mcp.jsonLinux:
~/.config/Cursor/User/mcp.json
API Token Authentication (Recommended)
{
"mcpServers": {
"zabbix-mcp": {
"command": "node",
"args": [
"/path/to/your/zabbix-mcp-server/src/index.js"
],
"env": {
"ZABBIX_API_URL": "https://your-zabbix-server/api_jsonrpc.php",
"ZABBIX_API_TOKEN": "your_api_token_here"
}
}
}
}Username/Password Authentication
{
"mcpServers": {
"zabbix-mcp": {
"command": "node",
"args": [
"/path/to/your/zabbix-mcp-server/src/index.js"
],
"env": {
"ZABBIX_API_URL": "https://your-zabbix-server/api_jsonrpc.php",
"ZABBIX_USERNAME": "Admin",
"ZABBIX_PASSWORD": "your_password"
}
}
}
}Configuration Notes
Replace the path: Update
/path/to/your/zabbix-mcp-server/src/index.jswith the actual path to your installationReplace credentials: Update with your actual Zabbix server URL and credentials
Server name: You can change
zabbix-mcpto any name you preferAdditional variables: Add any other environment variables as needed (e.g.,
LOG_LEVEL=debug)
Getting Your Zabbix Credentials
For API Token Authentication (Recommended)
Prerequisites:
Zabbix server version 5.4 or higher
User account with appropriate permissions
Access to Zabbix web interface
Step-by-step instructions:
Log in to your Zabbix web interface
Navigate to
Administration โ General โ TokensClick
Create tokenbuttonConfigure your token:
Name:
MCP Server Token(or any descriptive name)User: Select the user account
Expires at: Set expiration date (optional, recommended for security)
Description: Optional description
Click
Addto create the tokenCopy the generated token (you won't be able to see it again)
Paste the token into your MCP configuration file
For Username/Password Authentication
Prerequisites:
Zabbix server version 5.0 or higher
Valid user account with API access permissions
Required information:
ZABBIX_API_URL: Your Zabbix server API endpoint (usually
https://your-server/api_jsonrpc.php)ZABBIX_USERNAME: Your Zabbix username (e.g.,
Admin)ZABBIX_PASSWORD: Your Zabbix password
Testing Your Configuration
You can verify your configuration works by testing it with curl:
API Token Test
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "apiinfo.version",
"params": {},
"auth": "your_api_token_here",
"id": 1
}' \
https://your-zabbix-server/api_jsonrpc.phpUsername/Password Test
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "your_password"
},
"id": 1
}' \
https://your-zabbix-server/api_jsonrpc.phpSecurity Notes
Keep credentials secure and don't share them publicly
Use API tokens in production environments for better security
Set token expiration dates for enhanced security
Use HTTPS for your Zabbix server to encrypt communication
Limit user permissions to only what's needed for monitoring
Regularly rotate API tokens and passwords
Restart Required
After updating your MCP configuration, restart Claude Desktop or your IDE for the changes to take effect.
Troubleshooting MCP Configuration
Common Issues
Server not appearing in client
Verify the path to
src/index.jsis correctCheck that Node.js is installed and accessible
Restart your MCP client
Authentication errors
Verify your Zabbix server URL is correct
Check that your API token or credentials are valid
Ensure your user has API access permissions
Connection timeouts
Check network connectivity to your Zabbix server
Verify firewall settings allow the connection
Test with curl commands above
Debug Mode
Add debug logging to troubleshoot issues:
{
"mcpServers": {
"zabbix-mcp": {
"command": "node",
"args": ["/path/to/your/zabbix-mcp-server/src/index.js"],
"env": {
"ZABBIX_API_URL": "https://your-zabbix-server/api_jsonrpc.php",
"ZABBIX_API_TOKEN": "your_api_token_here",
"LOG_LEVEL": "debug"
}
}
}
}๐ง Modern API Interface
The server provides a clean, modern interface for programmatic access:
const { request, getVersion, checkConnection } = require('./src/api/zabbix-client');
// Get API version
const version = await getVersion();
console.log(`Zabbix API Version: ${version}`);
// Check connection
const connected = await checkConnection();
console.log(`Connected: ${connected}`);
// Make API calls
const hosts = await request('host.get', {
output: ['hostid', 'host', 'name'],
selectInterfaces: ['interfaceid', 'ip']
});
const problems = await request('problem.get', {
output: 'extend',
selectTags: 'extend',
recent: true
});Available Methods:
getClient()- Get authenticated client instancerequest(method, params)- Make API callscheckConnection()- Check connection statusdisconnect()- Disconnect and cleanupgetVersion()- Get API version
๐ Comprehensive Tool Reference
๐ Authentication Tools (3 tools)
zabbix_login
Authenticate with Zabbix server and establish session
Parameters:
username,passwordReturns: Authentication token and session info
Note: Automatic with API token authentication
zabbix_logout
Terminate current Zabbix session
Parameters: None (uses current session)
Returns: Logout confirmation
zabbix_get_api_info
Get Zabbix API version and server information
Parameters: None
Returns: API version, server details
๐ฅ๏ธ Host Management Tools (3 tools)
zabbix_get_hosts
Retrieve hosts with comprehensive filtering options
Parameters:
hostids,groupids,output,selectGroups,selectInterfaces, etc.Returns: Array of host objects with detailed information
zabbix_create_host
Create new host with interfaces and group assignments
Parameters:
host,name,groups,interfaces,templates,inventory, etc.Returns: Created host ID and confirmation
zabbix_update_host
Update existing host configuration
Parameters:
hostid,host,name,groups,interfaces,status, etc.Returns: Update confirmation
๐ฅ Host Groups Tools (4 tools)
zabbix_get_hostgroups
Get host groups with filtering and host information
Parameters:
groupids,output,selectHosts,filter,search, etc.Returns: Array of host group objects
zabbix_create_hostgroup
Create new host group
Parameters:
nameReturns: Created group ID
zabbix_update_hostgroup
Update host group properties
Parameters:
groupid,nameReturns: Update confirmation
zabbix_delete_hostgroups
Delete multiple host groups
Parameters:
groupids(array)Returns: Deletion confirmation
๐ Items Management Tools (5 tools)
zabbix_get_items
Retrieve monitoring items with comprehensive options
Parameters:
itemids,hostids,groupids,output,selectHosts, etc.Returns: Array of item objects with monitoring data
zabbix_create_item
Create new monitoring item
Parameters:
hostid,name,key_,type,value_type,delay, etc.Returns: Created item ID
zabbix_update_item
Update existing item configuration
Parameters:
itemid,name,key_,delay,status, etc.Returns: Update confirmation
zabbix_delete_items
Delete multiple items
Parameters:
itemids(array)Returns: Deletion confirmation
zabbix_get_item_history
Retrieve historical data for items
Parameters:
itemids,history,time_from,time_till,limit, etc.Returns: Historical data points
โ ๏ธ Triggers Management Tools (4 tools)
zabbix_get_triggers
Get triggers with filtering and dependency information
Parameters:
triggerids,hostids,groupids,output,selectHosts, etc.Returns: Array of trigger objects
zabbix_create_trigger
Create new trigger with expression and dependencies
Parameters:
description,expression,priority,status, etc.Returns: Created trigger ID
zabbix_update_trigger
Update trigger configuration
Parameters:
triggerid,description,expression,priority, etc.Returns: Update confirmation
zabbix_delete_triggers
Delete multiple triggers
Parameters:
triggerids(array)Returns: Deletion confirmation
๐จ Problems Management Tools (2 tools)
zabbix_get_problems
Get current problems with filtering options
Parameters:
hostids,groupids,objectids,severities,time_from, etc.Returns: Array of current problems
zabbix_acknowledge_problems
Acknowledge problems with messages and actions
Parameters:
eventids,message,action,severity, etc.Returns: Acknowledgment confirmation
๐ History Tools (3 tools)
zabbix_get_history
Retrieve historical monitoring data
Parameters:
history,itemids,time_from,time_till,limit, etc.Returns: Historical data points
zabbix_get_trends
Get trend data for long-term analysis
Parameters:
itemids,time_from,time_till,limitReturns: Aggregated trend data
zabbix_get_events
Retrieve system events and alerts
Parameters:
eventids,hostids,objectids,time_from, etc.Returns: Array of events
๐ง Maintenance Tools (4 tools)
zabbix_get_maintenances
Get maintenance periods with host and group information
Parameters:
maintenanceids,hostids,groupids,output, etc.Returns: Array of maintenance periods
zabbix_create_maintenance
Create new maintenance window
Parameters:
name,active_since,active_till,hosts,groups, etc.Returns: Created maintenance ID
zabbix_update_maintenance
Update maintenance period configuration
Parameters:
maintenanceid,name,active_since,active_till, etc.Returns: Update confirmation
zabbix_delete_maintenances
Delete maintenance periods
Parameters:
maintenanceids(array)Returns: Deletion confirmation
๐ค User Management Tools (6 tools)
zabbix_get_users
Get users with group and media information
Parameters:
userids,output,selectUsrgrps,selectMedias, etc.Returns: Array of user objects
zabbix_create_user
Create new user account
Parameters:
username,passwd,name,surname,usrgrps, etc.Returns: Created user ID
zabbix_update_user
Update user account information
Parameters:
userid,username,name,surname,passwd, etc.Returns: Update confirmation
zabbix_delete_users
Delete user accounts
Parameters:
userids(array)Returns: Deletion confirmation
zabbix_get_usergroups
Get user groups with permissions
Parameters:
usrgrpids,output,selectUsers,selectRights, etc.Returns: Array of user group objects
zabbix_create_usergroup
Create new user group
Parameters:
name,gui_access,users_status,rights, etc.Returns: Created group ID
๐ Template Management Tools (6 tools)
zabbix_get_templates
Get templates with items, triggers, and graphs
Parameters:
templateids,hostids,groupids,output, etc.Returns: Array of template objects
zabbix_create_template
Create new template
Parameters:
host,name,groups,description, etc.Returns: Created template ID
zabbix_update_template
Update template configuration
Parameters:
templateid,host,name,groups, etc.Returns: Update confirmation
zabbix_delete_templates
Delete templates
Parameters:
templateids(array)Returns: Deletion confirmation
zabbix_link_templates
Link templates to hosts
Parameters:
hostids,templateidsReturns: Link confirmation
zabbix_unlink_templates
Unlink templates from hosts
Parameters:
hostids,templateidsReturns: Unlink confirmation
๐ง Scripts Management Tools (6 tools)
zabbix_get_scripts
Get scripts with filtering by type and scope
Parameters:
scriptids,hostids,groupids,output, etc.Returns: Array of script objects
zabbix_create_script
Create script for remote execution
Parameters:
name,command,type,scope,host_access, etc.Returns: Created script ID
zabbix_update_script
Update script configuration
Parameters:
scriptid,name,command,type, etc.Returns: Update confirmation
zabbix_delete_scripts
Delete scripts
Parameters:
scriptids(array)Returns: Deletion confirmation
zabbix_execute_script
Execute script on hosts
Parameters:
scriptid,hostid,manualinputReturns: Execution result
zabbix_get_script_execution_history
Get script execution history from events
Parameters:
hostids,time_from,time_till,limitReturns: Execution history
๐ Discovery Tools (6 tools)
zabbix_get_discovery_rules
Get low-level discovery rules
Parameters:
itemids,hostids,output,selectItemPrototypes, etc.Returns: Array of LLD rules
zabbix_create_discovery_rule
Create LLD rule with prototypes
Parameters:
hostid,name,key_,delay,filter, etc.Returns: Created rule ID
zabbix_update_discovery_rule
Update LLD rule configuration
Parameters:
itemid,name,key_,delay, etc.Returns: Update confirmation
zabbix_delete_discovery_rules
Delete LLD rules
Parameters:
ruleids(array)Returns: Deletion confirmation
zabbix_get_discovered_hosts
Get hosts discovered by network discovery
Parameters:
dhostids,druleids,output, etc.Returns: Array of discovered hosts
zabbix_get_discovered_services
Get services discovered by network discovery
Parameters:
dserviceids,dhostids,output, etc.Returns: Array of discovered services
๐ข Media & Notifications Tools (7 tools)
zabbix_get_media_types
Get media types with filtering
Parameters:
mediatypeids,output,filter,search, etc.Returns: Array of media type objects
zabbix_create_media_type
Create media type for notifications
Parameters:
name,type,smtp_server,smtp_helo, etc.Returns: Created media type ID
zabbix_update_media_type
Update media type configuration
Parameters:
mediatypeid,name,type,status, etc.Returns: Update confirmation
zabbix_delete_media_types
Delete media types
Parameters:
mediatypeids(array)Returns: Deletion confirmation
zabbix_test_media_type
Test media type delivery
Parameters:
mediatypeid,sendto,subject,messageReturns: Test result
zabbix_get_user_media
Get user notification settings
Parameters:
userids,mediatypeids,output, etc.Returns: User media configurations
zabbix_get_alerts
Get sent notifications and alerts
Parameters:
alertids,actionids,eventids,time_from, etc.Returns: Array of alert records
โก Actions & Escalations Tools (6 tools)
zabbix_get_actions
Get actions with comprehensive filtering
Parameters:
actionids,hostids,triggerids,output, etc.Returns: Array of action objects
zabbix_create_action
Create automated response action
Parameters:
name,eventsource,status,filter,operations, etc.Returns: Created action ID
zabbix_update_action
Update action configuration
Parameters:
actionid,name,status,filter, etc.Returns: Update confirmation
zabbix_delete_actions
Delete actions
Parameters:
actionids(array)Returns: Deletion confirmation
zabbix_get_correlations
Get event correlations
Parameters:
correlationids,output,filter, etc.Returns: Array of correlation objects
zabbix_create_correlation
Create event correlation rule
Parameters:
name,filter,operations,statusReturns: Created correlation ID
๐บ๏ธ Maps Management Tools (12 tools)
Value Maps (4 tools)
zabbix_get_value_maps- Get value maps for numeric-to-text conversionzabbix_create_value_map- Create value mapping ruleszabbix_update_value_map- Update value map configurationzabbix_delete_value_maps- Delete value maps
Icon Maps (4 tools)
zabbix_get_icon_maps- Get icon maps for inventory-based iconszabbix_create_icon_map- Create icon mapping ruleszabbix_update_icon_map- Update icon map configurationzabbix_delete_icon_maps- Delete icon maps
Network Maps (4 tools)
zabbix_get_maps- Get network topology mapszabbix_create_map- Create network map with elements and linkszabbix_update_map- Update map configurationzabbix_delete_maps- Delete network maps
๐ Dashboard Management Tools (4 tools)
zabbix_get_dashboards
Get dashboards with pages and widgets
Parameters:
dashboardids,output,selectPages, etc.Returns: Array of dashboard objects
zabbix_create_dashboard
Create dashboard with pages and widgets
Parameters:
name,pages,users,userGroups, etc.Returns: Created dashboard ID
zabbix_update_dashboard
Update dashboard configuration
Parameters:
dashboardid,name,pages, etc.Returns: Update confirmation
zabbix_delete_dashboards
Delete dashboards
Parameters:
dashboardids(array)Returns: Deletion confirmation
๐ Proxy Management Tools (4 tools)
zabbix_get_proxies
Get proxies with host and group information
Parameters:
proxyids,output,selectHosts, etc.Returns: Array of proxy objects
zabbix_create_proxy
Create proxy for distributed monitoring
Parameters:
name,operating_mode,address,port, etc.Returns: Created proxy ID
zabbix_update_proxy
Update proxy configuration
Parameters:
proxyid,name,operating_mode, etc.Returns: Update confirmation
zabbix_delete_proxies
Delete proxies
Parameters:
proxyids(array)Returns: Deletion confirmation
๐ Configuration Management Tools (3 tools)
zabbix_export_configuration
Export Zabbix configuration as XML/JSON
Parameters:
format,options(hosts, templates, etc.)Returns: Exported configuration string
zabbix_import_configuration
Import configuration from XML/JSON
Parameters:
format,source,rulesReturns: Import result
zabbix_import_compare_configuration
Compare configuration without importing
Parameters:
format,source,rulesReturns: Comparison results
๐ข Business Services Tools (5 tools)
zabbix_get_services
Get business services with hierarchy
Parameters:
serviceids,parentids,output, etc.Returns: Array of service objects
zabbix_create_service
Create business service for IT service monitoring
Parameters:
name,algorithm,parents,children, etc.Returns: Created service ID
zabbix_update_service
Update service configuration
Parameters:
serviceid,name,algorithm, etc.Returns: Update confirmation
zabbix_delete_services
Delete business services
Parameters:
serviceids(array)Returns: Deletion confirmation
zabbix_get_service_sla
Get SLA data for services
Parameters:
serviceids,intervalsReturns: SLA calculation results
๐๏ธ Architecture
Project Structure
โโโ src/
โ โโโ api/ # API layer modules
โ โ โโโ client.js # Zabbix API client
โ โ โโโ hosts.js # Host management API
โ โ โโโ items.js # Items API
โ โ โโโ triggers.js # Triggers API
โ โ โโโ maps.js # Maps API
โ โ โโโ dashboards.js # Dashboards API
โ โ โโโ services.js # Business services API
โ โ โโโ ... # Other API modules
โ โโโ tools/ # MCP tools layer
โ โ โโโ auth.js # Authentication tools
โ โ โโโ hosts.js # Host management tools
โ โ โโโ items.js # Items tools
โ โ โโโ triggers.js # Triggers tools
โ โ โโโ maps.js # Maps tools
โ โ โโโ dashboards.js # Dashboard tools
โ โ โโโ services.js # Services tools
โ โ โโโ index.js # Tool registration
โ โโโ utils/
โ โ โโโ logger.js # Logging utility
โ โโโ index.js # Main server entry point
โโโ docs/ # Documentation
โโโ examples/ # Usage examples
โโโ scripts/ # Utility scriptsDesign Principles
Modular Architecture: Clean separation between API layer and tools layer
Type Safety: Comprehensive Zod schema validation for all inputs
Error Handling: Robust error handling with detailed logging
Consistency: Uniform patterns across all tool categories
Extensibility: Easy to add new tools and functionality
๐ง Development
Adding New Tools
Create API Module (
src/api/newmodule.js):
const { request } = require('./zabbix-client');
async function getItems(params = {}) {
return await request('item.get', params);
}
module.exports = { newModuleApi: { getItems } };Create Tools Module (
src/tools/newmodule.js):
const { logger } = require('../utils/logger');
const api = require('../api');
const { z } = require('zod');
function registerTools(server) {
server.tool('tool_name', 'Description', {
param: z.string().describe('Parameter description')
}, async (args) => {
// Implementation
});
}
module.exports = { registerTools };Register Module in
src/api/index.jsandsrc/tools/index.js
Schema Validation
All tools use Zod schemas for type-safe validation:
const schema = z.object({
hostid: z.string().describe('Host ID'),
name: z.string().min(1).describe('Host name'),
groups: z.array(z.object({
groupid: z.string()
})).min(1).describe('Host groups')
});Error Handling
Consistent error handling pattern:
try {
const result = await api.someApi.someMethod(params);
logger.info(`Operation successful: ${result.length} items`);
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
} catch (error) {
logger.error('Operation failed:', error.message);
throw error;
}๐งช Testing
# Run all tests
npm test
# Run specific test suites
npm run test:unit
npm run test:integration
# Run with coverage
npm run test:coverage๐ Configuration
Environment Variables
API Token Authentication (Recommended)
# Required
ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
ZABBIX_API_TOKEN=your_api_token_here
# Optional
LOG_LEVEL=info
CACHE_TTL=300
ZABBIX_REQUEST_TIMEOUT=120000
MCP_TRANSPORT_MODE=stdioUsername/Password Authentication
# Required
ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
ZABBIX_USERNAME=Admin
ZABBIX_PASSWORD=your_password
# Optional
LOG_LEVEL=info
CACHE_TTL=300
ZABBIX_REQUEST_TIMEOUT=120000
MCP_TRANSPORT_MODE=stdioAdvanced Configuration
Create config/zabbix.json:
{
"api": {
"timeout": 30000,
"retries": 3,
"cache": {
"enabled": true,
"ttl": 300
}
},
"logging": {
"level": "info",
"format": "json"
}
}๐ Deployment
Docker
# Build image
docker build -t zabbix-mcp-server .
# Run container (API Token)
docker run -d \
--name zabbix-mcp \
-e ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php \
-e ZABBIX_API_TOKEN=your_api_token_here \
zabbix-mcp-server
# Run container (Username/Password)
docker run -d \
--name zabbix-mcp \
-e ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php \
-e ZABBIX_USERNAME=Admin \
-e ZABBIX_PASSWORD=your_password \
zabbix-mcp-serverDocker Compose
version: '3.8'
services:
zabbix-mcp:
build: .
environment:
# API Token Authentication (Recommended)
- ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
- ZABBIX_API_TOKEN=your_api_token_here
# Or Username/Password Authentication
# - ZABBIX_API_URL=https://your-zabbix-server/api_jsonrpc.php
# - ZABBIX_USERNAME=Admin
# - ZABBIX_PASSWORD=your_password
restart: unless-stopped๐ Monitoring & Observability
The server includes comprehensive logging and monitoring:
Structured Logging: JSON-formatted logs with correlation IDs
Performance Metrics: Request timing and success rates
Health Checks: Built-in health monitoring endpoints
Error Tracking: Detailed error reporting and stack traces
๐ค Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
Development Guidelines
Follow existing code patterns and conventions
Add comprehensive tests for new functionality
Update documentation for new tools
Ensure all tools have proper Zod schema validation
Include error handling and logging
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
Zabbix for the comprehensive monitoring platform
Model Context Protocol for the standardized interface
Zod for runtime type validation
๐ Support
Documentation: Check the comprehensive tool reference above
Issues: Report bugs and feature requests via GitHub Issues
Community: Join discussions in GitHub Discussions
Enterprise Support: Contact for enterprise support options
Built with โค๏ธ for the Zabbix monitoring community
Available Tools
102 toolszabbix_acknowledge_eventB
Acknowledges one or more events/problems in Zabbix.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Acknowledgment action bitmask: 1 (close problem), 2 (acknowledge), 4 (add message), 8 (change severity), 16 (unacknowledge), 32 (suppress for). Default: 6 (acknowledge + add message). | |
| message | No | Acknowledgment message. | Acknowledged via MCP |
| eventids | Yes | Array of event IDs to acknowledge. | |
| severity | No | New severity level (0-5) if changing severity. | |
| suppress_until | No | Suppress until timestamp if suppressing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral side effects. It only says 'acknowledges,' but the action bitmask in the schema shows the tool can also close problems, change severity, suppress, etc. This significant behavioral scope is undisclosed, making the description inadequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant information. It is front-loaded and easy to parse, though it omits important details, making it slightly under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (action bitmask with multiple behaviors), the description is too minimal. It does not mention the ability to close problems or change severity, nor does it describe expected outcomes or return values. The detailed schema partially compensates, but the description itself is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, providing detailed explanations, including the action bitmask and field purposes. The description adds no additional parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Acknowledges') and resource ('one or more events/problems in Zabbix'), distinguishing it from sibling tools such as zabbix_get_events and zabbix_get_problems. No ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for acknowledging events/problems but provides no explicit guidance on when to use it versus alternative tools or when not to use it. The context of the tool name and sibling list makes the usage inferable, but explicit exclusions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_actionB
Create a new action in Zabbix for automated responses to events
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the action | |
| filter | Yes | Action filter configuration | |
| status | No | Status: 0 (enabled), 1 (disabled) | |
| esc_period | No | Default escalation period | 1h |
| operations | Yes | Array of operations to perform | |
| r_longdata | No | Recovery long message template | |
| eventsource | Yes | Event source: 0 (trigger), 1 (discovery), 2 (auto registration), 3 (internal), 4 (service) | |
| r_shortdata | No | Recovery short message template | |
| ack_longdata | No | Update long message template | |
| def_longdata | No | Default long message template | |
| ack_shortdata | No | Update short message template | |
| def_shortdata | No | Default short message template | |
| pause_suppressed | No | Pause operations during maintenance | |
| update_operations | No | Update operations | |
| recovery_operations | No | Recovery operations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states that it creates an action, but does not mention that it writes to the Zabbix backend, may require authentication permissions, or could have side effects such as triggering automated responses. There is no context about reversibility or preconditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that precisely states the tool's purpose. Every word earns its place; there is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (15 nested parameters, no output schema), the description is too minimal. It doesn't explain how 'filter' and 'operations' work together to define an action, what the expected return value is, or what prerequisites must exist. The schema is comprehensive for parameters, but the description fails to provide an operational overview or context for the action creation workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description itself adds no parameter information, but the input schema provides detailed descriptions for all 15 parameters, including semantics, defaults, and nested structures. The description does not compensate beyond the schema but doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Create' and identifies the resource as 'a new action in Zabbix' with its purpose 'for automated responses to events'. This clearly distinguishes it from sibling tools like zabbix_get_actions, zabbix_update_action, and zabbix_delete_actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need to create a new Zabbix action, but it gives no explicit guidance on when to use it vs alternatives or any prerequisites (e.g., existing host groups, media types). It doesn't state exclusions, but the purpose is clear enough to infer basic usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_correlationC
Create a new event correlation in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the correlation | |
| filter | Yes | Correlation filter | |
| status | No | Status: 0 (enabled), 1 (disabled) | |
| operations | Yes | Array of correlation operations | |
| description | No | Description of the correlation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It only restates the tool's purpose (create) without disclosing any side effects, permissions, idempotency, or error behavior. This is essentially a tautology of the tool name and provides no additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately concise, though it is minimal to the point of under-specification for a tool with complex nested parameters. Still, it earns its place and is not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested objects and no output schema, but the description says nothing about return values, prerequisites, or how correlations fit into Zabbix's event management. It is too sparse to fully guide an agent, relying entirely on schema field descriptions for context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter information, but the schema fully documents each parameter, including nested structures like filter and operations. The description does not need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Create') and resource ('event correlation' in Zabbix), distinguishing it from sibling tools like zabbix_get_correlations or zabbix_delete_correlations. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention scenarios where creating a correlation is appropriate, nor does it distinguish from create-related tools for other resources. The description is purely declarative and offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_dashboardB
Create a new dashboard in Zabbix for data visualization
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the dashboard | |
| pages | Yes | Dashboard pages | |
| users | No | Dashboard user permissions | |
| userid | No | ID of the user that owns the dashboard. Defaults to the current API user if not set by a SuperAdmin | |
| private | No | Dashboard sharing type: 0 (public), 1 (private) | |
| auto_start | No | Automatically start dashboard slideshow: 0 (disabled), 1 (enabled) | |
| userGroups | No | Dashboard user group permissions | |
| display_period | No | Dashboard refresh interval in seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It specifies that a new dashboard is created, but does not disclose any permissions required, side effects (e.g., whether it can overwrite an existing dashboard), or what happens on success/failure. It also doesn't mention whether the operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb 'Create', and no unnecessary words. It is appropriately short for a simple CRUD operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (8 parameters, nested widget structures), yet the description is only a one-liner. It does not provide any high-level context about dashboard structure, page/widget requirements, or ownership defaults. The schema covers parameter details but the description offers no synthetic guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters in detail. The description adds no additional parameter meaning, such as typical values or relationships, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (creating) and the resource (a Zabbix dashboard), with 'new' distinguishing it from update/delete/get dashboard tools. It is specific to dashboards, not maps, despite both being visualization tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus updating or deleting dashboards, nor any prerequisites or context. It does not mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_discovery_ruleC
Create a new Low-Level Discovery (LLD) rule in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| key_ | Yes | Discovery rule key | |
| name | Yes | Name of the discovery rule | |
| type | Yes | Type of the discovery rule (0 - Zabbix agent, 2 - Zabbix trapper, 3 - simple check, etc.) | |
| delay | No | Update interval of the discovery rule | 30s |
| filter | No | Discovery rule filter | |
| hostid | Yes | ID of the host that the discovery rule belongs to | |
| status | No | Status of the discovery rule (0 - enabled, 1 - disabled) | |
| lifetime | No | Time period after which items that are no longer discovered will be deleted | 30d |
| description | No | Description of the discovery rule | |
| interfaceid | No | ID of the host interface to use | |
| preprocessing | No | Discovery rule preprocessing steps | |
| lld_macro_paths | No | LLD macro paths for JSON/XML discovery |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden. It fails to disclose any side effects, prerequisites (e.g., host must exist), permissions, or whether the rule is enabled by default. The single sentence offers zero behavioral insight beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, aligning with conciseness. However, it is not front-loaded with key differentiators or usage context. It is efficiently worded but lacks substance for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, nested objects, no output schema, and no annotations, the description is severely incomplete. It does not explain return values, required versus optional fields, or how to construct valid requests. It only restates the tool's name, leaving the agent to rely solely on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every parameter having a description. The tool description adds no additional parameter meaning, so the baseline score of 3 applies. It does not clarify relationships between parameters or provide examples beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'Low-Level Discovery (LLD) rule in Zabbix'. This distinguishes it from update/delete/get discovery rule siblings, though it could be more specific about the Zabbix API context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., zabbix_create_item, zabbix_get_discovery_rules). It simply states the action with no context or exclusions, offering no help for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_hostgroupB
Create a new host group in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the host group |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It merely states 'Create a new host group' without disclosing potential side effects, permission requirements, idempotency, or error behavior. For a mutating tool, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word earns its place, making it appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one well-documented parameter, so the description covers the essential operation. However, it omits any mention of return values, error conditions, or relationship to other Zabbix entities (e.g., hosts), leaving minor but relevant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'name' parameter is described as 'Name of the host group'). The description adds no additional meaning beyond the schema, so it meets the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and a clear resource ('host group'), and it distinguishes this from sibling tools like zabbix_update_hostgroup and zabbix_delete_hostgroups. The purpose is immediately unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of context such as the need to create host groups before assigning hosts. The description states only the action itself, offering no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_icon_mapA
Create a new icon map in Zabbix for mapping inventory fields to icons
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the icon map | |
| mappings | Yes | Array of icon mappings | |
| default_iconid | Yes | ID of the default icon |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for disclosing behavior. It only states 'Create a new icon map' which implies a mutation, but it does not describe side effects (e.g., whether duplicate names are allowed), required permissions, or the response format. For a write operation with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and object. Every word earns its place, with no wasted phrasing. It is appropriately sized for a simple create tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create operation with a fully described schema, the description is adequate but not complete. It lacks guidance on prerequisites such as how to obtain icon IDs or the significance of inventory field numbers. There is no mention of the return value or error conditions, which would be helpful given no output schema exists. Overall, it is minimal but sufficient for a straightforward creation task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all three parameters (name, default_iconid, mappings), achieving 100% schema description coverage. The tool description adds no additional meaning beyond what the schema already explains. Per the rubric, baseline 3 is appropriate when the schema does the heavy lifting, and the description doesn't compensate further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create a new icon map in Zabbix for mapping inventory fields to icons'. The verb 'Create' combined with the specific resource 'icon map' and the purpose 'mapping inventory fields to icons' is unambiguous. It distinguishes from sibling tools like 'zabbix_create_map' (likely for network maps) and 'zabbix_update_icon_map'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to create an icon map, but provides no explicit guidance on when to choose this tool over alternatives like 'zabbix_create_map' or when to use 'zabbix_update_icon_map' instead. There are no exclusions or prerequisites mentioned. The purpose is clear enough that an agent could infer the right context, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_itemC
Create a new item in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| key_ | Yes | Item key | |
| name | Yes | Name of the item | |
| type | No | Type of the item (0 - Zabbix agent, 2 - Zabbix trapper, etc.) | |
| delay | No | Update interval of the item | 30s |
| units | No | Value units | |
| hostid | Yes | ID of the host that the item belongs to | |
| params | No | Additional parameters depending on the type of the item | |
| status | No | Status of the item (0 - enabled, 1 - disabled) | |
| trends | No | A time unit of how long the trends data should be stored | 365d |
| history | No | A time unit of how long the history data should be stored | 90d |
| password | No | Password for authentication | |
| username | No | Username for authentication | |
| value_type | No | Type of information of the item (0 - numeric float, 1 - character, 3 - numeric unsigned, 4 - text) | |
| description | No | Description of the item |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that a new item is created, but does not disclose side effects, required permissions, idempotency, or what happens if the item key already exists. The absence of return-value information and error conditions makes behavioral transparency weak.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It communicates the core purpose efficiently, matching the high-conciseness standard of exemplary descriptions. No unnecessary details or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 14 parameters, no output schema, and no annotations, a one-sentence description is insufficient. It does not explain expected return values, prerequisites (e.g., host must exist), or behavior on validation failures. The description is minimal and leaves critical context unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all 14 parameters with 100% coverage, so the schema does the heavy lifting. The description adds no additional parameter semantics beyond 'Create a new item', which is simply the tool's action. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new item in Zabbix' clearly states a specific action (create) and resource (item), distinguishing it from sibling tools like zabbix_update_item, zabbix_delete_items, and zabbix_get_items. However, it lacks additional context about what an item is or the scope of creation, so it does not fully differentiate from other create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or contrast with sibling tools like zabbix_create_trigger or zabbix_create_host. Agents are left to infer appropriate usage solely from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_maintenanceB
Create a new maintenance period in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the maintenance period | |
| tags | No | Problem tags to match for maintenance | |
| hostids | No | IDs of hosts to put in maintenance | |
| groupids | No | IDs of host groups to put in maintenance | |
| active_till | Yes | End time of the maintenance period (Unix timestamp) | |
| description | No | Description of the maintenance period | |
| timeperiods | Yes | Time periods when the maintenance should be active | |
| active_since | Yes | Start time of the maintenance period (Unix timestamp) | |
| maintenance_type | No | Type of maintenance (0 - with data collection, 1 - without data collection) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only states that a new maintenance period is created, with no details about permissions, return value, conflict handling, or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with minimal waste, though the phrase 'in Zabbix' is redundant given the tool name. It is appropriately short but could be more concise by removing that redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a fully described schema, the description lacks any mention of return values, prerequisites, or behavior on failure. With no output schema and a complex 9-parameter input including nested timeperiods, this description is inadequate for an agent to fully understand the operation's context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all 9 parameters, so the schema already covers parameter semantics. The tool description adds no additional parameter-level information, meriting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Create' with the resource 'maintenance period' and context 'in Zabbix', clearly identifying the operation. It distinguishes from sibling tools like update/delete/get maintenance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, scheduling considerations, or relationship to update/delete maintenance operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_mapB
Create a new network map in Zabbix for network topology visualization
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the map | |
| urls | No | Map URLs | |
| lines | No | Map lines | |
| links | No | Map links | |
| users | No | Map user permissions | |
| width | Yes | Width of the map in pixels | |
| height | Yes | Height of the map in pixels | |
| shapes | No | Map shapes | |
| userid | No | ID of the user that owns the map | |
| private | No | Map sharing type: 0 (public), 1 (private) | |
| grid_show | No | Whether to show grid: 0 (disabled), 1 (enabled) | |
| grid_size | No | Size of the grid | |
| highlight | No | Whether to highlight map elements: 0 (disabled), 1 (enabled) | |
| iconmapid | No | ID of the icon map | |
| selements | No | Map elements | |
| grid_align | No | Whether to align to grid: 0 (disabled), 1 (enabled) | |
| label_type | No | Map element label type: 0 (label), 1 (IP address), 2 (element name), 3 (status only), 4 (nothing) | |
| show_unack | No | How to show unacknowledged problems: 0 (disabled), 1 (separated), 2 (unacknowledged count) | |
| userGroups | No | Map user group permissions | |
| backgroundid | No | ID of the background image | |
| label_format | No | Advanced label formatting: 0 (disabled), 1 (enabled) | |
| markelements | No | Whether to mark map elements: 0 (disabled), 1 (enabled) | |
| expandproblem | No | Whether to expand single problem: 0 (disabled), 1 (enabled) | |
| label_location | No | Map element label location: 0 (bottom), 1 (left), 2 (right), 3 (top) | |
| label_type_map | No | Map label type | |
| label_type_host | No | Host label type | |
| label_string_map | No | Map label string | |
| label_type_image | No | Image label type | |
| label_string_host | No | Host label string | |
| label_string_image | No | Image label string | |
| label_type_trigger | No | Trigger label type | |
| label_string_trigger | No | Trigger label string | |
| label_type_hostgroup | No | Host group label type | |
| label_string_hostgroup | No | Host group label string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only says 'Create' which implies a mutation, but it does not disclose side effects, required permissions, idempotency, error behavior, or that it likely returns a map ID. This is a significant gap for a complex create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no fluff or repetition. It is concise and front-loaded. However, it offers very little substance for a tool of this complexity, so while efficient, it could be more informative without excessive length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (34 parameters, nested objects, no output schema), the description is far too sparse. It does not mention what the function returns, prerequisites like needing existing iconmapids or host IDs, default behaviors, or any operational context. The schema covers parameters, but the description fails to provide higher-level context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% parameter description coverage and is exceptionally detailed (e.g., enum-like definitions for drawtype, label_type, permissions). The description itself adds no parameter-level meaning. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create'), the resource ('a new network map'), and the purpose ('for network topology visualization'). This verb+resource structure distinguishes it from sibling tools like zabbix_update_map and zabbix_delete_maps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool instead of alternatives, what prerequisites exist (e.g., valid icon IDs, existing elements), or any exclusions. There is no reference to sibling tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_media_typeB
Create a new media type in Zabbix (Email, SMS, Webhook, Script, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the media type | |
| type | Yes | Media type: 0 (Email), 1 (Script), 2 (SMS), 3 (Webhook), 4 (Jabber) | |
| passwd | No | Password for SMTP authentication | |
| status | No | Status: 0 (enabled), 1 (disabled) | |
| username | No | Username for SMTP authentication | |
| exec_path | No | Script path for script media type | |
| gsm_modem | No | GSM modem for SMS media type | |
| smtp_helo | No | SMTP HELO | |
| smtp_port | No | SMTP port | |
| parameters | No | Additional media type parameters | |
| smtp_email | No | Email address to send from | |
| description | No | Description of the media type | |
| exec_params | No | Script parameters | |
| maxattempts | No | Maximum attempts | |
| maxsessions | No | Maximum concurrent sessions | |
| smtp_server | No | SMTP server for email media type | |
| webhook_url | No | Webhook URL | |
| smtp_security | No | SMTP security: 0 (none), 1 (STARTTLS), 2 (SSL/TLS) | |
| webhook_params | No | Webhook parameters (JSON) | |
| webhook_script | No | Webhook script | |
| webhook_timeout | No | Webhook timeout | 30s |
| smtp_verify_host | No | Verify SSL host certificate | |
| smtp_verify_peer | No | Verify SSL peer certificate | |
| message_templates | No | Message templates for different event types | |
| webhook_http_proxy | No | HTTP proxy for webhook | |
| smtp_authentication | No | SMTP authentication: 0 (none), 1 (normal password) | |
| webhook_process_tags | No | Process tags in webhook |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only repeats the action implied by the name, offering no information about permissions, side effects, error handling, or idempotency. This is essentially zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that immediately states the action and scope. It wastes no words and is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 27 parameters and type-specific requirements (Email needs SMTP fields, Webhook needs webhook_* fields, etc.). The description is too minimal to help an agent determine which parameters apply to the chosen media type. It lacks critical usage context despite the rich schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 27 parameters. The description adds no parameter semantics beyond the schema, which aligns with the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create a new media type in Zabbix' with examples of types. It distinguishes from sibling tools via the verb 'create' (vs. update/delete/get/test).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives (e.g., zabbix_update_media_type for modifying existing ones). No prerequisites, type-specific parameter selection, or context for when to choose one media type over another is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_proxyC
Create a new proxy in Zabbix for distributed monitoring
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the proxy | |
| port | No | Port number of the passive proxy. Defaults to 10051 if not set and operating_mode is 1 | |
| hosts | No | Hosts to be monitored by this proxy | |
| address | No | IP address or DNS name of the passive proxy. Required if operating_mode is 1 | |
| tls_psk | No | PSK value | |
| tls_accept | No | What connections to accept from proxy: 1 (no encryption), 2 (PSK), 4 (certificate) | |
| tls_issuer | No | Certificate issuer | |
| description | No | Description of the proxy | |
| tls_connect | No | How to connect to proxy: 1 (no encryption), 2 (PSK), 4 (certificate) | |
| tls_subject | No | Certificate subject | |
| operating_mode | Yes | Proxy operating mode: 0 (active), 1 (passive) | |
| timeout_script | No | Script timeout | |
| custom_timeouts | No | Whether to use custom timeouts: 0 (disabled), 1 (enabled) | |
| tls_psk_identity | No | PSK identity | |
| timeout_ssh_agent | No | SSH agent timeout | |
| timeout_db_monitor | No | Database monitor timeout | |
| timeout_http_agent | No | HTTP agent timeout | |
| timeout_snmp_agent | No | SNMP agent timeout | |
| timeout_simple_check | No | Simple check timeout | |
| timeout_telnet_agent | No | Telnet agent timeout | |
| timeout_zabbix_agent | No | Zabbix agent timeout | |
| timeout_external_check | No | External check timeout |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that a proxy is created, with no information about side effects, idempotency, required permissions, or what the API returns. The description is essentially a restatement of the tool name and provides no insight into behavior beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundancy. It is concise and front-loaded with the verb and object. However, it is so brief that it lacks useful context beyond the tool name, which slightly lowers the score from 5 to 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (22 parameters, no output schema, no annotations), a single vague sentence is insufficient. The description does not explain the purpose of a proxy in distributed monitoring, the distinction between active and passive modes (though operating_mode is in schema), or any caveats. A more complete description would mention that creating a proxy is a prerequisite for distributing monitoring tasks and that certain parameters are conditional on operating_mode.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 22 parameters are documented in the input schema. The description itself adds no parameter information (e.g., it does not explain the significance of operating_mode or the relationship between address and operating_mode). Per the rubric, baseline is 3 when coverage is high; the description neither enhances nor detracts from schema-provided semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new proxy') and the resource ('proxy in Zabbix for distributed monitoring'). It distinguishes this from sibling tools that create other resources (e.g., zabbix_create_map, zabbix_create_hostgroup) and from proxy-related operations like update/delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives (e.g., zabbix_update_proxy for modifying an existing proxy). It does not mention prerequisites, such as the need for valid Zabbix credentials, or scenarios where creating a proxy is appropriate. There is no 'use this when...' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_scriptB
Create a new script in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the script | |
| port | No | Port for SSH/Telnet scripts | |
| type | Yes | Type of script (0 - script, 1 - IPMI, 2 - SSH, 3 - Telnet, 4 - global script, 5 - URL) | |
| scope | Yes | Script scope (1 - action operation, 2 - manual host action, 4 - manual event action) | |
| command | Yes | Command to execute (for script type) or URL (for URL type) | |
| groupid | No | Host group ID that the script can be run on (0 for all groups) | |
| authtype | No | Authentication type for SSH scripts (0 - password, 1 - public key) | |
| password | No | Password for SSH/Telnet scripts | |
| username | No | Username for SSH/Telnet scripts | |
| usrgrpid | No | User group ID that can execute the script (0 for all groups) | |
| publickey | No | Public key file name for SSH scripts | |
| execute_on | No | Where to execute the script (0 - Zabbix agent, 1 - Zabbix server, 2 - Zabbix server (proxy)) | |
| parameters | No | Script parameters for webhook scripts | |
| privatekey | No | Private key file name for SSH scripts | |
| description | No | Description of the script | |
| host_access | No | Host permissions needed (2 - read, 3 - write) | |
| confirmation | No | Confirmation text to display before executing the script |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. However, it only says 'Create a new script' without explaining side effects, required permissions, error conditions, or return values. This adds no transparency beyond what the tool name already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured as a single, clear sentence. It front-loads the essential verb and object without redundancy, though it under-specifies details that might be expected in a more complete description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (17 parameters, 4 required, no output schema), the description is severely incomplete. It does not explain return values, required fields, or the overall behavior of script creation, relying entirely on the schema for parameter details and failing to contextualize when and why this tool is used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all 17 parameters, including types, ranges, and meanings. The tool description itself adds no parameter-specific information, so the baseline score of 3 applies as the schema fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Create), the resource (a new script), and the context (in Zabbix). This distinguishes it from sibling tools like zabbix_update_script, zabbix_delete_scripts, and zabbix_execute_script, which perform different operations on scripts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context. It does not mention that this is for creating a new script as opposed to updating or executing an existing one, so the agent receives no usage direction beyond the general operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_serviceB
Create a new business service in Zabbix for IT service monitoring
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the service | |
| tags | No | Service tags | |
| weight | No | Service weight | |
| parents | No | Parent services | |
| children | No | Child services | |
| algorithm | Yes | Status calculation algorithm: 0 (set status to OK), 1 (most critical of child services), 2 (most critical if all children have problems) | |
| sortorder | No | Position of the service used for sorting | |
| description | No | Description of the service | |
| problem_tags | No | Problem tags that link problems to this service | |
| status_rules | No | Status calculation rules | |
| propagation_rule | No | Status propagation rule: 0 (propagate as is), 1 (increase by one), 2 (decrease by one), 3 (ignore this service) | |
| propagation_value | No | Status propagation value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action 'Create a new business service' without revealing side effects, prerequisites, return values, or any other behavioral context, which is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant information. It is concise and every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 12 parameters and no output schema, yet the description only states the basic action. It does not mention expected return values, service hierarchy constraints, or any other high-level context needed to fully understand the operation. The rich schema partially compensates, but the description remains incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning every parameter has a description in the schema. The tool description adds no additional parameter meaning, but the high coverage warrants a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: creating a new business service in Zabbix. It uses a specific verb and resource, distinguishing it from related service tools like zabbix_update_service and zabbix_delete_services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating a new service but provides no explicit guidance on when to use it versus alternatives. It does not mention any exclusions or scenarios where other tools should be preferred, leaving usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_templateB
Create a new template in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Technical name of the template | |
| name | No | Visible name of the template | |
| groups | Yes | Host groups that the template belongs to | |
| description | No | Description of the template |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It merely repeats the generic 'create' semantics without any additional context such as required permissions, duplicate handling, side effects, or return behavior. This is insufficient for a state-changing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence with no filler words. It is appropriately concise for a simple create operation and front-loads the core purpose effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and no annotations, the description leaves out essential context: return values, prerequisites, failure modes, and idempotency. The minimal one-liner is too sparse for an agent to invoke the tool with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already includes descriptions for all four parameters (host, name, groups, description), achieving 100% schema coverage. The description adds no extra parameter-level detail, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the target resource ('a new template in Zabbix'), distinguishing it from sibling tools like zabbix_update_template and zabbix_delete_templates. The verb+resource combination is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as zabbix_update_template, nor does it mention prerequisites (e.g., host groups must exist). It only implies usage for creating a new template, but offers no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_triggerB
Create a new trigger in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL associated with the trigger | |
| status | No | Status of the trigger (0 - enabled, 1 - disabled) | |
| comments | No | Additional comments to the trigger | |
| priority | No | Severity of the trigger (0-5: Not classified, Information, Warning, Average, High, Disaster) | |
| expression | Yes | Reduced trigger expression | |
| description | Yes | Name of the trigger |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only restates the creation action and offers no details about permissions, idempotency, side effects, failure modes, or what happens if the trigger already exists. This adds little beyond the tool name itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It front-loads the core purpose and is appropriately sized for a simple create operation, even if it lacks behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the schema being rich, the description is too sparse to be contextually complete. It does not mention prerequisites (e.g., required host or existing items for the expression), what the tool returns (likely a trigger ID), or the implications of the 'status' and 'priority' fields. For a create tool with no annotations or output schema, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all six parameters clearly documented (e.g., 'expression' as 'Reduced trigger expression', 'status' as '0 - enabled, 1 - disabled'). The description itself provides no additional parameter information, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('a new trigger in Zabbix'), which distinguishes it from sibling tools like zabbix_update_trigger and zabbix_delete_triggers. The verb+resource structure is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as zabbix_update_trigger for modifying existing triggers or zabbix_delete_triggers for removal. There are no prerequisites, contextual conditions, or exclusions mentioned. The usage is only implied by the verb 'Create'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_userB
Create a new user in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL of the page to redirect the user to after logging in | |
| lang | No | Language code of the user | en_US |
| name | No | First name of the user | |
| type | No | Type of the user (1 - Zabbix user, 2 - Zabbix admin, 3 - Zabbix super admin) | |
| theme | No | User theme | default |
| medias | No | Media for the user | |
| passwd | Yes | Password for the user | |
| refresh | No | Refresh rate | 30s |
| surname | No | Last name of the user | |
| usrgrps | Yes | User groups that the user belongs to | |
| username | Yes | Username for the user | |
| autologin | No | Whether to enable auto-login (0 - disabled, 1 - enabled) | |
| autologout | No | User session life time (0 - disable auto-logout) | 15m |
| rows_per_page | No | Amount of object rows to show per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does not disclose side effects, permissions needed, or behavior on duplicate usernames.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it essentially restates the tool name without adding meaningful structure. It is under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 14 parameters and no output schema, the one-line description is insufficient to guide usage. It lacks context about required parameters, return values, or typical use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific information beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Create' and clearly identifies the resource as 'a new user in Zabbix', distinguishing it from sibling tools like zabbix_update_user, zabbix_delete_users, and zabbix_get_users.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites such as ensuring user groups already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_usergroupB
Create a new user group in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the user group | |
| rights | No | Permissions of the user group | |
| debug_mode | No | Whether debug mode is enabled (0 - disabled, 1 - enabled) | |
| gui_access | No | Frontend access (0 - System default, 1 - Internal, 2 - LDAP, 3 - Disabled) | |
| users_status | No | Whether the user group is enabled (0 - enabled, 1 - disabled) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'create' implying a mutation, but does not disclose any side effects, failure conditions, duplicate handling, required permissions, or return values. This is a significant transparency gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately communicates the tool's purpose without any filler. It is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple create tool with a well-documented schema and no output schema. The description is adequate for understanding the basic purpose, but it lacks contextual details such as typical usage scenarios, edge cases, or behavioral notes. While the schema covers parameters, the description alone does not fully equip an agent to understand the operation's implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with each parameter having a clear description (e.g., 'Name of the user group', 'Permissions of the user group'). The tool description adds no parameter information, but the schema already provides complete semantics, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create) and the resource (new user group in Zabbix), making it distinct from sibling tools like zabbix_get_usergroups, zabbix_create_user, and others. It leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives, no prerequisites, no mention of how it relates to updating user groups, and no context about typical usage scenarios. The description only states the action without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_create_value_mapA
Create a new value map in Zabbix for mapping numeric values to text
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the value map | |
| hostid | No | ID of the host or template to associate this value map with. If omitted, creates a global value map | |
| mappings | Yes | Array of value mappings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It merely states a create operation without revealing side effects, permission requirements, idempotency, or behavior on duplicate names. The description does not mention the hostid parameter's global vs per-host behavior, which is important for a create action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, grammatically correct sentence. It is front-loaded with the action and resource, contains no fluff, and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create tool with a fully described schema, the description suffices. It does not explain return values (no output schema), but that is not critical for a create operation. The omission of potential use cases (e.g., mapping items) is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific details beyond what the schema already provides, and that is acceptable here since the schema is thorough.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('value map'), and specifies the purpose ('mapping numeric values to text'). This distinguishes it from siblings like 'zabbix_create_map' for network maps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool's use case (creating value maps) but does not explicitly state when to use it over alternatives like 'zabbix_update_value_map' or reference other tools. There is no exclusion criteria or 'when-not-to-use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_actionsC
Delete actions from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| actionids | Yes | Array of action IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates a mutating operation but does not mention irreversibility, required permissions, what happens if action IDs are invalid, or any side effects. For a delete operation, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately conveys the action and resource. It contains no filler or redundant phrasing, making it highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too sparse to be contextually complete. It does not explain the effect of deletion, potential errors, or any behavioral nuances. While the parameter is well-schema'd, the overall context (e.g., irreversibility, permissions) is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with the parameter description 'Array of action IDs to delete', so the schema fully documents the parameter. The description adds no additional meaning or context about the parameter. Baseline of 3 is appropriate since the schema handles the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Delete') and resource ('actions'), which is a specific Zabbix object type. It distinguishes itself from sibling tools by naming the resource, but it does not elaborate on what 'actions' are or the exact scope, so it is clear but not fully differentiated from other delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when it is appropriate to delete actions, or any exclusions. The only implied usage is that it deletes actions, but there is no explicit context or comparison to create/update actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_correlationsB
Delete event correlations from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| correlationids | Yes | Array of correlation IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden. It only states 'Delete event correlations' without disclosing the permanence, side effects on dependent objects, required permissions, or error behavior. A delete operation's destructive nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It front-loads the action and resource efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, this description is too sparse. It omits any warning about irreversibility, what happens to dependent correlations, or expected return behavior, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full coverage (100%) with a description for 'correlationids', so the baseline is 3. The description adds no extra detail about parameter formatting or semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (delete) and resource (event correlations) with specificity, distinguishing it from sibling get/create/update correlation tools. Although it mirrors the tool name, it adds 'event' to clarify the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this delete tool versus alternatives. No mention of cleanup scenarios, prerequisites, or contrast with other delete tools. The description simply states the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_dashboardsB
Delete dashboards from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardids | Yes | Array of dashboard IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It only restates the delete action without detailing permanence, cascading effects, permissions, or idempotency. The description offers no additional context beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that fully conveys the core purpose without unnecessary words or repetition. It is appropriately sized for a simple delete operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter delete tool, the description and schema provide the minimum viable information. However, the lack of behavioral context (e.g., irreversible deletion, impact on related data) and absence of annotations leave gaps. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with a clear description for the dashboardids parameter ('Array of dashboard IDs to delete'). The tool description adds no extra semantic value, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Delete') and resource ('dashboards from Zabbix'), clearly distinguishing it from sibling tools like zabbix_create_dashboard or zabbix_get_dashboards. It is unambiguous and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs. alternatives. It does not mention prerequisites, consequences, or situations where another tool (e.g., zabbix_update_dashboard) would be more appropriate. The name implies its use but there's no explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_discovery_rulesB
Delete Low-Level Discovery (LLD) rules from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| itemids | Yes | Array of discovery rule IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but adds no behavioral detail beyond the tool name. It does not mention cascading deletions of discovered entities, permission requirements, or irreversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence that conveys the essential action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for basic invocation but omits important context about side effects and permissions. Given the lack of annotations and output schema, it should provide more operational detail for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single `itemids` parameter with a description, and the tool description doesn't provide additional semantic context. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes Low-Level Discovery (LLD) rules, a specific resource distinct from other delete tools. This makes the purpose unambiguous and differentiates it from sibling deletion tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions. It relies entirely on the user's inferred intent from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_hostgroupsC
Delete host groups from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| groupids | Yes | Array of host group IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only says 'Delete host groups' with no mention of permanence, side effects on associated hosts/templates, permission requirements, or potential failure modes. This is a significant gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words. It is appropriately sized for a simple tool, though it could include more context without being verbose. The structure is clean and front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is straightforward but destructive, with no annotations and no output schema. The description fails to explain important context such as consequences, required permissions, or interaction with other resources (e.g., hosts linked to a group). It is minimal and inadequate for an agent to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with a clear description for groupids ('Array of host group IDs to delete'). The tool description adds no additional parameter semantics, but since the schema already covers all parameters, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Delete' and the resource 'host groups' with the target system 'Zabbix'. It is specific and distinguishes from siblings such as zabbix_create_hostgroup, zabbix_update_hostgroup, and zabbix_get_hostgroups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to use update instead of delete, or any prerequisites like checking for dependencies. The description only offers the basic purpose without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_icon_mapsB
Delete icon maps from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| iconmapids | Yes | Array of icon map IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It does not disclose consequences of deletion such as irreversibility, permission requirements, or side effects on dependent objects. The description adds minimal behavioral context beyond the verb 'Delete'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's purpose without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a mutation tool with no annotations or output schema, the description is minimal but covers the basic action. It lacks important operational context such as irreversibility or usage prerequisites, making it adequate yet incomplete for a delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter 'iconmapids', including its description, so the baseline is 3. The description text adds no additional meaning or context for the parameter beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Delete' and the resource 'icon maps', clearly distinguishing it from sibling tools like zabbix_get_icon_maps, zabbix_create_icon_map, and zabbix_update_icon_map. It unambiguously states what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It simply states the action without mentioning prerequisites, conditions, or context in which deletion should occur.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_itemsB
Delete items from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| itemids | Yes | Array of item IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It merely states 'Delete' without disclosing that deletion is permanent, whether it cascades to associated data, or any auth requirements. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action. There is no wasted text or unnecessary detail, making it perfectly efficient for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with one parameter, the description conveys the core purpose. However, it lacks context about irreversible effects, usage scenarios, and potential side effects, leaving the agent with unanswered questions for a destructive action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes the single parameter 'itemids' as 'Array of item IDs to delete' with 100% coverage. The tool description adds no extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete items from Zabbix' uses a specific verb and resource, clearly distinguishing it from sibling deletion tools like zabbix_delete_triggers or zabbix_delete_templates. It leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It does not mention any context like needing to unlink templates first or when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_maintenanceA
Delete maintenance periods from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| maintenanceids | Yes | Array of maintenance period IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the deletion action and does not mention irreversibility, required permissions, or any side effects on active maintenance windows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, 'Delete maintenance periods from Zabbix', with no redundant words. It is appropriately front-loaded with the verb and object.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one fully documented parameter, the description plus schema is functionally sufficient for basic invocation. However, with no annotations or output schema, it lacks important context about the destructive nature and potential operational impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameter semantics, with 'maintenanceids' clearly described as an array of maintenance period IDs to delete. The tool description adds no additional parameter-related meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Delete' and names the resource 'maintenance periods from Zabbix', clearly stating what the tool does. It also distinguishes itself from sibling tools like create/update/get maintenance by indicating the delete operation uniquely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when maintenance periods need to be removed, but it does not explicitly state when to use this tool versus alternatives or mention any prerequisites. There is no guidance about listing IDs first via get_maintenance or considering update_maintenance for edits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_mapsB
Delete network maps from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| sysmapids | Yes | Array of network map IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. 'Delete network maps' implies a destructive action, but it does not state whether deletion is permanent, whether it can be undone, or if it has cascading effects on related entities. This lack of detail leaves the agent under-informed about the impact of invoking 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that is appropriately sized for a simple delete operation. It front-loads the action and object, with no filler words. However, because it omits crucial behavioral context, it is concise at the expense of completeness, so it does not earn a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the core purpose is adequately conveyed by the description and schema. However, the absence of any warning about the destructive nature or irreversible effects makes the description incomplete for an operation of this type. A minimal viable description would include at least a note that deletion is permanent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides a complete description for the single parameter (sysmapids: 'Array of network map IDs to delete'), giving 100% schema coverage. The tool description adds no additional parameter semantics, but the baseline of 3 applies when the schema already covers the parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('delete') and resource ('network maps'), distinguishing it from sibling tools that delete other entities like users or hostgroups. It is concise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, edge cases, or how this relates to other map-related tools like zabbix_update_map or zabbix_get_maps. The description solely states the action without contextualizing usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_media_typesA
Delete media types from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| mediatypeids | Yes | Array of media type IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action ('delete') without revealing that this is a destructive, likely irreversible operation, nor any prerequisites or cascading effects. This is a significant gap for a deletion tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the tool's core purpose without unnecessary words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one well-documented parameter, the description and schema together provide enough information for an agent to select and invoke the tool correctly. It lacks behavioral warnings, but the operation itself is clear and complete given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a full description for the sole parameter ('Array of media type IDs to delete'), and schema coverage is 100%. The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Delete media types from Zabbix' with a specific verb (delete) and resource (media types), clearly distinguishing it from sibling tools that create, update, or get media types. It is unambiguous and immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is used when media types need to be removed. The resource is specified, making the context clear, though it does not explicitly mention alternatives like update_media_type for modifications or get_media_type for listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_proxiesC
Delete proxies from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| proxyids | Yes | Array of proxy IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It simply restates the tool name and does not reveal that deletion is irreversible, what impact it has on associated objects, or any permission requirements. This is a destructive operation with zero additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that is easy to read but simply repeats the tool name with 'from Zabbix'. It is concise in length but does not earn its place by adding new information beyond the name. It is not overly verbose, so it avoids a lower score, but it offers minimal value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a deletion operation with no output schema and no annotations. The description fails to provide essential context such as the irreversible nature, side effects on hosts or other configurations, or any validation requirements. For a destructive tool of this complexity, the one-line description is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for the only parameter, 'proxyids', with a clear description: 'Array of proxy IDs to delete'. The description text adds no extra parameter semantics, but since the schema is well-documented, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete proxies from Zabbix' clearly states the action (delete) and the resource (proxies), distinguishing it from sibling tools like zabbix_get_proxies, zabbix_create_proxy, and zabbix_update_proxy. It is a specific verb+resource that leaves no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention prerequisites, cautionary cases, or explicit exclusions, such as not using it if proxies are still referenced by hosts. There is no context about when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_scriptsB
Delete scripts from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| scriptids | Yes | Array of script IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations to indicate safety profile, and the description does not disclose behavioral traits such as irreversibility, potential impacts on running script executions, or permission requirements. For a delete operation, this lack of transparency is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that front-loads the action and resource. It contains no fluff and is appropriately sized for the simple functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a destructive operation with no annotations and no output schema, the description is incomplete. It fails to mention that deletion is permanent, lacks usage guidance, and does not describe any response or error conditions, leaving the agent without essential context for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with the description 'Array of script IDs to delete' for the scriptids parameter. The tool description adds no further meaning, but the schema already sufficiently documents the parameter, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete scripts from Zabbix' uses a specific verb and resource, clearly indicating the action. It distinguishes itself from sibling tools like zabbix_get_scripts, zabbix_create_script, and zabbix_update_script by focusing solely on deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are any prerequisites or caveats mentioned (e.g., scripts in use cannot be deleted, deletion is permanent). The description lacks any context about appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_servicesB
Delete business services from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| serviceids | Yes | Array of service IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description merely restates the mutation ('Delete') without any additional behavioral disclosure. There are no annotations to fall back on, so the description should explain irreversibility, cascading deletions, permissions, or error behavior, but it does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that states the operation without verbosity or filler. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one array parameter, no output schema), the description is minimally sufficient to select and invoke the tool, but it omits consequences of deletion and expected return state. Compared to well-documented alternatives, it lacks important situational context but is not severely incomplete due to the complete schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single 'serviceids' parameter with a description, so the tool description adds no extra semantic value. Since schema coverage is 100%, the baseline of 3 applies; there is no need for the description to elaborate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete business services from Zabbix' uses a specific verb and resource, clearly distinguishing it from sibling delete tools like zabbix_delete_users or zabbix_delete_templates by naming 'business services' specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like zabbix_create_service or zabbix_update_service. The description does not state prerequisites, whether deletion is permanent, or how to handle dependencies. This is a minimal statement with no contextual usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_templatesC
Delete templates from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| templateids | Yes | Array of template IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It conveys that the tool deletes templates but omits critical details such as irreversibility, cascading effects on linked hosts or dependent items, required permissions, or error behavior. This is a significant gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence and thus highly concise and front-loaded. However, it essentially restates the tool name, providing no extra information beyond what the name already conveys, so it does not add value commensurate with its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is inadequate for a destructive tool with no annotations and no output schema. It fails to explain the consequences of deletion, whether templates must be unlinked first, or what becomes of associated entities, leaving the agent with incomplete information to reason about tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the only parameter (templateids) as an array of IDs, so the description adds no additional meaning. According to the rubric, high schema coverage (100%) establishes a baseline of 3, which is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete) and the resource (templates), making the tool's purpose unambiguous. It is distinct from sibling tools that delete other entities, though it does not explicitly differentiate from related actions like unlinking templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., zabbix_unlink_templates_from_host). The description only states the action without any context about prerequisites, use cases, or conditions that would help an agent choose between this and similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_triggersC
Delete triggers from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| triggerids | Yes | Array of trigger IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits on its own. While 'Delete' implies a destructive action, it doesn't mention irreversibility, required permissions, or potential side effects on associated data like problems or events. This is a significant gap for a delete operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct and front-loaded, stating the action in one short sentence. It is appropriately concise for a tool with a single parameter, though it could benefit from slightly more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema) and the schema's thorough coverage of the parameter, the description is minimally viable. However, it lacks information on return values, error conditions, or the permanent nature of the action, so it falls short of being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the single parameter 'triggerids' as 'Array of trigger IDs to delete', covering 100% of the parameter semantics. The description adds no extra meaning beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete triggers from Zabbix' uses a specific verb and resource, making the tool's purpose clear. It is unambiguous and distinguishes from sibling tools that operate on different resources, though it doesn't explicitly mention any scope or alternative tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or conditions such as whether triggers should be disabled first or if there are dependencies. It merely states the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_usersB
Delete users from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| userids | Yes | Array of user IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral transparency. It only states that users are deleted but does not disclose that deletion is likely permanent, whether it requires special permissions, or what the operation returns. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler words. It is front-loaded with the action, though it could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and an output schema, the description should explain return values, side effects, or prerequisites. It does none of these, leaving the agent without enough context to predict the tool's full impact or response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'userids' parameter as an array of user IDs to delete, and schema coverage is 100%. The description adds no additional semantic meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Delete' and a clear resource 'users', clearly stating it deletes user accounts. This distinguishes it from sibling tools like zabbix_create_user, zabbix_update_user, and zabbix_get_users, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for removing users from Zabbix but does not explicitly state when to use it versus alternatives, nor does it mention any prerequisites, side effects, or conditions. For a simple delete tool, this is minimally acceptable but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_delete_value_mapsB
Delete value maps from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| valuemapids | Yes | Array of value map IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states only that the tool deletes value maps, but does not disclose that deletion is permanent, whether any authorization is required, or any cascading effects on hosts/items that reference the maps. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with the action verb, containing no fluff. However, it is so minimal that it misses opportunities to include caveats or usage notes, though it is appropriately sized and well-structured for the simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having a well-documented parameter schema, the description lacks any context about the destructive nature, prerequisites (fetching value map IDs), or side effects. For a delete operation with no output schema or annotations, this is inadequate. The description is not complete enough to allow safe invocation without additional research.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage of the single parameter with a clear description ('Array of value map IDs to delete'). The tool description adds no additional parameter semantics. Since the schema does the heavy lifting, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies a unique verb-resource pairing ('Delete value maps from Zabbix'), which distinguishes it from sibling deletion tools for other Zabbix resources. There is no ambiguity about what action the tool performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, prerequisites, or alternatives. It does not mention that value map IDs must be obtained first (e.g., via zabbix_get_value_maps), nor does it warn against deleting in-use maps. No usage context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_execute_scriptB
Execute a script on a host in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| hostid | No | ID of the host to execute the script on (required for host-context scripts) | |
| eventid | No | ID of the event to execute the script on (for event-context scripts) | |
| scriptid | Yes | ID of the script to execute | |
| manualinput | No | Manual input for scripts that require it |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It merely states the action 'Execute a script' without mentioning potential side effects on the host, required permissions, synchronous/asynchronous behavior, or return values. This is a significant gap for a script execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler words. It is front-loaded and efficient, earning a high score for conciseness, though its brevity contributes to under-specification in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, no annotations, and no output schema, the description is too minimal. It does not explain the difference between host-context and event-context scripts, what happens after execution, or any side effects, leaving the agent without critical context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all four parameters, so the schema already provides parameter semantics. The description itself adds no additional param context, thus the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Execute' and clearly identifies the resource as 'a script on a host in Zabbix'. This distinguishes it from sibling tools like zabbix_create_script, zabbix_get_scripts, and zabbix_update_script, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for running scripts, but it does not explicitly state when to use it versus alternatives, prerequisites, or exclusions. There is no mention of needing a pre-existing script or permissions, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_export_configurationB
Export Zabbix configuration as XML or JSON
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | Export format | |
| options | Yes | Specifies which configuration objects to export |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state that the operation is read-only, what the output format entails (e.g., a string response), or any session/authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the core action and output formats efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a simple description, the tool has a complex options object with 15 entity types. The description does not explain the effect of an empty options object, how to use the options to select specific entities, or what the return value looks like. The schema helps but does not fill the overall contextual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the format enum and each sub-property of options. The description adds only the XML/JSON distinction already visible in the schema, offering no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses the specific verb 'Export' and identifies the resource as 'Zabbix configuration' with output formats 'XML or JSON'. This clearly differentiates it from sibling tools like import_configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as zabbix_import_configuration. It does not explain whether an empty options object is valid or if at least one object type must be specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_actionable_itemsA
Get actionable items requiring immediate human intervention including unacknowledged problems, long-running issues, and unavailable hosts. Prioritized by urgency.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional filtering parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context by enumerating categories ('unacknowledged problems, long-running issues, unavailable hosts') and stating prioritization by urgency. However, it does not explicitly confirm read-only status, rate limits, or whether the response aggregates data from multiple endpoints, which would be valuable transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that effectively front-loads the core purpose. Every clause contributes value: it names the resource, specifies the criteria, and notes prioritization. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (nested options object, no required params, no output schema), the description offers a solid overview of what to expect. It would benefit from mentioning the response format or any default limitations, but the current level is sufficient for an agent to operate. The lack of an output schema is partially compensated by the clear scope description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for maxItems and priorityFilter. The description adds minimal meaning beyond the schema; the mention of 'prioritized by urgency' loosely aligns with priorityFilter but does not explain parameter usage. Since the schema already documents parameters well, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does with a specific verb ('Get'), resource ('actionable items'), and defining scope ('requiring immediate human intervention including unacknowledged problems, long-running issues, and unavailable hosts'). It distinguishes itself from sibling tools like zabbix_get_problems or zabbix_get_critical_issues by framing the output as action-oriented and prioritized by urgency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage scenarios by specifying the type of items retrieved, but it does not explicitly state when to prefer this tool over alternatives such as zabbix_get_problems or zabbix_get_critical_issues. No exclusion criteria or alternative references are given, leaving the decision somewhat to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_actionsB
Get actions from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only actions that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only actions that match the given wildcard search | |
| hostids | No | Return only actions that are configured for the given hosts | |
| userids | No | Return only actions that are configured to send messages to the given users | |
| groupids | No | Return only actions that are configured for the given host groups | |
| actionids | No | Return only actions with the given IDs | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| usrgrpids | No | Return only actions that are configured to send messages to the given user groups | |
| triggerids | No | Return only actions that are configured for the given triggers | |
| mediatypeids | No | Return only actions that use the given media types | |
| selectFilter | No | Return action filter in the filter property | |
| selectOperations | No | Return action operations in the operations property | |
| selectUpdateOperations | No | Return action update operations | |
| selectRecoveryOperations | No | Return action recovery operations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool retrieves actions and that filtering and output options are available, but it does not explicitly state that it is a read-only operation or describe any side effects, default behavior, or limitations. The term 'Get' implies safety, but deeper behavioral context is missing. This is a minimal but non-contradictory disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence: 'Get actions from Zabbix with filtering and output options'. Every word is purposeful, with no filler or redundancy. It efficiently conveys the core functionality in just 10 words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 17 parameters and no output schema, the description provides no domain context about what a Zabbix 'action' is, how the various filters (hostids, triggerids, etc.) relate, or what the returned data structure looks like. The schema offers detailed parameter descriptions, but the description itself is too sparse to make the tool self-contained for an agent unfamiliar with Zabbix actions. It reads more like a label than a complete tool explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 17 parameters are individually documented. The description's phrase 'with filtering and output options' adds a high-level summary but no parameter-specific semantics beyond what the schema already provides. It neither enriches nor detracts from the schema, meriting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get actions from Zabbix', identifying the verb (Get), resource (actions), and platform. It does not explicitly differentiate from sibling tools like zabbix_create_action or zabbix_update_action, but the verb alone makes the read-only purpose apparent, so it meets the 'clear but no sibling differentiation' criterion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It merely states what it does. There is no mention that this tool is for listing/inspecting actions rather than modifying them, leaving the agent to infer usage from the verb 'Get' and the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_alertsC
Get alerts (sent notifications) from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only alerts that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only alerts that match the given wildcard search | |
| hostids | No | Return only alerts generated by events on the given hosts | |
| userids | No | Return only alerts sent to the given users | |
| alertids | No | Return only alerts with the given IDs | |
| eventids | No | Return only alerts generated by the given events | |
| actionids | No | Return only alerts generated by the given actions | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | DESC |
| time_from | No | Return only alerts sent after this time (Unix timestamp) | |
| time_till | No | Return only alerts sent before this time (Unix timestamp) | |
| selectHosts | No | Return hosts that generated the events that triggered the alerts | |
| selectUsers | No | Return users that the alerts were sent to | |
| mediatypeids | No | Return only alerts that used the given media types | |
| selectMediatypes | No | Return media types used to send the alerts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, yet it only states 'Get alerts (sent notifications)'. It does not disclose whether the operation is read-only, whether it returns a list or paginated results, any authentication needs, or how parameters like time_from/time_till affect the query. The description provides no behavioral traits beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. 'Get alerts (sent notifications) from Zabbix' is as concise as possible, conveying the essential purpose without unnecessary detail. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (17 parameters), absence of annotations, and lack of an output schema, the one-sentence description is severely underwhelming. It does not explain the return format, the semantics of the default output fields, how filtering works, or any performance considerations. The description is incomplete for an agent to understand the full context of using this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the 17 parameters with descriptions, so the baseline is 3. The tool description itself adds no parameter-level meaning; it does not mention filtering, sorting, or output selection. Thus, the schema fully handles parameter semantics, and the description adds no extra value beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get alerts (sent notifications) from Zabbix' clearly identifies the action (get) and the resource (alerts), and the parenthetical 'sent notifications' clarifies the meaning of 'alerts' in Zabbix context, distinguishing it from related tools like get_problems or get_events. It is concise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as zabbix_get_problems or zabbix_get_events. There is no mention of suitable scenarios, prerequisites, or exclusions, leaving the agent without context for choosing among related monitoring tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_api_versionA
Retrieves the version of the Zabbix API.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. The description only states that it 'retrieves' the version, which implies a read-only operation, but it does not disclose potential side effects, authentication requirements, or return format. For a simple retrieval this is minimal but lacks details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that conveys the core functionality without any superfluous words. It is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters) and no output schema, the description adequately explains the tool's purpose. It could have added return value details or authentication context, but for an API version retrieval, the current description is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the description does not need to add parameter meaning. The schema already covers everything with an empty object. Baseline for 0 params is 4, and there is no missing information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Retrieves') and a distinct resource ('the version of the Zabbix API'). It is not tautological and is unambiguous, distinguishing it from other Zabbix tools that perform different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to use this tool versus alternatives. Since there are no direct siblings that perform the same action, the usage context is implied (e.g., to check API connectivity or version). However, the description does not state any prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_correlationsC
Get event correlations from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only correlations that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only correlations that match the given wildcard search | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectFilter | No | Return correlation filter | |
| correlationids | No | Return only correlations with the given IDs | |
| selectOperations | No | Return correlation operations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Get', implying a read operation, but omits return format, pagination, filtering behavior, required permissions, or any side effects. This is a minimal statement without meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core purpose. It is not verbose, but the extreme brevity leaves out useful context; still, no word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters, no output schema, and no annotations, the description is far too minimal. It does not explain what 'event correlations' are, how parameters affect results, or what the return shape looks like. This is inadequate for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all 9 parameters. The description adds no additional parameter semantics, but the baseline of 3 is appropriate since structured data covers the parameter meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get event correlations from Zabbix' with a clear verb (Get) and a specific resource (event correlations). It distinguishes from sibling get_* tools by naming a unique Zabbix entity, though it could be more explicit (e.g., 'correlation rules').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, exclusions, or relations to other Zabbix tools, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_critical_issuesA
Get critical and high severity issues requiring immediate attention. Returns only critical/high problems with essential context, acknowledgment status, and duration.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional filtering parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the severity filter and return context (acknowledgment status, duration), but does not clarify whether only active/open problems are returned, how results are sorted, or any default filtering behavior beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no redundancy. It front-loads the primary purpose and immediately states the key constraints and return fields, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a nested options object and no output schema, but the description conveys the core purpose effectively. However, it leaves ambiguity about whether it returns only current problems vs resolved ones, and lacks explicit details on output interpretation. The schema covers parameters, but the description could be more complete given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes both parameters (limit and unacknowledgedOnly) with clear descriptions, so the tool description adds little beyond echoing acknowledgment status. Since schema coverage is 100%, baseline is 3, which is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves critical and high severity issues requiring immediate attention, with a specific scope and return fields. This distinguishes it from siblings like zabbix_get_problems and zabbix_get_events, which likely return broader sets of problems or events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for urgent issue triage by focusing on critical/high severity, but does not explicitly mention alternatives or when-not-to-use scenarios. It lacks exclusions like 'for all problems use zabbix_get_problems' or 'for historical data use zabbix_get_events'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_dashboardsA
Get dashboards from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only dashboards that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only dashboards that match the given wildcard search | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectPages | No | Return dashboard pages | |
| selectUsers | No | Return users that have access to the dashboard | |
| dashboardids | No | Return only dashboards with the given IDs | |
| selectUserGroups | No | Return user groups that have access to the dashboard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states that the tool gets dashboards and mentions filtering/output options, but does not disclose return format, pagination, default limits, or that it is a safe read-only operation. The name 'get' implies read-only, but explicit behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is immediately understandable and wastes no words. It front-loads the core purpose and a couple of key capabilities.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, no annotations, and no output schema, the description is minimal. It relies heavily on the schema for parameter details, but does not explain the overall response structure or any behavioral nuances, such as how filtering interacts with output or whether wildcards are supported. It is adequate but not complete for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 10 parameters at 100% coverage, so the bar is lowered. The description adds only a high-level hint about filtering and output options, which partially corresponds to filter/search/output/sortfield parameters, but it does not provide any additional meaning beyond the schema property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with the resource 'dashboards', clearly identifying this as a read operation for Zabbix dashboards. The phrase 'with filtering and output options' highlights distinguishing capabilities, differentiating it from create/update/delete dashboard siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool should be used when retrieving dashboards, but it does not explicitly state when to prefer it over other get_* tools or provide exclusions/alternatives. There is no guidance on when to use filtering options versus a simpler call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_discovered_hostsA
Get hosts discovered by network discovery or LLD rules
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only discovered hosts that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only discovered hosts that match the given wildcard search | |
| dhostids | No | Return only discovered hosts with the given IDs | |
| druleids | No | Return only discovered hosts that were discovered by the given discovery rules | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectDRules | No | Return discovery rules that discovered the host | |
| selectDServices | No | Return discovered services of the host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only states the purpose and omits details such as response shape, pagination, permission requirements, or any side effects. Although likely a read-only operation, the description adds no context about behavior beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no unnecessary words. It is front-loaded with the verb and resource, achieving maximum economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal but does not provide sufficient context for an agent to fully understand what 'discovered hosts' means or how this tool fits with alternatives. No output schema or annotations exist, so more context would be valuable, especially to differentiate from zabbix_host_get.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all parameters. The description adds no parameter-specific meaning, and per the rubric, baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get hosts discovered by network discovery or LLD rules' clearly states the action (get), the resource (hosts discovered), and the scope (network discovery/LLD), distinguishing it from siblings like zabbix_get_discovered_services and zabbix_host_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative instructions are provided. The description and name imply it is for fetching discovered hosts, but it does not contrast with related tools such as zabbix_host_get or zabbix_get_discovery_rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_discovered_servicesB
Get services discovered by network discovery rules
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only discovered services that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only discovered services that match the given wildcard search | |
| dhostids | No | Return only discovered services that belong to the given discovered hosts | |
| druleids | No | Return only discovered services that were discovered by the given discovery rules | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| dserviceids | No | Return only discovered services with the given IDs | |
| selectDHosts | No | Return discovered hosts that the service belongs to | |
| selectDRules | No | Return discovery rules that discovered the service |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only says 'Get', implying a read-only operation, but provides no details about filtering behavior, default outputs, pagination, authentication requirements, or what the response contains. This is a significant gap for a tool with 11 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff or redundant information. It is efficiently front-loaded and does not repeat parameter names or schema details. Very readable and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters and no output schema, the description is insufficiently complete. It does not explain what the returned data looks like, how filters interact, or how this relates to discovery rules and hosts. The rich schema provides parameter semantics, but the description fails to give the broader context needed for correct invocation and result interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with each parameter having a description. The tool description adds no extra meaning beyond the schema; it merely restates the general purpose. According to the rubric, the baseline is 3 when schema covers parameters well, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('services discovered by network discovery rules'), which distinguishes it from sibling tools like zabbix_get_discovered_hosts and zabbix_get_discovery_rules. The verb+resource+scope is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly conveys when to use the tool: when you need discovered services from network discovery rules. However, it does not explicitly mention when not to use it or present alternatives, such as using zabbix_get_discovered_hosts for hosts instead. This is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_discovery_rulesC
Get Low-Level Discovery (LLD) rules from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only discovery rules that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only discovery rules that match the given wildcard search | |
| hostids | No | Return only discovery rules that belong to the given hosts | |
| itemids | No | Return only discovery rules with the given item IDs | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectHosts | No | Return hosts that the discovery rule belongs to | |
| selectItems | No | Return item prototypes that belong to the discovery rule | |
| templateids | No | Return only discovery rules that belong to the given templates | |
| interfaceids | No | Return only discovery rules that use the given host interfaces | |
| selectGraphs | No | Return graph prototypes that belong to the discovery rule | |
| selectTriggers | No | Return trigger prototypes that belong to the discovery rule | |
| selectHostPrototypes | No | Return host prototypes that belong to the discovery rule |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'filtering and output options' but does not explain return format, pagination, default limits, or potential side effects. For a read-only tool, the safety profile is inferable from the name, but the description adds minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. It efficiently communicates the core action and resource, though it is somewhat generic and could have included more useful detail in the same space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 parameters, nested objects, no output schema, no annotations), the description is inadequate. It omits return structure, default sort/limit behavior, filter/search semantics, and any usage notes. The schema covers parameter meanings, but the description does not provide an overall context for how the tool behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 15 parameters, so the baseline is 3. The description's phrase 'with filtering and output options' only vaguely restates what the schema already documents and adds no unique semantic value beyond the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get Low-Level Discovery (LLD) rules from Zabbix' with a specific verb and resource. It distinguishes itself from sibling tools that create or update discovery rules, though it does not differentiate from other get_* tools beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or when another tool would be more appropriate. The only implicit hint is the 'get' verb, which suggests a read operation, but this is not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_eventsC
Retrieves events from Zabbix with filtering options.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Array of tag filters. | |
| limit | No | Maximum number of events to return. | |
| value | No | Event values: 0 (OK), 1 (problem). | |
| object | No | Event object type. | |
| output | No | Output fields. | extend |
| source | No | Event source: 0 (trigger), 1 (discovery), 2 (auto registration), 3 (internal). | |
| hostids | No | Array of host IDs to filter events by. | |
| evaltype | No | Evaluation type: 0 (AND/OR), 2 (OR). | |
| eventids | No | Array of event IDs to retrieve. | |
| groupids | No | Array of host group IDs to filter events by. | |
| objectids | No | Array of object IDs (trigger IDs) to filter events by. | |
| sortfield | No | Fields to sort by. | |
| sortorder | No | Sort order. | DESC |
| time_from | No | Start time for event filtering. | |
| time_till | No | End time for event filtering. | |
| selectTags | No | Include event tags. | |
| severities | No | Array of severity levels to filter by (0-5). | |
| selectHosts | No | Include host information. | |
| acknowledged | No | Filter by acknowledgment: 0 (unacknowledged), 1 (acknowledged). | |
| selectRelatedObject | No | Include related object information. | |
| selectSuppressionData | No | Include suppression data. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it does not mention read-only nature, pagination limits, return format variations (e.g., 'extend' vs 'count'), or any side effects. It only states the core action without behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded with the verb and resource, making it efficient and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (21 parameters) and lack of annotations or output schema, the description is severely under-specified. It provides no high-level context, use cases, or relationships to sibling tools, leaving the agent without adequate guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of all 21 parameters, each with descriptions and enums. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves events from Zabbix and mentions filtering options. It uses a specific verb and resource, but does not differentiate it from sibling tools like zabbix_get_problems or zabbix_get_alerts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of use cases, exclusions, or alternative tools; usage is only implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_historyC
Get historical data for items from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned (default: 100, max recommended: 1000) | |
| output | No | Type of output (extend - all fields, count - number of records) | extend |
| history | No | Object type to return (0 - numeric float, 1 - character, 2 - log, 3 - numeric unsigned, 4 - text) | |
| itemids | Yes | Array of item IDs to get history for | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | DESC |
| time_from | No | Return only values that have been received after or at the given time (Unix timestamp) | |
| time_till | No | Return only values that have been received before or at the given time (Unix timestamp) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Get historical data' without revealing whether this is a read-only operation, whether it requires specific permissions, how large the response can be, or what raw history records look like. The parameter schema covers limit and output, but the description itself adds almost no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focus-built sentence: 'Get historical data for items from Zabbix.' It contains no redundant words and front-loads the core purpose immediately, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool having 8 parameters and no output schema, the description is minimal and fails to explain return value structure, typical usage scenarios, or performance implications. It is not complete enough for an agent to understand the full scope of the tool's behavior without relying heavily on the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for all 8 parameters, each with detailed descriptions (e.g., history types, time_from/time_till, limit). The description adds no additional parameter meaning, but since schema coverage is high, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('historical data for items from Zabbix'). It is specific enough to indicate this tool retrieves history rather than latest data or trends, but it does not explicitly differentiate from sibling tools like zabbix_get_trends or zabbix_get_item_history_range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention how it relates to zabbix_get_latest_data, zabbix_get_trends, or zabbix_get_item_history_range, leaving the agent to infer usage context on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_hostgroupsB
Get host groups from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| output | No | Object properties to be returned | |
| groupids | No | Return only host groups with the given group IDs | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| groupnames | No | Return only host groups with the given group names | |
| selectHosts | No | Return hosts that belong to the host group | |
| selectTemplates | No | Return templates that belong to the host group |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'with filtering and output options,' which is a summary of the schema and does not reveal behavior such as whether all host groups are returned when no filters are applied, whether authentication is required, or whether the operation is safe/read-only. The name 'get' implies read-only, but the description itself adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that avoids superfluous language, making it easy to parse quickly. It front-loads the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a comprehensive schema covering all parameters, but the description offers minimal context. It does not mention return format, typical use cases, or safety characteristics, and there is no output schema. However, for a straightforward get operation, the combination of name, description, and schema is probably sufficient for correct invocation, though additional context would improve it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the 8 parameters is already documented. The description's mention of 'filtering and output options' adds no additional semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and identifies the resource 'host groups' within Zabbix, and mentions 'filtering and output options' which maps to the schema. This clearly distinguishes it from sibling tools like create/update/delete hostgroups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no mention of related tools. It is a bare statement of functionality, so an agent receives no help in choosing between this and other Zabbix getters or mutation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_icon_mapsB
Get icon maps from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only icon maps that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only icon maps that match the given wildcard search | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| iconmapids | No | Return only icon maps with the given IDs | |
| selectMappings | No | Return icon mappings used by the icon map |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It only says 'Get icon maps' and offers no details about authentication requirements, pagination behavior, default output fields, or potential limitations. The description adds no behavioral context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, given the tool's complexity (8 parameters, nested objects), it is slightly under-specified, but it is still efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, nested objects, and no output schema, the description provides insufficient context. It does not explain typical usage, return value structure, or how filter/search interact with output. This is a minimal description for a moderately complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all eight parameters. The description's mention of 'filtering and output options' maps to filter, search, output, and sortfield but adds no new meaning. Baseline 3 is appropriate when schema covers parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with the resource 'icon maps from Zabbix', clearly distinguishing it from create/update/delete icon map siblings. The phrase 'with filtering and output options' hints at capabilities but is generic; still, the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied as a read-only retrieval tool for icon maps, but the description does not explicitly state when to use it over alternatives or mention that modifications should use create/update/delete tools. No exclusions or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_infrastructure_healthB
Get overall infrastructure health summary with metrics optimized for LLM consumption. Returns health score, problem counts by severity, host statistics, and critical action items.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional filtering parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not state whether the operation is read-only, whether any permissions are needed, or if there are rate limits or side effects. It does list output components, but that is more about return value than behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that efficiently conveys the tool's purpose and key outputs without redundancy. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description does well to list the output categories (health score, problem counts, host statistics, critical action items). However, it does not detail the structure or format of these items, leaving some ambiguity for a complex tool. The simple input schema is adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, as the nested 'options' object and its properties (hostGroupIds, severityThreshold) all have descriptions. The tool description adds no additional parameter information, so a baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb and resource: 'Get overall infrastructure health summary'. It enumerates the returned data (health score, problem counts by severity, host statistics, critical action items), which distinguishes it from sibling tools like zabbix_get_system_overview or zabbix_get_critical_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It implies a general health overview but does not specify use cases, prerequisites, or exclusions, especially given the many overlapping sibling tools such as zabbix_get_system_overview and zabbix_get_actionable_items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_item_history_rangeA
Get historical data for a specific item over a time range with automatic value type detection
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of records to return (default: 100) | |
| itemid | Yes | Item ID to get history for | |
| hours_back | No | Number of hours back from now to retrieve data (default: 24) | |
| include_item_info | No | Include item information in the response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'automatic value type detection' but omits critical details like the read-only nature, default parameter values, pagination, or response structure. This is a significant gap for a data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It delivers the core purpose and a notable feature efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without annotations, an output schema, or richer description, the tool lacks important context. The description does not explain what the response contains, how hours_back and limit interact, or what 'automatic value type detection' means for the returned data. This is insufficient for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions, achieving 100% coverage. The tool description adds no additional parameter-specific semantics, so the baseline of 3 is appropriate given the schema already handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get historical data for a specific item over a time range with automatic value type detection,' clearly specifying the action (get), the target (historical data), and a distinguishing feature (automatic value type detection). This differentiates it from sibling tools like zabbix_get_latest_data and zabbix_get_trends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'over a time range' implies the tool is used when time-bounded historical data is needed, providing clear context for when to use it. However, it does not explicitly mention alternatives or exclusions, so it falls slightly short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_itemsC
Get items from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only items that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only items that match the given wildcard search | |
| hostids | No | Return only items that belong to the given hosts | |
| itemids | No | Return only items with the given item IDs | |
| groupids | No | Return only items that belong to hosts in the given host groups | |
| monitored | No | Return only enabled items that belong to monitored hosts | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectHosts | No | Return hosts that the item belongs to | |
| templateids | No | Return only items that belong to the given templates | |
| selectTriggers | No | Return triggers that the item is used in |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior on its own. It indicates a read-only 'Get' operation but does not mention important behavioral aspects such as pagination, result size limits, authentication requirements, or the structure of the returned data. It also fails to explain what happens when no filters are given (e.g., returns all items), which could be a significant omission for a 13-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is an efficient single sentence with no fluff or redundancy. It front-loads the primary action and resource. While it is brief relative to the tool's complexity, brevity itself is a positive trait here; it doesn't repeat schema information, which aligns with conciseness. However, it could arguably be more informative without being verbose, so it doesn't merit a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the rich schema, the description is the only source for contextual guidance. It lacks an explanation of what constitutes an 'item' in Zabbix, when to choose this over the many sibling tools (e.g., zabbix_get_latest_data, zabbix_get_triggers), and what the response format will look like (no output schema). For a complex tool with 13 parameters and nested objects, this is insufficient for an agent to confidently select and invoke it without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (filter, search, output, hostids, etc.). The description adds minimal semantic value by mentioning 'filtering and output options', but this only vaguely maps to the existing parameter descriptions. Since the schema carries the full parameter burden, a baseline score of 3 is appropriate; the description doesn't disambiguate tricky choices like 'filter' vs 'search' or explain the effect of 'output'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Get items from Zabbix', which distinguishes it from sibling tools like zabbix_get_triggers or zabbix_get_hosts. It identifies the core action and target, though it lacks explicit scope details (e.g., that it returns item definitions, not values). The added 'with filtering and output options' hints at flexibility but doesn't fully differentiate from related item-value tools like zabbix_get_latest_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention any exclusions or direct the user to tools like zabbix_get_latest_data for current values or zabbix_get_history for historical data. It simply states the function without contextual usage advice, leaving the agent to infer from the schema and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_last_24_hours_summaryA
Get activity summary for the last 24 hours including new problems, resolved issues, and recent events. Shows trends and net change in problem count.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional filtering parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It explains the output content and aggregation nature (new problems, resolved issues, recent events, trends, net change) but omits any side effects or operational details such as whether it is read-only, requires authentication, or has data granularity limitations. The 'Get' verb suggests a read operation, but no explicit safety assurances are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action and followed by additional output details. Every phrase provides necessary information; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description enumerates the summary components, making it clear what the tool returns despite lacking an output schema. It is reasonably complete for a query tool with one optional parameter, though it could better distinguish from neighboring summary tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'options' object and 'severityFilter' array both documented with descriptions. The tool description adds no parameter-specific meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function as generating a 24-hour activity summary with specific contents (new problems, resolved issues, recent events), distinguishing it from sibling tools like zabbix_get_problems or zabbix_get_events that return raw lists. The verb 'Get' and explicit time window make the scope precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit alternatives or exclusion criteria are given; the description only implies use for a summary rather than raw problem/event listings. There is no direction on when to prefer this over zabbix_get_system_overview or similar, so guidance is inferred from the tool name and wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_latest_dataC
Get latest data for items from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| output | No | Object properties to be returned | |
| hostids | No | Return only items that belong to the given hosts | |
| itemids | No | Array of item IDs to get latest data for | |
| selectHosts | No | Return hosts that the item belongs to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Get latest data' without revealing that it returns an array of items with their last values, timestamps, or units, or any filtering behavior. The schema's default output hints at the returned fields, but the description itself adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of a single sentence that clearly states the tool's purpose. It is appropriately sized for a simple read tool and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 5 parameters and no output schema, the description is only a one-liner. It fails to explain the return format, how it relates to sibling tools, or any notable behavior. The schema's default output gives some structure, but the description itself is incomplete for a tool with this complexity and no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a clear description. The tool description itself adds no parameter information beyond the schema, which aligns with the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Get') and resource ('latest data for items'), which distinguishes it from sibling tools like zabbix_get_history or zabbix_get_trends. However, it doesn't explicitly differentiate from zabbix_get_items, which might also return item-related data, so it's specific but not fully disambiguated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It doesn't mention that this should be used for current/last values while get_history provides historical data, nor does it explain any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_maintenanceC
Get maintenance periods from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only maintenance periods that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only maintenance periods that match the given wildcard search | |
| hostids | No | Return only maintenance periods that affect the given hosts | |
| groupids | No | Return only maintenance periods that affect hosts in the given groups | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectHosts | No | Return hosts affected by the maintenance | |
| selectGroups | No | Return host groups affected by the maintenance | |
| maintenanceids | No | Return only maintenance periods with the given IDs | |
| selectTimeperiods | No | Return time periods of the maintenance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries full responsibility for behavioral disclosure. It only states 'Get', implying a read-only operation, but does not disclose pagination behavior, default limits, response format, or any side effects. It adds no behavioral context beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the verb, and contains no redundant information. It is well-structured, though its brevity sacrifices some substance. It earns a 4 rather than 5 because it is appropriately sized given the schema's richness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, default behavior, or how this tool fits into the maintenance lifecycle. A more complete description would mention typical use cases, relationship to create/update/delete maintenance tools, and what the user can expect in the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter clearly explained in the input schema. The description's phrase 'with filtering and output options' loosely maps to filter/search/output parameters but adds no new semantic meaning. The baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Get') and resource ('maintenance periods from Zabbix'). The mention of 'filtering and output options' indicates flexibility, making it distinguishable from sibling maintenance mutation tools like zabbix_create_maintenance or zabbix_delete_maintenance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, complementary tools, or situations where other tools (e.g., zabbix_get_problems) might be more appropriate. The description does not exclude any use case or cross-reference siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_mapsB
Get network maps from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only maps that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only maps that match the given wildcard search | |
| userids | No | Return only maps that belong to the given users | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| sysmapids | No | Return only maps with the given IDs | |
| selectUrls | No | Return map URLs | |
| selectLines | No | Return map lines | |
| selectLinks | No | Return map links | |
| selectUsers | No | Return users that have access to the map | |
| selectShapes | No | Return map shapes | |
| selectIconMap | No | Return icon map used by the map | |
| selectSelements | No | Return map elements | |
| selectUserGroups | No | Return user groups that have access to the map |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavior. It only states that it retrieves maps and mentions filtering/output; it does not disclose return format, authentication requirements, pagination, or that it is non-destructive. The read-only nature is implied by 'Get' but not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no waste; it is front-loaded and appropriately sized for a simple retrieval operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (16 params) and lack of output schema/annotations, the description is minimal but sufficient to identify the tool's purpose. However, it lacks details on return structure, usage context, or behavior expectations, leaving gaps for an agent without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no specific parameter information beyond vague 'filtering and output options', but the schema already thoroughly documents all 16 parameters, so the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('network maps from Zabbix'), making it distinct from sibling create/update/delete map tools. The addition of 'filtering and output options' hints at functionality but is generic and somewhat redundant given the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs. alternatives. The verb 'Get' implies it is for retrieval, and sibling names indicate other operations, but no explicit guidance is given about prerequisites or excluded use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_media_typesB
Get media types from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only media types that match the given filter | |
| output | No | Object properties to be returned | extend |
| search | No | Return only media types that match the given wildcard search | |
| sortfield | No | Field(s) to sort by (e.g., "name", ["type", "name"]) | |
| sortorder | No | Sort order (can be array matching sortfield) | |
| countOutput | No | Return count of records instead of actual data | |
| searchByAny | No | If true, return results that match any search criteria instead of all | |
| selectUsers | No | Return users that use the media type | |
| startSearch | No | Search parameter will compare the beginning of fields | |
| mediatypeids | No | Return only media types with the given IDs | |
| preservekeys | No | Use IDs as keys in the resulting array | |
| excludeSearch | No | Return results that do not match the search criteria | |
| searchWildcardsEnabled | No | Enable use of "*" as wildcard character in search | |
| selectMessageTemplates | No | Return message templates used by the media type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'Get' implies a read-only behavior, and mentioning filtering/output options gives a hint of its flexible retrieval capabilities. However, with no annotations, the description does not explicitly state that it is safe and has no side effects, nor does it disclose any permissions or rate limits. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that communicates the core purpose without any unnecessary words or repetition. It is perfectly sized for a straightforward getter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the rich 15-parameter schema, the description is too sparse to be fully complete. There is no output schema, so the description should help clarify what the tool returns (e.g., media type objects or counts), but it does not. It also lacks context on typical use cases or relationship to create/update/delete media type tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the input schema covers 100% of the parameters with descriptions, the description does not need to add parameter details. The high-level mention of 'filtering and output options' aligns with the schema but adds minimal value beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('media types from Zabbix'). It also indicates the tool supports filtering and output options, which adds some scope. However, it does not explicitly differentiate from sibling getter tools, though the resource is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. It simply states what the tool does without contextualizing its use among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_performance_alertsA
Get performance alerts and resource-related issues with context. Filters performance problems by resource type and severity.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional filtering parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It mentions 'with context' but does not explain what that context includes, nor does it state whether the operation is read-only, whether pagination or sorting is supported, or what the return structure looks like. The lack of clarity on side effects and output format is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, immediately states the primary action, and every word earns its place. There is no redundancy or filler, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple getter with optional nested filters, and the schema covers its parameters. However, the description lacks essential context such as whether the operation is read-only, what 'context' means in the response, and how this differs from closely related sibling tools like zabbix_get_problems or zabbix_get_alerts. Since there is no output schema and no annotations, this description leaves noticeable gaps in the overall picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for the parameters, so the baseline is 3. The description briefly alludes to the filter parameters ('by resource type and severity'), which reinforces their purpose, but it does not add additional semantic meaning beyond what the schema already provides. It neither compensates for any gaps nor adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves performance alerts and resource-related issues with context, and mentions filtering by resource type and severity. This is specific enough to identify the tool's function, but it does not explicitly distinguish it from sibling tools like zabbix_get_problems or zabbix_get_alerts, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for when to use the tool: when you need performance alerts or resource-related issues with context, potentially filtered by resource type and severity. However, it does not explicitly mention when not to use it or name alternative tools, so it provides no exclusions, landing at level 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_problemsB
Retrieves current problems from Zabbix with filtering options.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Array of tag filters. | |
| limit | No | Maximum number of problems to return. | |
| output | No | Output fields. | extend |
| recent | No | Show recent problems. | |
| hostids | No | Array of host IDs to filter problems by. | |
| evaltype | No | Evaluation type: 0 (AND/OR), 2 (OR). | |
| groupids | No | Array of host group IDs to filter problems by. | |
| objectids | No | Array of object IDs (trigger IDs) to filter problems by. | |
| sortfield | No | Fields to sort by. | |
| sortorder | No | Sort order. | |
| time_from | No | Start time for problem filtering. | |
| time_till | No | End time for problem filtering. | |
| selectTags | No | Include problem tags. | |
| severities | No | Array of severity levels to filter by (0-5). | |
| suppressed | No | Include suppressed problems. | |
| acknowledged | No | Filter by acknowledgment: 0 (unacknowledged), 1 (acknowledged). | |
| selectAcknowledges | No | Include acknowledgment information. | |
| selectSuppressionData | No | Include suppression data. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'retrieves' implying a read operation, but does not disclose any other behavioral traits such as authentication requirements, default filters, pagination behavior, or semantics of 'current'. This is insufficient for a tool with many parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero redundant words. It clearly states the verb and object first, then adds a brief qualifier. It is appropriately sized for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and high complexity (18 parameters), the description is too minimal. It does not explain what a problem is relative to events, what the return format looks like, or what filtering options are available. The schema covers parameters but not operational context, so the description leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with detailed descriptions, so the baseline is 3. The description adds only the generic phrase 'with filtering options', which does not add meaning beyond the schema. No additional parameter semantics are provided in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'current problems' from Zabbix, using the specific verb 'retrieves' and a defined resource. It distinguishes from siblings like zabbix_get_events or zabbix_get_triggers by focusing on problems, but does not elaborate on what 'current' means or how it differs from related data, so it is clear but not fully differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you need to fetch current problems with filtering, but it provides no explicit guidance on when to use it over alternatives like zabbix_get_events or zabbix_get_triggers. It does not mention exclusions, prerequisites, or use-case boundaries, so it only offers implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_proxiesC
Get proxies from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only proxies that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only proxies that match the given wildcard search | |
| proxyids | No | Return only proxies with the given IDs | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectHosts | No | Return hosts monitored by the proxy | |
| selectProxyGroups | No | Return proxy groups the proxy belongs to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It only states a read operation without disclosing return format, pagination, limits, or side effects. It also does not mention default output properties or how filters behave, leaving significant behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler. It is front-loaded with the action and resource, making it easy to parse. Every word contributes to the core purpose, and the structure is highly scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters and no output schema, the description is too sparse. It does not state what the output contains, how to leverage filters, or any limitations. While the schema provides parameter-level details, the overall usage context is missing, leaving an agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's mention of 'filtering and output options' maps to the filter and output parameters, but it adds no semantic detail beyond what the schema already provides. The schema fully documents each parameter, so additional description is not necessary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get proxies') and resource ('proxies') from Zabbix. It distinguishes from sibling tools like create/update/delete proxies, though it does not explicitly differentiate from other 'get' tools beyond the resource name. The phrase 'with filtering and output options' is generic but still hints at functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of scenarios, exclusions, or comparisons with other Zabbix tools. The description lacks context for an agent to decide between this and similar 'get' tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_script_execution_historyB
Get history of script executions from Zabbix events
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| hostids | No | Filter by specific host IDs | |
| scriptids | No | Filter by specific script IDs | |
| sortorder | No | Sort order by time | DESC |
| time_from | No | Return only events from this time (Unix timestamp) | |
| time_till | No | Return only events until this time (Unix timestamp) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states a read-only 'Get' operation but does not disclose pagination behavior, required permissions, return format, or how filtering affects results. Minimal additional value beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that clearly states the action and object. It is front-loaded with the verb and resource, with no filler or redundant information, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what a successful response contains and any behavioral nuances (e.g., default sorting, limit behavior). It only states the basic purpose, leaving significant gaps for a tool with 6 optional parameters and no return structure documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the 6 parameters already well-described (e.g., 'limit', 'filter by specific host IDs'). The description adds no extra parameter context, but the schema sufficiently documents the semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Get' and a clear resource 'history of script executions', with source 'Zabbix events'. It distinguishes itself from siblings like zabbix_get_scripts (list scripts) and zabbix_execute_script (execute scripts) by focusing on execution history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like zabbix_get_events or zabbix_get_history. The usage context is only implied by the tool name and generic description, with no explicit when/when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_scriptsC
Get scripts from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only scripts that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only scripts that match the given wildcard search | |
| hostids | No | Return only scripts that can be run on the given hosts | |
| groupids | No | Return only scripts that can be run on the given host groups | |
| scriptids | No | Return only scripts with the given script IDs | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectHosts | No | Return hosts that the script can be run on | |
| selectGroups | No | Return host groups that the script can be run on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only says 'Get scripts' and gives a vague mention of filtering/output, but does not state whether the operation is read-only, what permissions are required, how pagination works, whether results are limited, or what the response structure includes. This is a significant gap for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that avoids unnecessary verbosity. It front-loads the core action and resource, and the additional mention of 'filtering and output options' is useful without bloating the text. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, no output schema, no annotations), the description is inadequate. It does not clarify what constitutes a 'script' in Zabbix, the nature of filtering (e.g., by host, group, script ID), the meaning of output options, or the structure of the response. The description provides almost no context beyond the schema's parameter definitions, leaving the agent with insufficient understanding of the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all 11 parameters and their meanings. The description adds the phrase 'with filtering and output options,' which broadly maps to parameters like filter, search, and output, but does not provide any semantic detail beyond what the schema already provides. As coverage is high, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get scripts from Zabbix' clearly identifies the action (get) and resource (scripts), making the core purpose unambiguous. It implicitly distinguishes from sibling tools that create, update, delete, or execute scripts, though it does not explicitly name an alternative or differentiate filtering scope from other get_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention exclusions (e.g., 'for execution history, use get_script_execution_history') or provide context about intended use cases beyond the basic 'get scripts' statement, leaving the agent to infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_servicesB
Get business services from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only services that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only services that match the given wildcard search | |
| childids | No | Return only services that are parents of the given services | |
| parentids | No | Return only services that are children of the given services | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectTags | No | Return service tags | |
| serviceids | No | Return only services with the given IDs | |
| selectParents | No | Return parent services | |
| selectChildren | No | Return child services | |
| selectProblemTags | No | Return problem tags linked to the service | |
| selectStatusRules | No | Return status rules | |
| selectProblemEvents | No | Return current problem events for the service |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to state that this is a read-only operation, that it returns a list of services, or any behavioral constraints such as pagination or auth requirements. The phrase 'with filtering and output options' only echoes schema capabilities without adding behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of nine words with no redundant phrasing. It wastes no words and is easy to parse at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's complexity (15 parameters, nested objects, no output schema), the description provides only a high-level summary. It does not explain return value shape, common use cases, or what distinguishes business services from other service types, making it incomplete for an agent to decide whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description's reference to 'filtering and output options' aligns with schema fields but adds no semantic value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving business services from Zabbix, with 'business services' distinguishing it from related tools like zabbix_get_discovered_services or zabbix_get_service_sla. The verb 'Get' and resource 'business services' are specific and accurate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It merely states the action without mentioning prerequisites, typical scenarios, or exclusions (e.g., use zabbix_get_service_sla for SLA calculations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_service_slaB
Get SLA (Service Level Agreement) data for business services
| Name | Required | Description | Default |
|---|---|---|---|
| intervals | Yes | Array of time intervals for SLA calculation | |
| serviceids | Yes | Array of service IDs to get SLA data for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It only mentions 'Get', implying a read operation, but does not disclose details such as authentication requirements, rate limits, return format, or any side effects. This is a minimal behavior disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that immediately states the tool's purpose. It is concise and front-loaded, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple read-only purpose with two well-documented parameters and no output schema, so a brief description is acceptable. However, it does not explain concepts like how SLA intervals are calculated or what business services refer to, which an agent may need to know to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents both parameters (serviceids and intervals) with clear descriptions, achieving 100% coverage. The tool description itself adds no additional parameter semantics beyond the schema, so it meets the baseline for schema-covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves SLA data for business services, which is a specific action and resource. It is distinct from siblings like zabbix_get_services or zabbix_get_infrastructure_health, though it does not explicitly differentiate itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. It only defines what the tool does without contextualizing its use case relative to other available tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_system_overviewA
Get comprehensive system overview combining problems, maintenance windows, and key metrics in one call. Provides high-level system status and activity level.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional filtering parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool's aggregating behavior and outputs high-level status, but it does not mention any side effects, performance implications, permission requirements, or return format. For a read-only overview tool, the lack of safety hints and data structure details is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the main action and scope. Every sentence adds value, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a high-level idea of what the tool returns ('high-level system status and activity level') but omits details like exact fields, pagination, or how to interpret the combined data. Since there is no output schema, the description could be more complete, but it is sufficient for a basic understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a complete description of the single optional parameter 'includeInactiveMaintenance'. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('comprehensive system overview') and clearly states it combines problems, maintenance windows, and key metrics in one call. This differentiates it from siblings like zabbix_get_problems or zabbix_get_maintenance by emphasizing the aggregated, high-level nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for a combined system-level view ('in one call') but does not explicitly state when to use this tool versus alternatives like calling get_problems and get_maintenance separately. No exclusions or alternative tool references are provided, leaving the choice to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_templatesB
Get templates from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only templates that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only templates that match the given wildcard search | |
| hostids | No | Return only templates that are linked to the given hosts | |
| groupids | No | Return only templates that belong to the given host groups | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| selectHosts | No | Return hosts that are linked to the template | |
| templateids | No | Return only templates with the given template IDs | |
| selectGroups | No | Return host groups that the template belongs to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects and behavioral traits. It only says 'Get templates' and mentions filtering/output, which implies read-only but never explicitly states it. It does not mention authentication requirements, pagination, default limits, or any side effects, leaving key behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words, effectively front-loading the core action. It is concise and well-structured, though the brevity sacrifices depth; still, it avoids fluff and is appropriately scoped for a tool with rich schema documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, no annotations, no output schema), the description is under-specified. It does not explain return values, default output fields, sorting behavior, or how filters interact. The description is not completely inadequate but leaves significant gaps that an agent would need to infer from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the 11 parameters with individual descriptions, so the baseline is 3. The description's reference to 'filtering and output options' maps loosely to `filter`, `search`, and `output` parameters but adds no new meaning beyond what the schema already provides. It does not clarify parameter formats, defaults, or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and a clear resource 'templates from Zabbix', immediately distinguishing it from sibling tools like zabbix_create_template or zabbix_delete_templates. It also mentions 'filtering and output options', which adds useful functional scope without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as zabbix_host_get or zabbix_create_template. It doesn't state exclusions or prerequisites, and while the name implies a read operation, no contextual hints about preferred use cases are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_trendsB
Get trends data (aggregated historical data) for items from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned (default: 100) | |
| output | No | Type of output (extend - all fields, count - number of records) | extend |
| itemids | Yes | Array of item IDs to get trends for | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | DESC |
| time_from | No | Return only values that have been received after or at the given time (Unix timestamp) | |
| time_till | No | Return only values that have been received before or at the given time (Unix timestamp) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It only says 'aggregated historical data' but doesn't explain what aggregation means (e.g., hourly resolution), typical response structure, or any side effects. The description adds minimal context beyond the tool name and doesn't disambiguate from other data retrieval tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose. No filler words, and it efficiently communicates the resource and the key differentiator ('aggregated').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 7 parameters and no output schema, the description only provides a one-line summary. It doesn't explain how trends differ from history, what time range behavior to expect, or what the return data looks like. Given the tool's moderate complexity, this is incomplete contextual information for an AI agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented in the input schema. The description adds no extra parameter semantics, but the schema itself is detailed. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'trends data' for items, with a parenthetical clarifying it's 'aggregated historical data'. This distinguishes it from sibling tools like zabbix_get_history (raw history) and zabbix_get_latest_data (latest values), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'aggregated historical data' implies a use case different from raw history, but there is no explicit guidance on when to choose this tool over zabbix_get_history or zabbix_get_latest_data. The usage context is implied rather than stated, with no exclusions or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_triggersB
Get triggers from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only triggers that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only triggers that match the given wildcard search | |
| hostids | No | Return only triggers that belong to the given hosts | |
| groupids | No | Return only triggers that belong to hosts in the given host groups | |
| monitored | No | Return only enabled triggers that belong to monitored hosts | |
| only_true | No | Return only triggers that are in problem state | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | DESC |
| triggerids | No | Return only triggers with the given trigger IDs | |
| selectHosts | No | Return hosts that the trigger belongs to | |
| selectItems | No | Return items that are used in the trigger | |
| templateids | No | Return only triggers that belong to the given templates | |
| min_severity | No | Return only triggers with severity greater or equal | |
| expandDescription | No | Expand macros in the trigger description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden of disclosing behavior. It does not mention that this is a read-only operation, any authentication requirements, performance implications of broad queries, or the default output format. The phrase 'with filtering and output options' only echoes schema features without adding behavioral insights.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that communicates the core purpose and hints at additional capabilities. It is front-loaded and contains no fluff, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (16 parameters, no required fields, nested objects, no output schema), the description is far from complete. It does not describe the return value, any pagination behavior, or how the tool relates to other Zabbix operations. The absence of annotations and an output schema makes this a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no parameter-specific details beyond the schema's own field descriptions. It mentions 'filtering and output options' but does not explain any parameter syntax or semantics beyond what is already in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get triggers from Zabbix' clearly identifies the resource (triggers) and the verb (get), distinguishing it from sibling tools like zabbix_get_problems or zabbix_get_items. The mention of filtering and output options reinforces the purpose without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description does not mention any specific use cases, preconditions, or exclusions, leaving the agent without context on when to choose this over related tools like get_problems or get_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_usergroupsC
Get user groups from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only user groups that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only user groups that match the given wildcard search | |
| userids | No | Return only user groups that contain the given users | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| usrgrpids | No | Return only user groups with the given IDs | |
| selectUsers | No | Return users that belong to the user group | |
| selectRights | No | Return permissions of the user group |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. The verb 'Get' implies a read-only operation, but the description does not explicitly state that it is non-destructive, nor does it mention permission requirements, rate limits, or any side effects. This is insufficient for a tool without annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core operation and general capabilities without unnecessary verbosity. It is appropriately concise for a simple getter tool, though it could sacrifice some brevity to include more behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no output schema, no annotations), the description is too sparse. It does not explain the return value, how filtering behaves, or any limitations. The schema covers parameters, but the description fails to provide the operational context an agent would need to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all 10 parameters, so the description does not need to repeat this. The phrase 'filtering and output options' loosely references parameters like 'filter' and 'output' but adds no additional semantic value beyond what the schema already declares. This meets the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('user groups from Zabbix'), making it distinct from sibling tools like zabbix_get_users or zabbix_create_usergroup. The mention of 'filtering and output options' adds useful scope, though it could be more specific about the exact capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or scenarios where a different tool might be more appropriate. There is no mention of alternatives or complementary tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_user_mediaB
Get user media (notification settings) from Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only user media that match the given filter | |
| output | No | Object properties to be returned | |
| userids | No | Return only user media for the given user IDs | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| usrgrpids | No | Return only user media for the given user group IDs | |
| selectUsers | No | Return users that the media belongs to | |
| mediatypeids | No | Return only user media for the given media type IDs | |
| selectMediatypes | No | Return media types used by the user media |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Get', implying a read operation, but does not disclose scope, pagination, permissions, or whether a list is returned. This is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence that immediately states the action and resource. It has no redundant words and is perfectly front-loaded, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool having 10 parameters, nested objects, and no output schema or annotations, the description does not mention return structure, default behavior, filtering capabilities, or how to use multiple filtering parameters. This is insufficient for the complexity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for all 10 parameters, so the baseline is 3. The description itself adds no parameter information beyond what the schema already contains, neither reinforcing nor extending parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and a specific resource ('user media'), with the parenthetical '(notification settings)' clarifying the domain concept and distinguishing it from sibling tools like zabbix_get_media_types. This makes the tool's purpose immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no context about typical use cases, and no exclusions. It is a bare statement of action with no decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_usersC
Get users from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only users that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only users that match the given wildcard search | |
| userids | No | Return only users with the given user IDs | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| usrgrpids | No | Return only users that belong to the given user groups | |
| selectMedias | No | Return media used by the user | |
| selectUsrgrps | No | Return user groups that the user belongs to | |
| selectMediatypes | No | Return media types used by the user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the action without disclosing any behavioral traits such as side effects, permissions, pagination, or return format. The read-only nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is front-loaded and easily parsed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters and no output schema, the description is too sparse. It does not explain the return structure, typical use cases, prerequisites, or any operation details. It only provides the most basic purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with descriptions for all 11 parameters, so the schema already provides the semantics. The description's mention of 'filtering and output options' adds minimal value beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'users from Zabbix', which is specific and distinct from siblings like zabbix_get_usergroups. However, it lacks explicit differentiation from alternatives and the 'filtering and output options' phrasing is generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. There is no mention of appropriate scenarios, exclusions, or comparison with related tools like zabbix_get_usergroups or zabbix_create_user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_get_value_mapsC
Get value maps from Zabbix with filtering and output options
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Limit the number of records returned | |
| filter | No | Return only value maps that match the given filter | |
| output | No | Object properties to be returned | |
| search | No | Return only value maps that match the given wildcard search | |
| sortfield | No | Sort the result by the given properties | |
| sortorder | No | Sort order | ASC |
| valuemapids | No | Return only value maps with the given IDs | |
| selectMappings | No | Return value mappings used by the value map |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation with 'get', but it does not disclose authentication needs, default return behavior, pagination, or any limitations. The phrase 'with filtering and output options' is generic and lacks concrete behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It front-loads the core action and resource, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description is too sparse. It does not explain what a value map is, what the tool returns by default, or any usage context. The generic filtering/output mention does not compensate for the lack of essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all 8 parameters (100% coverage), so the baseline is 3. The description's mention of 'filtering' and 'output options' loosely references filter/search and output parameters, but it adds no specific meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get) and the resource (value maps), distinguishing it from sibling create/update/delete value map tools. However, it does not provide additional scope differentiation from other get_* tools beyond the resource name, so it's specific but not exceptionally detailed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention that it's the read counterpart to value map management or suggest using it before modifying value maps. This is left entirely to the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_host_createA
Creates a new host in Zabbix with specified groups, interfaces, and optional templates/macros.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Technical name of the host (e.g., srv-app-01). | |
| name | No | Visible name of the host. Defaults to technical name if not provided. | |
| groups | Yes | Array of host group objects to assign this host to. Each object must have "groupid". | |
| macros | No | Array of host macros (UserMacros). | |
| status | No | Host status: 0 (monitored), 1 (unmonitored). | |
| tls_psk | No | PSK value (write-only). | |
| templates | No | Array of template objects to link to the host. Each object must have "templateid". | |
| interfaces | Yes | Array of interface objects for the host. | |
| tls_accept | No | Connections FROM host: 1-No enc, 2-PSK, 4-Cert (bitmask). | |
| tls_issuer | No | ||
| description | No | Host description. | |
| tls_connect | No | Connections TO host: 1-No enc, 2-PSK, 4-Cert. | |
| tls_subject | No | ||
| proxy_hostid | No | ID of the proxy that monitors the host. Use '0' if monitored by server. | |
| inventory_mode | No | Host inventory mode: -1 (disabled), 0 (manual), 1 (automatic). | |
| tls_psk_identity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the high-level action and does not mention idempotency, failure behavior if the host already exists, required permissions, or any side effects. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the core action and key components.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema handles parameter-level detail, so the description need not repeat that. However, for a complex creation tool with 16 parameters and no output schema, the description omits behavioral context (e.g., what happens on conflict, whether it's atomic, any prerequisites) and does not mention other important aspects like TLS, proxy, or inventory from the schema. It is minimally viable but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides comprehensive descriptions for 81% of parameters. The description adds conceptual grouping (groups, interfaces, optional templates/macros) which slightly helps, but this largely repeats what the schema already conveys through required fields and parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Creates') and the resource ('a new host in Zabbix'), and specifies key components (groups, interfaces, templates/macros). It distinguishes itself from sibling tools like zabbix_host_update and zabbix_host_delete by focusing on creation of a new host.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the word 'Creates'โthis tool is for creating new hosts. However, there is no explicit guidance on when to use this versus alternatives (e.g., use update for existing hosts), nor any mention of prerequisites such as ensuring groups or templates exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_host_deleteB
Deletes one or more hosts from Zabbix.
| Name | Required | Description | Default |
|---|---|---|---|
| hostids | Yes | Array of host IDs to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It labels the operation as 'Deletes' but does not disclose that deletion is typically irreversible, may cascade to dependent items (e.g., triggers, items), or may require specific permissions. This lack of warning for a destructive action is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words. Every word earns its place, and it is front-loaded with the primary action and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description states the core function. However, given the destructive nature, the lack of any warning about non-reversibility or dependencies is a clear gap. The schema handles parameter detail, but the description fails to add the behavioral context needed for safe use, making it only minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage of parameters, including a description for 'hostids' ('Array of host IDs to delete'). The tool description adds no extra meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Deletes') and the resource ('hosts from Zabbix'), and distinguishes it from sibling tools like zabbix_host_get, zabbix_host_create, and zabbix_host_update. It also conveys the flexibility of 'one or more', which is a specific scope detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It merely states the action. For a deletion tool, it would be helpful to mention that this should be used for permanent removal, not for temporary disabling, and that other tools should be used for updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_host_getA
Retrieves Zabbix host information. Can filter by various criteria including direct IDs or by resolving host identifiers (names, IPs).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of hosts to return. | |
| filter | No | Filter criteria (e.g., { status: 0, host: 'webserver01' }). | |
| output | No | Properties to return. Defaults to 'extend'. Common options: ['hostid', 'host', 'name', 'status', 'error', 'available']. | extend |
| search | No | Wildcard search criteria (e.g., { host: 'web*' }). Will search in 'host' (technical name) and 'name' (visible name) fields primarily. | |
| hostids | No | Array of direct Zabbix Host IDs to retrieve. | |
| groupids | No | Array of group IDs to filter hosts by. | |
| sortfield | No | Field(s) to sort by (e.g., 'name', ['status', 'host']). | |
| sortorder | No | Sort order ('ASC' or 'DESC'). | |
| selectItems | No | Include items from the host. | |
| templateids | No | Array of template IDs to filter hosts by. | |
| selectGroups | No | Include host group information. Use 'extend' for all group fields or specify an array like ['groupid', 'name']. | extend |
| selectMacros | No | Include host macros. Use 'extend' for all macro fields or specify an array like ['macro', 'value']. | |
| selectTriggers | No | Include triggers from the host. | |
| hostIdentifiers | No | Array of host technical names, visible names, or IP addresses to resolve to IDs for filtering. Use this OR direct filter options like 'hostids' or 'filter'. | |
| selectInventory | No | Include host inventory data. Use 'extend' for all inventory fields or specify an array of inventory property names (e.g. ['os', 'type']). | |
| selectInterfaces | No | Include host interface information. Use 'extend' for all interface fields or specify an array like ['interfaceid', 'ip', 'port', 'type']. | extend |
| selectParentTemplates | No | Include linked parent template information. Use 'extend' for all template fields or specify an array like ['templateid', 'name']. | extend |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It communicates a read-only operation ('Retrieves') and a useful behavior (resolving host identifiers), but does not detail return format, pagination, defaults, or potential limitations. This adds some context but leaves gaps for a 17-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff, front-loaded with the core purpose. Every word earns its place, effectively balancing brevity with the key filtering capability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, nested objects) and lack of output schema, the description is insufficiently complete. It does not explain what the return data looks like, when to prefer this over related getters, or any edge cases. The schema covers parameter syntax but the description lacks broader operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mentions 'resolving host identifiers', which aligns with the hostIdentifiers parameter, but this is a high-level summary rather than adding new parameter-specific meaning. The schema already documents each parameter thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieves Zabbix host information' with a specific verb and resource, and distinguishes it from sibling tools like zabbix_host_create or zabbix_get_items by focusing on hosts. It further clarifies scope by mentioning filtering by direct IDs or resolving host identifiers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by mentioning the ability to filter by various criteria, including direct IDs or resolving host identifiers. However, it does not explicitly exclude alternatives like zabbix_get_discovered_hosts or other getter tools, though the focus on 'host information' makes its primary use evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_host_updateA
Updates properties of an existing Zabbix host. Provide only the hostid and the properties to change.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | New technical name of the host. | |
| name | No | New visible name of the host. | |
| groups | No | Replaces ALL existing host group memberships. Array of objects with "groupid". | |
| hostid | Yes | ID of the host to update. | |
| macros | No | Replaces ALL existing host macros. Provide hostmacroid to update specific macro. | |
| status | No | Host status: 0 (monitored), 1 (unmonitored). | |
| inventory | No | Object with inventory fields to update, e.g., { os: 'New OS', type: 'Server X' }. | |
| templates | No | Replaces ALL currently linked templates. Array of objects with "templateid". | |
| interfaces | No | Replaces ALL existing interfaces for the host. | |
| tls_accept | No | ||
| description | No | ||
| tls_connect | No | ||
| proxy_hostid | No | ID of the proxy. Use '0' for Zabbix server. | |
| inventory_mode | No | ||
| templates_clear | No | Templates to unlink and clear. Array of objects with "templateid". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It fails to mention critical side-effects, such as array parameters (groups, macros, templates, interfaces) replacing ALL existing associationsโa detail only present in the schema. It also does not disclose return values, permission requirements, or error conditions, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with no filler. The first sentence identifies the action and target, the second provides a usage constraint. Every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 15 parameters, nested objects, and no output schema, the description is too minimal. It omits crucial behavioral caveats like the replace-all semantics for array fields, and provides no guidance on response format or side effects. The agent would need to rely heavily on the schema, which is not always sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 73%, so the baseline is 3. The description adds a general partial-update instruction but does not elaborate on any specific parameter or compensate for the 27% of parameters lacking schema descriptions. The schema itself provides richer parameter details, so the description adds marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's purpose: 'Updates properties of an existing Zabbix host.' The verb 'Updates' combined with the resource and scope ('existing host', 'properties to change') distinguishes it from sibling tools like create, get, and delete. The additional instruction 'Provide only the hostid and the properties to change' reinforces its partial-update nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Provide only the hostid and the properties to change.' This clearly indicates the tool is for partial updates to existing hosts, implying it should not be used for creation, deletion, or full replacement. While it does not name alternative tools, the context is sufficient for an agent to differentiate from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_import_compare_configurationA
Compare configuration for import without actually importing
| Name | Required | Description | Default |
|---|---|---|---|
| rules | Yes | Rules defining how to compare (e.g., createMissing, updateExisting) | |
| format | Yes | Import format | |
| source | Yes | The XML or JSON string containing the configuration to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the critical non-destructive behavior ('without actually importing'), which is valuable. However, it does not describe what the comparison output looks like, whether it validates syntax, or any error conditions, leaving the agent with incomplete knowledge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It conveys the core purpose and key differentiator immediately, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a rich nested input schema, there is no output schema, and the description does not explain what the comparison result returns (e.g., diff, report, success message). For an agent to correctly invoke and interpret this tool, that missing context is significant. The minimal description leaves a clear gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with descriptions for all three parameters (format, source, rules). The tool description itself adds no parameter-specific meaning beyond what the schema already offers. The baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Compare configuration') and resource ('for import'), and explicitly distinguishes it from actually importing by saying 'without actually importing'. This differentiates it from sibling tools like zabbix_import_configuration and zabbix_export_configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: to preview a configuration import before committing. It clearly contrasts with 'actually importing', providing context for when to use this tool. However, it does not explicitly name alternatives or provide exclusions, so it stops short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_import_configurationC
Import Zabbix configuration from XML or JSON
| Name | Required | Description | Default |
|---|---|---|---|
| rules | Yes | Rules for how to import (e.g., createMissing, updateExisting) | |
| format | Yes | Import format | |
| source | Yes | The XML or JSON string containing the configuration to import |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavioral traits. It merely says 'Import' without revealing that this operation can create, update, or delete existing Zabbix entities (as governed by the 'rules' parameter). No mention of permissions, reversibility, or potential destructive impact. Minimal to no transparency beyond the action name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler, front-loading the verb. It is efficiently worded and easy to parse. However, it is so brief that it borders on under-specification, but as conciseness itself, it earns a 4 for zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 3 required parameters including a complex nested 'rules' object, no annotations, and no output schema, the description is inadequate. It does not explain the significance of the rules, the potential for destructive updates/deletes, or the expected outcome. The schema defines parameters but the description lacks contextual and safety guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: format, source, and rules each have descriptions. The description adds no extra parameter semantics beyond the schema. The format and source parameters are straightforward, while the complex nested rules object is only generically described in the schema. Baseline of 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb 'Import' and specifies the resource 'Zabbix configuration' and accepted formats 'XML or JSON'. It clearly implies the complementary opposite of 'export' and 'compare' tools, though it does not explicitly name alternatives. This is a clear statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not explain when to use this tool instead of zabbix_export_configuration or zabbix_import_compare_configuration, nor does it mention prerequisites, scenarios, or exclusions. The agent is left without context for selecting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_link_templates_to_hostC
Link templates to a host in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| hostid | Yes | ID of the host to link templates to | |
| templateids | Yes | Array of template IDs to link to the host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states the action without mentioning side effects (e.g., host inherits items/triggers from templates), permissions required, error conditions, or whether the operation is idempotent. This is critically insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words. It effectively communicates the core action, though it lacks structured elaboration. Efficiency in length is a positive, but there is room for more useful detail without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a mutation operation with no annotations and no output schema, the description is incomplete. It fails to explain the operational context, such as whether linking templates adds to or overwrites existing links, or the impact on host monitoring. The low complexity of the parameters partially mitigates, but behavioral gaps remain significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for both parameters (hostid and templateids), so the description adds no additional parameter-level meaning. The baseline of 3 applies because the schema already documents the parameters well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the primary action: 'Link templates to a host in Zabbix' โ a specific verb and resource that distinguishes it from the sibling unlink tool. However, it lacks scoping details such as whether linking appends to or replaces existing templates, which would make the purpose fully precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like zabbix_host_update or zabbix_unlink_templates_from_host. There are no prerequisites, constraints, or contextual hints, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_loginB
Establishes an authenticated session with the Zabbix API. The API client module handles token caching and re-login on demand.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states that a session is established and that tokens are cached, but it does not disclose side effects (e.g., idempotency, what happens if already authenticated), prerequisites (e.g., credentials, API endpoint), or return behavior. This is insufficient for a tool with no annotation safety information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with no filler. The first sentence states the core purpose, and the second provides relevant context about caching. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no params and no output schema, the description is incomplete for an agent to know whether to call this tool explicitly. The second sentence hints at automatic relogin but does not clarify if manual invocation is ever needed, nor does it mention any prerequisites. This ambiguity makes the description insufficient for confident tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description does not need to explain parameters, and it adds no parameter-related information. Since there are no parameters to clarify, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Establishes an authenticated session with the Zabbix API', using a specific verb and resource. However, it does not explicitly contrast with the sibling zabbix_logout, and the addition about 'token caching and re-login on demand' slightly muddies whether the tool is meant for manual use or automatic handling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool vs. alternatives. The note that the client 'handles token caching and re-login on demand' implies that manual login may not always be necessary, but it does not clearly state when the agent should invoke this tool or rely on automatic behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_logoutA
Terminates the current Zabbix API session within the API client module.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention side effects such as token invalidation, whether the session must be active, idempotency, or what happens to subsequent API calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with a clear verb-object structure. It contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter logout, the description gives the basic operation but lacks contextual details like error behavior, token lifecycle, or when to call it. It is adequate for a simple tool but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The description appropriately focuses on the operation, and per the rubric a zero-param tool gets a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Terminates') and names the exact resource ('current Zabbix API session within the API client module'). It clearly distinguishes this tool from sibling tools like zabbix_login and all Zabbix CRUD operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no mention of alternatives, and no exclusions or prerequisites. The description only states what it does, leaving the agent to infer appropriate usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_test_media_typeA
Test media type delivery in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| sendto | Yes | Recipient address (email, phone number, webhook URL, etc.) | |
| message | No | Test message body | This is a test message from Zabbix API. |
| subject | No | Test message subject | Zabbix Test Message |
| mediatypeid | Yes | ID of the media type to test |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention that testing sends a real message to the recipient, any permissions required, or what side effects or return values to expect. The description is too minimal to convey these important behavior traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the verb 'Test' and the resource 'media type delivery'. It contains zero wasted words and effectively communicates the core purpose, earning high marks for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, and the schema covers all parameters, but the description lacks behavioral context such as the fact that this tool sends a real test notification and any prerequisites. Without output schema or annotations, the agent has no information about the response. This is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters (mediatypeid, sendto, message, subject) having descriptive text. The tool description adds no additional parameter meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Test media type delivery in Zabbix' clearly states a specific verb (test) and resource (media type delivery), distinguishing it from sibling tools that get, create, update, or delete media types. The purpose is unambiguous and directly maps to the tool's action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usageโuse this tool when you want to verify that a media type can deliver a messageโbut it does not explicitly state when to use it, when not to use it, or mention alternative tools. No exclusions or comparative context are provided, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_unlink_templates_from_hostB
Unlink templates from a host in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| hostid | Yes | ID of the host to unlink templates from | |
| templateids | Yes | Array of template IDs to unlink from the host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. 'Unlink' implies a mutation, but it does not clarify whether this clears linked template items, requires specific permissions, or affects existing host settings. This lack of detail is a gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the tool's core function. There is no wasted information, making it appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two well-documented parameters and no output schema, the description is minimally adequate. However, the absence of behavioral nuance (e.g., whether unlinking clears associated items) means the description is not fully complete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both hostid and templateids have clear descriptions in the schema. The tool description adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Unlink templates from a host in Zabbix' uses a specific verb (unlink) and identifies the resource (templates from a host). It clearly distinguishes from the sibling tool zabbix_link_templates_to_host, which performs the inverse operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not state when to use this tool over alternatives like zabbix_host_update or zabbix_delete_templates, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_actionB
Update an existing action in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the action | |
| filter | No | Action filter configuration | |
| status | No | Status: 0 (enabled), 1 (disabled) | |
| actionid | Yes | ID of the action to update | |
| esc_period | No | Default escalation period | |
| operations | No | Action operations | |
| eventsource | No | Event source | |
| def_longdata | No | Default long message template | |
| def_shortdata | No | Default short message template | |
| update_operations | No | Update operations | |
| recovery_operations | No | Recovery operations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only indicates a mutating operation via 'Update', but does not disclose side effects, permissions, reversibility, or behavior with missing action IDs. Minimal expansion beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb, zero redundant information. Directly states the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 11 parameters, nested objects, and no annotations or output schema, the description is too sparse. It lacks context about Zabbix actions, when updates are appropriate, and response behavior. Schema covers parameters, but the description fails to provide broader operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents all 11 parameters. The description adds no additional parameter details, meeting the baseline for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and resource ('existing action') within a clear system context ('Zabbix'), distinguishing it from sibling create/delete/get action tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The phrase 'existing action' implies it's for updates, but there's no mention of prerequisites, exclusions, or alternative tools like zabbix_create_action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_dashboardB
Update an existing dashboard in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the dashboard | |
| pages | No | Dashboard pages (replaces all existing pages) | |
| users | No | Dashboard user permissions (replaces all existing permissions) | |
| userid | No | ID of the user that owns the dashboard | |
| private | No | Dashboard sharing type: 0 (public), 1 (private) | |
| auto_start | No | Automatically start dashboard slideshow | |
| userGroups | No | Dashboard user group permissions (replaces all existing permissions) | |
| dashboardid | Yes | ID of the dashboard to update | |
| display_period | No | Dashboard refresh interval in seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only says 'update' without revealing that fields like pages and permissions replace all existing values, nor any permission or side-effect information. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with zero filler words. It gets directly to the point and is appropriately front-loaded, which is the essence of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the rich schema with detailed descriptions, the description itself is too minimal for a complex update tool with 9 parameters and nested objects. No output schema or annotations, and the description fails to provide usage context or highlight key replacement behaviors, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides; it does not compensate or augment the schema in any way.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and resource ('existing dashboard'), clearly distinguishing it from sibling tools like create/delete/get dashboards. It is unambiguous about the action performed on a specific entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for modifying existing dashboards but provides no explicit guidance on when to choose this over alternatives (e.g., create for new, delete for removal). No exclusions or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_discovery_ruleB
Update an existing Low-Level Discovery (LLD) rule in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| key_ | No | Discovery rule key | |
| name | No | Name of the discovery rule | |
| type | No | Type of the discovery rule | |
| delay | No | Update interval of the discovery rule | |
| itemid | Yes | ID of the discovery rule to update | |
| status | No | Status of the discovery rule (0 - enabled, 1 - disabled) | |
| lifetime | No | Time period after which items that are no longer discovered will be deleted | |
| description | No | Description of the discovery rule | |
| interfaceid | No | ID of the host interface to use |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Update an existing...' without explaining whether it performs partial or full updates, what happens if the itemid does not exist, or any side effects. This minimal disclosure is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that communicates the core purpose directly. It is front-loaded and contains no filler, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 9 parameters and no output schema or annotations, the description is extremely minimal. It does not explain return values, prerequisites, or when to use this tool, leaving significant gaps for an agent to safely invoke it. Schema covers parameters, but broader context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented. The description adds no extra parameter meaning beyond the schema, matching the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Update') and resource ('existing Low-Level Discovery (LLD) rule in Zabbix'), distinguishing it from sibling tools like create or delete discovery rules. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., create or delete discovery rules). There is no mention of prerequisites, typical scenarios, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_hostgroupC
Update an existing host group in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New name for the host group | |
| groupid | Yes | ID of the host group to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action without disclosing behavioral aspects such as irreversibility, permission requirements, error conditions, or return value. For a mutation tool, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. It is concise and to the point, earning a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is too sparse. It does not mention what the tool returns, what happens if the groupid does not exist, or any prerequisites. While the tool is simple, the lack of context leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for both parameters (groupid and name), each with a clear description. The tool description adds no additional parameter context, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing host group in Zabbix' clearly identifies the action (update) and the resource (host group), and the word 'existing' distinguishes it from creation. However, it does not specify what fields can be updated (e.g., name), leaving that to the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like zabbix_create_hostgroup or zabbix_delete_hostgroups. No context or exclusions are provided, so the agent receives no help in choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_icon_mapB
Update an existing icon map in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the icon map | |
| mappings | No | Array of icon mappings (replaces all existing mappings) | |
| iconmapid | Yes | ID of the icon map to update | |
| default_iconid | No | ID of the default icon |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'update', which implies mutation, but does not disclose that updating the mappings array replaces all existing mappings, nor any side effects or permission requirements. The destructive nature of the mappings parameter is only documented in the schema, not the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for the simple purpose and reads clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too minimal. It does not explain the replacement behavior of mappings, any prerequisites, or the effect of the update. An agent would need to consult the schema to understand the full scope, which reduces the description's standalone completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no parameter-specific information, but the schema fully documents all four parameters and their meanings. No compensation needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates an existing icon map in Zabbix. It uses a specific verb (update) and resource (icon map), distinguishing it from create/get/delete siblings. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it should only be used for existing icon maps, nor does it reference create or delete operations. No exclusions or alternative tool names are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_itemB
Update an existing item in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| key_ | No | Item key | |
| name | No | Name of the item | |
| type | No | Type of the item | |
| delay | No | Update interval of the item | |
| units | No | Value units | |
| itemid | Yes | ID of the item to update | |
| status | No | Status of the item (0 - enabled, 1 - disabled) | |
| trends | No | A time unit of how long the trends data should be stored | |
| history | No | A time unit of how long the history data should be stored | |
| value_type | No | Type of information of the item | |
| description | No | Description of the item |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral aspects, but it does not explain whether this is a partial or full update, required permissions, side effects, or error conditions. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant information. It is appropriately sized and immediately understandable, though it sacrifices depth for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters and no output schema, a one-sentence description is insufficient to convey update semantics, return values, or error handling. The schema covers parameter definitions but not the operational context needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with descriptions for all 11 parameters, including itemid, name, type, delay, etc. The description adds no additional parameter semantics beyond what the schema already defines, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and resource ('existing item'), which clearly distinguishes this from sibling tools like zabbix_create_item and zabbix_delete_items. It also correctly implies the item already exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like creating or deleting items, nor any prerequisites such as a valid item ID. The description merely restates the action without specifying context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_maintenanceB
Update an existing maintenance period in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the maintenance period | |
| hostids | No | IDs of hosts to put in maintenance | |
| groupids | No | IDs of host groups to put in maintenance | |
| active_till | No | End time of the maintenance period (Unix timestamp) | |
| description | No | Description of the maintenance period | |
| active_since | No | Start time of the maintenance period (Unix timestamp) | |
| maintenanceid | Yes | ID of the maintenance period to update | |
| maintenance_type | No | Type of maintenance (0 - with data collection, 1 - without data collection) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the operation itself. It does not indicate whether unspecified fields are preserved or reset, whether permissions are required, if the update is reversible, or what the response contains. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It concisely conveys the essential purpose without any fluff, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has 8 parameters, no annotations, and no output schema, yet the description provides only a single sentence. It fails to explain important context such as partial update behavior, return values, or error handling. For a mutation tool of this complexity, the description is overly minimal and leaves the agent without sufficient guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 8 parameters, so the baseline is 3. The tool description itself adds no extra parameter semantics, but because the schema already documents each field's meaning and purpose, the lack of description-level parameter detail is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and clearly names the resource ('maintenance period in Zabbix'), which immediately distinguishes it from sibling tools like create, delete, and get. It accurately conveys the exact operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when this tool should be used compared to alternatives, such as zabbix_create_maintenance or zabbix_delete_maintenance. There is no mention of prerequisites, typical scenarios, or what to do before updating an existing maintenance period.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_mapB
Update an existing network map in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the map | |
| urls | No | Map URLs (replaces all existing URLs) | |
| lines | No | Map lines (replaces all existing lines) | |
| links | No | Map links (replaces all existing links) | |
| users | No | Map user permissions (replaces all existing permissions) | |
| width | No | New width of the map in pixels | |
| height | No | New height of the map in pixels | |
| shapes | No | Map shapes (replaces all existing shapes) | |
| sysmapid | Yes | ID of the map to update | |
| iconmapid | No | ID of the icon map | |
| selements | No | Map elements (replaces all existing elements) | |
| label_type | No | Map element label type | |
| userGroups | No | Map user group permissions (replaces all existing permissions) | |
| backgroundid | No | ID of the background image | |
| label_location | No | Map element label location |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosure. It only states the high-level action without mentioning side effects, permission needs, idempotency, or that array fields replace existing values. The replacement behavior is only visible in the input schema, not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It gets straight to the point and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 parameters, one required, no output schema), a minimal one-sentence description leaves gaps about the overall update behavior and expected response. However, the detailed schema descriptions partially compensate, making it adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 15 parameters have descriptions, including explicit notes that array fields like 'urls' and 'links' replace existing values. The description adds no extra parameter meaning, but the schema already does the heavy lifting, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Update an existing network map in Zabbix' with a specific verb and resource. It clearly distinguishes itself from sibling tools like zabbix_create_map, zabbix_get_maps, and zabbix_delete_maps by focusing on modifying an existing entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as create_map or get_maps. It does not mention prerequisites, required parameters, or any exclusions, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_media_typeB
Update an existing media type in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the media type | |
| type | No | Media type: 0 (Email), 1 (Script), 2 (SMS), 3 (Webhook), 4 (Jabber) | |
| passwd | No | Password for authentication | |
| status | No | Status: 0 (enabled), 1 (disabled) | |
| username | No | Username for authentication | |
| smtp_port | No | SMTP port | |
| smtp_email | No | Email address to send from | |
| description | No | Description of the media type | |
| mediatypeid | Yes | ID of the media type to update | |
| smtp_server | No | SMTP server for email media type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only states the action without mentioning side effects, required permissions, reversibility, or response behavior. 'Update' implies mutation, but no additional behavioral context is provided, which is insufficient for a tool with no other safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words, earning its place. It lacks additional structural elements like notes or examples, but for its brevity, it is efficient and not over-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, no annotations, and no output schema, a one-sentence description is inadequate. It does not explain the update flow, which fields are typically modified, any prerequisites like valid mediatypeid, or the result of the operation. The context is minimal and leaves the agent to infer too much.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all 10 parameters, so the schema does the heavy lifting. The description itself adds no parameter-level detail beyond what's already in the schema, which is acceptable for a baseline 3, but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and resource ('media type') with scope ('existing'), clearly distinguishing it from sibling tools like zabbix_create_media_type and zabbix_delete_media_types. It immediately conveys the tool's function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'existing' implies that the tool is for modifying already-created media types, which suggests usage context. However, there is no explicit guidance on when to prefer this over alternatives, such as when to create vs. update vs. test. The 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.
zabbix_update_proxyB
Update an existing proxy in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the proxy | |
| port | No | Port number of the passive proxy | |
| hosts | No | Hosts to be monitored by this proxy (replaces all existing hosts) | |
| address | No | IP address or DNS name of the passive proxy | |
| proxyid | Yes | ID of the proxy to update | |
| tls_psk | No | PSK value | |
| tls_accept | No | What connections to accept from proxy | |
| tls_issuer | No | Certificate issuer | |
| description | No | Description of the proxy | |
| tls_connect | No | How to connect to proxy | |
| tls_subject | No | Certificate subject | |
| operating_mode | No | Proxy operating mode: 0 (active), 1 (passive) | |
| timeout_script | No | Script timeout | |
| custom_timeouts | No | Whether to use custom timeouts | |
| tls_psk_identity | No | PSK identity | |
| timeout_ssh_agent | No | SSH agent timeout | |
| timeout_db_monitor | No | Database monitor timeout | |
| timeout_http_agent | No | HTTP agent timeout | |
| timeout_snmp_agent | No | SNMP agent timeout | |
| timeout_simple_check | No | Simple check timeout | |
| timeout_telnet_agent | No | Telnet agent timeout | |
| timeout_zabbix_agent | No | Zabbix agent timeout | |
| timeout_external_check | No | External check timeout |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does not mention side effects, such as the 'hosts' parameter replacing all existing host assignments, nor does it address permissions or idempotency. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that immediately gets to the point. While it is minimal, it is not overwrought, and it effectively serves as a purpose statement without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (23 parameters) and the absence of annotations and output schema, the description is inadequate. It does not convey key behavioral nuances like host replacement, TLS handling, or what the response contains, leaving the agent with insufficient context for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the 23 parameters with descriptions, so the baseline is 3. The description itself adds no parameter-specific context beyond what the schema already provides, offering no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Update') and resource ('existing proxy in Zabbix'), accurately distinguishing it from sibling tools like create_proxy and delete_proxies. It immediately conveys the tool's core function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs. alternatives, prerequisites, or any exclusions. It only states the action, leaving the agent to infer context from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_scriptC
Update an existing script in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the script | |
| type | No | Type of script (0 - script, 1 - IPMI, 2 - SSH, 3 - Telnet, 4 - global script, 5 - URL) | |
| scope | No | Script scope (1 - action operation, 2 - manual host action, 4 - manual event action) | |
| command | No | Command to execute (for script type) or URL (for URL type) | |
| groupid | No | Host group ID that the script can be run on (0 for all groups) | |
| scriptid | Yes | ID of the script to update | |
| usrgrpid | No | User group ID that can execute the script (0 for all groups) | |
| execute_on | No | Where to execute the script (0 - Zabbix agent, 1 - Zabbix server, 2 - Zabbix server (proxy)) | |
| description | No | Description of the script | |
| host_access | No | Host permissions needed (2 - read, 3 - write) | |
| confirmation | No | Confirmation text to display before executing the script |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Update an existing script in Zabbix.' It does not disclose behavioral traits such as whether it performs a partial or full update, requires authentication, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence, but it merely restates the tool name without adding useful information. It is under-specified rather than effectively concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update operation with 11 parameters and no output schema, this description is too terse. It does not explain return values, error conditions, or any operational context beyond the basic action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 11 parameters have descriptions in the schema (100% coverage), so the description does not need to add parameter semantics. The baseline is 3 because the schema is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool updates an existing script in Zabbix, providing a clear verb and resource. It doesn't explicitly differentiate from sibling update/create/delete/execute tools, but the name and 'existing' imply an update operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus creating, deleting, or getting scripts. No prerequisites or context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_serviceC
Update an existing business service in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the service | |
| tags | No | Service tags (replaces all existing tags) | |
| weight | No | Service weight | |
| parents | No | Parent services (replaces all existing parents) | |
| children | No | Child services (replaces all existing children) | |
| algorithm | No | Status calculation algorithm | |
| serviceid | Yes | ID of the service to update | |
| sortorder | No | Position of the service used for sorting | |
| description | No | Description of the service | |
| problem_tags | No | Problem tags (replaces all existing problem tags) | |
| status_rules | No | Status calculation rules (replaces all existing rules) | |
| propagation_rule | No | Status propagation rule | |
| propagation_value | No | Status propagation value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but 'Update an existing business service in Zabbix' reveals nothing about side effects, permissions, partial-update semantics, or the behavior of omitted fields. It does not even mention that list parameters (tags, parents, children) replace existing values, which is critical behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundant phrasing. It is front-loaded with the action and resource, making it easy to skim. This is appropriately concise for a high-level tool summary, even though it omits details that belong in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (13 parameters, nested objects, full-replacement semantics for several fields) and has no annotations or output schema. The description does not explain the update semanticsโsuch as whether omitted fields remain unchanged or are clearedโnor does it mention return values or error conditions. This is insufficient contextual guidance for an agent to use the tool correctly without deeper inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 13 parameters, so the schema already provides the necessary semantics. The tool description adds no additional parameter information. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and the resource ('an existing business service'), which distinguishes it from the sibling tools zabbix_create_service and zabbix_delete_services. It is specific enough, though it lacks the detail of mentioning updatable fields or scoping caveats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. The word 'existing' implies it is not for creating or deleting services, but there is no mention of prerequisites, exclusions, or when to prefer zabbix_get_services or other update tools. This offers minimal usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_templateC
Update an existing template in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Technical name of the template | |
| name | No | Visible name of the template | |
| groups | No | Host groups that the template belongs to | |
| templateid | Yes | ID of the template to update | |
| description | No | Description of the template |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description adds no behavioral context beyond the tool name. It does not disclose whether the update is partial or full, whether it requires special permissions, what happens if the template ID is invalid, or any side effects. This is a mutation tool, so the lack of such information is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. It states exactly what the tool does in a minimal format, earning a top score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too sparse. It omits usage context such as whether only provided fields are updated, what the response looks like, or any preconditions. The schema details parameters but not behavioral semantics, leaving the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all five parameters (host, name, groups, templateid, description), giving 100% coverage. The description itself adds no parameter information, so it is neutral; the baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and resource ('existing template in Zabbix'), making it unambiguous. It does not explicitly compare with sibling tools like zabbix_create_template or zabbix_delete_templates, but the verb and resource are specific enough to differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, prerequisites (e.g., template must exist), or scenarios that favor this tool. The phrase 'existing template' implies modification of an already-created entity, but it does not clarify the scope of changes or how to handle non-existent templates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_triggerB
Update an existing trigger in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL associated with the trigger | |
| status | No | Status of the trigger (0 - enabled, 1 - disabled) | |
| comments | No | Additional comments to the trigger | |
| priority | No | Severity of the trigger (0-5) | |
| triggerid | Yes | ID of the trigger to update | |
| expression | No | Reduced trigger expression | |
| description | No | Name of the trigger |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It states the mutation action ('Update') but provides no additional context such as required permissions, side effects, behavior on invalid trigger IDs, or whether properties are partially or fully updated. The phrase 'existing' hints at a constraint but does not elaborate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's purpose. It is front-loaded with the verb and resource, and there is zero extraneous information. This is appropriately concise for a simple CRUD operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema is rich, covering all parameters with descriptions, and the tool's purpose is clear. However, the description lacks any mention of return values or error behavior, and there is no output schema. For a mutation tool with no annotations, the description is a bit sparse, but the overall context provided by the name, siblings, and schema makes it minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 7 parameters with descriptions, so schema description coverage is 100%. The description itself adds no additional meaning to the parameters; it does not clarify how parameters relate to each other or provide usage examples. Baseline 3 is appropriate since the schema already documents each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing trigger in Zabbix' uses a specific verb ('Update') and resource ('trigger'), clearly distinguishing it from sibling tools like create_trigger, delete_triggers, and get_triggers. It also specifies 'existing', reinforcing that this is a mutation operation on an already-created trigger.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. There is no mention of alternatives, prerequisites, or exclusions beyond the word 'existing', which only implies that it is not for creating triggers. It does not say when to prefer this over zabbix_update_item or other update tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_userC
Update an existing user in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL of the page to redirect the user to after logging in | |
| lang | No | Language code of the user | |
| name | No | First name of the user | |
| type | No | Type of the user (1 - Zabbix user, 2 - Zabbix admin, 3 - Zabbix super admin) | |
| theme | No | User theme | |
| passwd | No | Password for the user | |
| userid | Yes | ID of the user to update | |
| refresh | No | Refresh rate | |
| surname | No | Last name of the user | |
| username | No | Username for the user | |
| autologin | No | Whether to enable auto-login (0 - disabled, 1 - enabled) | |
| autologout | No | User session life time (0 - disable auto-logout) | |
| rows_per_page | No | Amount of object rows to show per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description gives zero behavioral context. It doesn't disclose permission requirements, whether updates are partial or full, idempotency, or any side effects. This is as minimal as the 'Process' example.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no redundant words, front-loaded and clear. However, it is arguably too terse for a tool with 13 parameters, but the conciseness dimension rewards lack of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters, no annotations, and no output schema, a one-line description is severely inadequate. It fails to explain update behavior, required permissions, or what happens on success/failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the verb 'update'; it doesn't clarify parameter semantics or highlight key optional fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Update) and the resource (an existing user in Zabbix). It distinguishes from sibling tools like zabbix_create_user or zabbix_delete_users by specifying 'existing', though it doesn't explicitly mention alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, prerequisites, or how to obtain the required userid. The description doesn't mention prerequisite steps like fetching users via zabbix_get_users.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zabbix_update_value_mapB
Update an existing value map in Zabbix
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the value map | |
| hostid | No | ID of the host or template to associate this value map with | |
| mappings | No | Array of value mappings (replaces all existing mappings) | |
| valuemapid | Yes | ID of the value map to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only says 'update' without detailing side effects, such as whether the mappings array replaces all existing mappings (which is only mentioned in the schema), permission requirements, reversibility, or consequences. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is appropriately front-loaded with the verb and resource, conveying the core function efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must provide more context. It does not explain the update semantics beyond the name, such as full replacement of mappings or return behavior. The schema provides parameter details, but the description is insufficient for a potentially destructive operation without explicit safeguards or warnings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself adds no parameter-specific information, but the schema thoroughly documents each parameter with clear descriptions, including the behavior of 'mappings' replacing existing mappings. The schema does the heavy lifting, so no extra credit or penalty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Update an existing value map in Zabbix.' The verb 'update' and resource 'value map' are specific, and it distinguishes from sibling tools like create_value_map and delete_value_maps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for modifying an existing value map, but it does not explicitly state when to use it versus creating or deleting value maps, nor does it mention any prerequisites such as needing an existing valuemapid. Usage is inferred from the name and 'existing' keyword.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target distinct Zabbix resources and actions, but several clusters overlap, such as data retrieval tools (get_latest_data, get_history, get_trends, get_item_history_range) and summary tools (get_system_overview, get_infrastructure_health, get_actionable_items). Descriptions help, but with 102 tools, the volume increases selection ambiguity.
Naming conventions are mixed: some resources use resource-first (zabbix_host_get, zabbix_host_create), others use verb-first (zabbix_get_hostgroups, zabbix_create_hostgroup). Pluralization is also inconsistent (zabbix_delete_users vs zabbix_host_delete). Exceptions like zabbix_unlink_templates_from_host further break predictability.
With 102 tools, this is an extreme count that overwhelms the agent's tool selection space. Even for a complex system like Zabbix, exposing nearly every API method as a separate tool is excessive. The server would benefit from consolidating operations into more compact or grouped tools.
The tool set provides CRUD coverage for most major Zabbix entities, including hosts, items, triggers, templates, maintenance, users, scripts, discovery rules, media types, actions, maps, dashboards, proxies, and services. Minor gaps exist (e.g., no update/delete for user groups, no user media management, no update for correlations), but these are workable.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
One MCP server for 180+ live web-data APIs returning clean JSON from sites that block scrapers.
Related MCP Servers
- AlicenseAqualityCmaintenance๐ Complete MCP server for Zabbix integration - Connect AI assistants to Zabbix monitoring with 40+ tools for hosts, items, triggers, templates, problems, and more. Features read-only mode and comprehensive API coverage.3251GPL 3.0
- AlicenseNot gradedqualityAmaintenanceExposes the complete Zabbix API to MCP-compatible AI assistants, enabling natural language management of hosts, problems, and templates across multiple instances. It provides 220 tools for comprehensive monitoring and configuration with support for read-only modes and secure authentication.189AGPL 3.0
- AlicenseBqualityCmaintenanceA comprehensive MCP server for infrastructure operations with 92 tools across 13 categories, covering system monitoring, networking, containers, multi-cloud management, databases, CI/CD, IaC, security, and remote SSH fleet management.921MIT
- FlicenseNot gradedqualityDmaintenanceComprehensive MCP server providing 89 tools and 13 React UI apps for complete Zendesk Support API integration, enabling ticket, user, organization, and automation management.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/leroylim/zabbix-mcp-server-nodejs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server