A Model Context Protocol server for Jira Insights (JSM) schemas providing tools for interacting with Jira Insights asset schemas
Three tools with complete input schemas and descriptions, but significant gaps in output documentation and error handling. Tool names follow verb_noun pattern (manage_*) but are overly generic, 'manage' obscures the specific CRUD operation. Parameters are well-typed with enums and defaults, but descriptions lack actionable guidance on when to use each operation or how to chain tools. No documented output schemas, pagination guidance, or error recovery paths. Schemas are visible and properly structured, but descriptions average ~80 chars (below the 194-char baseline for A+ tools) and lack context on prerequisites or dependencies.
Manage Jira Insights objects with CRUD operations and AQL queries
Manage Jira Insights object types with CRUD operations
Manage Jira Insights object schemas with CRUD operations
Tool names use generic 'manage_' verb instead of specific CRUD verbs (get_, create_, update_, delete_, list_). LLMs cannot infer operation intent from name alone; must read full description. Splits intent across operation enum rather than separate tools.
No documented output schemas. LLMs cannot plan downstream tool calls or extract required fields (e.g., schemaId returned by create_schema for use in create_object_type). Violates pattern:tool and mxe:include-chaining-ids.
Descriptions lack actionable context. No guidance on when to use each operation, prerequisites, or error recovery. E.g., 'Manage Jira Insights object schemas with CRUD operations' does not explain that create requires name, or that list returns paginated results. Average description length ~80 chars vs. 194-char baseline.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
No error handling guidance. Tool descriptions do not indicate which errors are retryable, user-fixable, or fatal. No recovery hints (e.g., 'If schema not found, call list_schemas first'). Violates pattern:recovery-guide.
Parameter 'operation' enum forces multi-step reasoning. LLM must decide operation type before calling tool, then pass it as a string. Separate tools (get_schema, create_schema, list_schemas) would be clearer and follow pattern:tool single-responsibility principle.