This server has 17 tools with consistent naming conventions (verb_noun pattern like guardrails_query, guardrails_resource_list) and reasonably detailed descriptions. However, there are significant gaps in schema documentation, parameter descriptions for some tools, and output schema documentation. Most tools have explicit input schemas with type definitions and required fields, but several tools lack parameter descriptions entirely (guardrails_query, guardrails_query_runnable, guardrails_query_runnable_introspection, guardrails_process_template). Tool descriptions range from adequate to good (most 50-150 chars), meeting the 10-1024 char guideline. The server follows the verb_noun pattern well (15/17 tools), but lacks composition guidance and comprehensive output schema documentation. No tool descriptions explicitly state whether they modify state, which is problematic for the single WRITE operation (guardrails_control_run). Error handling is mentioned as present but not visible in provided source code snippets.
Discover, search and filter controls in Turbot Guardrails.
Run a Turbot Guardrails control by its ID.
Show detailed information about a specific control.
Discover, search and filter control types in Turbot Guardrails.
Show detailed information about a specific control type.
Discover, search and filter policy settings in Turbot Guardrails.
Three tools (guardrails_query, guardrails_query_runnable, guardrails_query_runnable_introspection) lack visible input schemas entirely. Without schema documentation, LLMs cannot understand what parameters these tools accept or their constraints.
guardrails_control_run is the only WRITE operation but its description does not explicitly state that it modifies state or has irreversible consequences. Agents cannot determine if the call is safe to retry.
Output schemas are not documented in tool definitions. LLMs cannot predict what fields will be returned, complicating downstream tool chaining and result interpretation.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 54 | <=2025-11-25 | v2 |
| 2026-03-09 | C | 63 | - | v1 |
Show detailed information about a specific policy setting.
Discover, search and filter policy types in Turbot Guardrails.
Show policy type details
Process templates
Execute GraphQL queries
Query runnable types
Introspect runnable types
List resources
Show resource details
List resource types
Show resource type details
Filter parameter descriptions in list/search tools include example filter syntax (e.g., 'title: "my server"', 'tags:env=dev'). While detailed, this risks LLMs treating examples as the only valid syntax. Consider moving examples to the tool description and stating the filter format more formally.
No error handling documentation visible in tool definitions. Descriptions do not explain what happens on invalid input, missing resources, or API failures, or what the LLM should do next.
Three tools (guardrails_query, guardrails_query_runnable, guardrails_process_template) have generic or vague names that do not clearly convey their function. 'query' is ambiguous, does it query resources, controls, policies, or something else? Names should follow verb_noun pattern more strictly.
Pagination support is unclear. Many list tools accept a 'filter' parameter that mentions 'limit' syntax, but it's unclear if standard pagination parameters (page, offset, limit, cursor) are supported as explicit parameters or only via filter strings.