MCP server for Jira issue creation and update workflows with interactive wizards
This server exhibits significant structural issues that severely limit its usability for LLM agents. The most critical problem is the widespread use of a 'dummy parameter' (random_string) required for tools that should have no parameters. This pattern appears in 6 of 18 tools (analyzeIssueWizardTool, createIssueWizardTool, getStateWizardTool, getStatusWizardTool, initiateStateWizardTool, resetStateWizardTool, updateIssueFromStateTool), violating the principle that tool signatures should match actual usage. The dummy parameter forces agents to hallucinate meaningless values and pollutes tool definitions. Additionally, the jiraGet tool (tool #18) has an empty properties object in its inputSchema, providing no guidance on what parameters it accepts. Parameter descriptions are generally present and adequate, but several tools lack sufficient detail about their state management dependencies and workflow ordering. Output schemas are not documented anywhere in the codebase provided. The wizard-based approach creates a complex state machine that requires agents to follow a rigid sequence, which is inflexible for multi-turn conversations. Error handling patterns are not evident in the provided code samples.
Analyzes a Jira issue by key, fetching the issue data and comments, then performing comprehensive analysis including scrum/agile best practices assessment.
Search for Jira issues using JQL (Jira Query Language) with pagination support. Returns essential issue fields including key, summary, status, and assignee.
Analyzes the issue being created in the wizard and provides specific insights, best practices, and improvement suggestions.
Finalizes the wizard process by creating a Jira issue using the currently configured state (project, issue type, fields). 1. Don't execute without consulting the user first. 2. Create the issue. 3. Return the issue key, the url to the issue, and a success message with the summary of the fields.
Retrieve the available fields required for the currently selected project and issue type. **IMPORTANT:** Before calling this tool, always check if the wizard state (analysis.metadata) already contains the required field metadata. - Only call this tool if the state is missing, incomplete, or a force refresh is explicitly required. - Avoid redundant API calls; prefer using the existing state for efficiency and consistency. 1. Call this after selecting a project and issue type to know what information is needed, but only if the state does not already have it. 2. Inform the user of required and optional fields in a human-readable format. 3. Iteratively discuss with the user to ensure all desired fields are retrieved. 4. Do not move on to the next step until the user confirms it is OK to proceed.
Dummy parameter pattern (random_string) required for no-parameter tools in 7 tools
jiraGet tool has completely empty inputSchema properties object with no parameter guidance
No output schemas documented for any tool; LLMs cannot determine response structure for downstream planning
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 39 | - | v1 |
Get available Jira issue types for the selected project. Call this *after* a project has been selected using 'updateState'. The wizard will guide the user to select an issue type.
Retrieve available Jira projects to start the issue creation process. This is often the first step. The wizard will guide the user to select a project.
Get the current internal state of the issue creation wizard, including selected project, issue type, and entered field values. Useful for checking progress or debugging.
Get high-level status information about the issue creation wizard, such as the current step (e.g., project selection, field completion).
Initialize a new, empty state for the issue creation wizard. Useful for testing state persistence across multiple tool calls. IMPORTANT: Do not jump ahead in the workflow. Always follow the steps in order and wait for the user's response before moving to the next step. 1. Initiate State 2. Choose a project 3. Choose an issue type 4. Retrieve the fields for the issue type 5. Update the state with the fields 6. Iterate through the fields and update the state with the field metadata 7. Analyze the issue for good scrum and agile practices and fields 8. Create the issue
Resets the issue creation wizard state completely, clearing any selected project, issue type, or field values. Stops any ongoing wizard process.
Sets the analysis complete flag for the current issue creation session
Sets the user confirmation flag for the current issue creation session. CRITICAL: Wait for the user to confirm issue creation before calling this tool.
Update and validate specific field values in the wizard state after retrieving the necessary fields with `getFields`. Fields are always validated and persisted if valid. If validation fails, an error is returned. Always check the response for side effect information.
Update the core state of the issue creation wizard. Use this to set the `projectKey`, `issueTypeId`, `fields`, or advance the `step` in the process.
Fetch a Jira issue by key and load it into the state manager for unified update workflows. Input: { issueKey: string } Output: { success: true, state: WizardState } or { success: false, error: ErrorObject }
Update a Jira issue using the current state. This tool works in two modes: 1) Immediately after creating an issue, allowing you to refine details, or 2) After loading an existing issue, making changes to the loaded issue. The tool requires no parameters as it uses the current state. CRITICAL WORKFLOW INSTRUCTIONS: - When updating a newly created issue: DO NOT reset the state between issue creation and update. After successful creation with issueCreation_createIssue, the state automatically transitions to UPDATING_POST_CREATE mode with the new issueKey preserved. Simply update fields as needed and then call this tool. - When updating an existing issue: First load the issue with getJiraIssue, then initialize the update state, make field changes, and finally call this tool. - This tool will fail if state has been reset between creation and update attempt, as it requires either UPDATING_POST_CREATE or UPDATING_EXISTING mode with a valid issueKey.
Generic Jira GET tool for making authenticated requests to any Jira REST API endpoint.
Rigid state machine wizard workflow enforces strict sequencing; agents cannot deviate from prescribed steps or parallelize actions
No error handling or recovery guidance evident in tool definitions
Unclear state dependencies and prerequisites for tool execution; descriptions lack explicit ordering requirements
jiraGet lacks a meaningful description (only 'Generic Jira GET tool...'); insufficient context for LLM tool selection
Tool names mix verb_noun conventions inconsistently (e.g., 'issueCreation_analyzeIssue' vs 'analyzeJiraIssue'); inconsistent naming across tool families creates ambiguity
Complex state persistence requirements not clearly documented; no guidance on when state persists vs resets across tool calls