Server provides 12 read-only tools with consistent naming (etcd_* prefix) and complete JSON schemas. All tools have descriptions and input schemas with proper type definitions. However, descriptions are terse (10-50 chars, well below the 194-char baseline), parameter descriptions lack actionable guidance on formats/constraints, and output schemas are not documented. No error handling guidance, no recovery patterns, and no composition support for multi-step workflows. Tool names are clear but descriptions do not explain WHEN to use each tool or what distinguishes similar operations (e.g., etcd_get vs etcd_lease_ttl).
List active maintenance alarms.
Read whether etcd auth is enabled.
Read one key or a bounded key range.
Read a KV hash from a configured endpoint.
List active lease IDs.
Read lease time-to-live metadata.
List current cluster members.
Descriptions are critically terse (10-50 chars vs. 194-char baseline). Tools like 'etcd_lease_list' and 'etcd_member_list' lack context on WHEN to call them or what distinguishes them from related tools. LLMs cannot determine tool selection intent from 'List active lease IDs' alone.
Output schemas are not documented. Callers cannot predict what fields are returned, breaking downstream tool composition and forcing LLMs to guess field names for chaining operations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Read a role's permissions.
List roles visible to the configured client.
Read the status of a configured endpoint.
Read a user's roles.
List users visible to the configured client.
Parameter descriptions lack actionable constraints. 'UTF-8 key' and 'Decimal lease ID' do not explain format, range, or validation rules. LLMs cannot self-correct invalid input without explicit guidance (e.g., 'lease_id must be a positive integer, 1 - 9223372036854775807').
No error handling guidance. Tools do not document what errors are possible, whether they are retryable, or what the LLM should do next. A 'key not found' error should suggest alternative queries; a 'permission denied' error should guide the user to check credentials.
No pagination support. Tools like 'etcd_lease_list', 'etcd_member_list', 'etcd_user_list', and 'etcd_role_list' do not accept limit/offset parameters or return total counts. Large result sets will blow context windows and degrade LLM reasoning.