Model Context Protocol (MCP) server for Telegraf Controller integration
The server has well-formed tool definitions with consistent naming and mostly complete schemas, but descriptions are sparse and many lack the depth needed for optimal LLM reasoning. All 16 tools follow verb_noun naming conventions (list_, get_, create_, update_, delete_), which is excellent. However, tool descriptions average ~100 chars, below the 194-char baseline, and lack the WHEN-to-use context that guides LLM selection. Parameters are typed with good enum usage (status_filter, confirm flags), but descriptions lack format constraints and dependency hints. No output schemas are documented, no error recovery guidance, no pagination parameters despite list_ tools, and parameter descriptions are often one-line rather than explanatory. Security is appropriately handled (no credentials exposed), and composition is sound (single responsibility, good tool chains).
Create a new Telegraf configuration
Create a new reporting rule to define when agents are considered unhealthy
Delete a Telegraf agent from the controller
Delete a Telegraf configuration
Delete a reporting rule (agents using it will be reassigned to default rule)
Get detailed information about a specific Telegraf agent
Get a summary of all agents including status breakdown and health percentage
No documented output schemas for any tool. LLMs cannot plan downstream calls or extract required data from responses without knowing the return structure.
List tools (list_configs, list_agents, list_reporting_rules) lack pagination parameters (limit, offset, page_size, cursor). Without pagination controls, large result sets will blow context windows.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 49 | - | v1 |
Get a Telegraf configuration in TOML format with optional parameter substitution
Get detailed metadata about a Telegraf configuration (JSON format)
Get details of a specific reporting rule
Check the health status of the Telegraf Controller
List Telegraf agents, optionally filtered by status
List all Telegraf configurations with metadata
List all reporting rules that define agent health thresholds
Update an existing Telegraf configuration
Update an existing reporting rule
Tool descriptions are terse (50 - 70 chars for most tools, well below the 194-char baseline). They lack guidance on WHEN to use each tool or how it differs from similar tools (e.g., get_config vs get_config_details).
Parameter descriptions are minimal. For example, 'confirm' on delete_agent states 'Must be set to true to confirm deletion' but does not explain the tool's destructive nature or recommend a confirmation pattern.
No error handling guidance. Tools lack recovery hints (e.g., 'config not found, try list_configs() to see available options'). LLMs cannot self-correct on failures.
Destructive tools (delete_config, delete_agent, delete_reporting_rule) have no dry-run, preview, or explicit pre-flight check. A confirmation flag alone does not prevent catastrophic mistakes.
Parameter 'labels' in create_config and update_config is documented as 'Comma-separated labels' but has no format validation, length limits, or character restrictions in the schema. LLMs may pass invalid label strings.
create_reporting_rule and update_reporting_rule accept numeric thresholds (threshold_seconds, auto_delete_threshold_seconds) but descriptions lack minimum/maximum bounds or validation rules in the schema.
get_config_details and get_config return potentially overlapping or ambiguous data. The distinction is not explained in descriptions, risking LLM confusion about which to call.