Server has 7 tools with basic schemas and descriptions, but significant gaps prevent higher scores. All tools have descriptions (10-50 chars, mostly short), and input schemas are present with type definitions. However, descriptions lack depth, most are single-sentence and under 50 chars, well below the 194-char baseline for A+ tools. No output schemas documented. Parameter descriptions are minimal (e.g., 'The Jira issue key' without format guidance). No error recovery guidance, no enum constraints for constrained inputs (e.g., issueType, transitionName), and no documentation of dependencies between parameters. Tools like updateIssue accept generic 'fields' object with no schema, forcing LLMs to guess valid field names. No pagination guidance for searchIssues or getIssueComments despite returning lists. Missing idempotency and side-effect declarations.
Add a comment to a Jira issue
Create a new Jira issue
Fetch a Jira issue by its key
Fetch all comments from a Jira issue
Search for Jira issues using JQL (Jira Query Language)
Transition a Jira issue to a different status
Update fields on an existing Jira issue
updateIssue accepts untyped 'fields' object with no schema or guidance on valid field names. LLMs cannot determine what fields are allowed, leading to invalid API calls.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required IDs (e.g., issueKey from createIssue response).
Descriptions are too short (10-50 chars vs 194-char baseline). Most lack context on WHEN to use the tool, WHAT it returns, or prerequisites. E.g., 'Fetch a Jira issue by its key' omits format guidance ('e.g., STUDY-11144') and what fields are returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
No enum constraints for constrained inputs. issueType, transitionName, and hosting type accept free-form strings, inviting hallucinated values. Should declare valid options as enums.
No error recovery guidance. Errors are thrown as generic messages (e.g., 'Failed to fetch issue') without actionable next steps. LLMs cannot self-correct or retry intelligently.