Jira-pilot
About AI-powered Jira CLI and MCP server for humans and agents manage issues, sprints, boards with interactive wizards, multi-provider AI
Jira Pilot ✈️
The AI-Powered Jira CLI and MCP Server for Humans and Agents.
jira-pilot is a next-generation CLI that combines traditional developer tools with modern AI capabilities.
- For Humans: A beautiful, interactive CLI to manage issues, sprints, boards, and code. Now with AI Code Reviews, Epic Planning, Daily Standups, and Natural Language JQL.
- For Agents: A fully compliant Model Context Protocol (MCP) server with 14 tools that lets AI assistants (like Claude Desktop, Cursor, or Gemini) interact with your Jira instance safely.
Features at a Glance
👤 Human-Centric Features
| Feature | Description |
|---|---|
| Issue Management | Create, edit, view, list, transition, assign, and comment on issues |
| Work & Time | New: Log work (2h 30m), manage sprints (start/complete), and subtasks |
| Developer Tools | New: Open PRs, save local filters, git branch integration |
| Power Tools | New: Bulk assign, bulk label, bulk transition matching JQL |
| Advanced Data | New: Upload attachments, manage custom fields by alias |
| AI Copilot | Summarize, draft descriptions, suggest actions, review code, plan epics, standup reports |
| Interactive Wizards | Step-by-step prompts with enquirer — no flags required |
| Rich Visualization | Dashboard overview, spinners, and formatted output |
| Export | Output to JSON or Markdown files, pipeable JSON output |
🤖 Agentic Features (MCP)
| Feature | Description |
|---|---|
| 14 MCP Tools | list_issues, get_issue, create_issue, update_issue, transition_issue, assign_issue, add_comment, add_worklog, create_subtask, add_attachment, search_users, myself, list_projects, list_sprints |
| LLM-Optimized | Clean, structured JSON responses for efficient token usage |
| Stdio Transport | Standard MCP stdio server — works with any MCP client |
🚀 Installation
Prerequisites
- Node.js 20.0.0 or higher
Global Install (Recommended)
npm install -g jira-pilot
After installing, the jira command is available globally.
⚙️ Configuration
Before using the tool, set up your credentials. You can get an API Token from Atlassian Account Settings.
Initial Setup
jira config setup
You will be prompted for:
- Jira Site URL — e.g.,
https://your-company.atlassian.net - Email — Your Atlassian account email
- API Token — The token you generated from Atlassian
- Enable AI — Toggle AI features on/off
- AI Provider — Choose between
openai,gemini, oranthropic - AI API Key — Your API key for the selected provider
Profiles & Management
Manage credentials for multiple environments (e.g., Work vs. Personal, Prod vs. Dev).
jira config view # Show current configuration (keys are masked)
jira config save work # Save current creds as profile 'work'
jira config use personal # Switch to profile 'personal'
jira config profiles # List all saved profiles
jira config delete-profile work
jira config clear # Remove all stored credentials
Custom Field Aliases
Define aliases for custom field IDs to make commands easier:
jira config field set points customfield_10011
jira config field list
✨ Interactive Experience
Jira Pilot is designed to be fully interactive. You don't need to remember complex flags.
Just run the command, and we'll guide you:
- Selection: Use arrow keys
↑↓to navigate lists (Projects, Issue Types, Priorities). - Filtering: Start typing to filter long lists (e.g., finding a specific assignee).
- Wizards: Complex flows like creating an issue are broken down into simple steps.
- Confirmation: Destructive actions prompt for confirmation (y/N).
Example:
jira issue create
? Select Project: PROJ - My Project
? Select Issue Type: Bug
? Summary: Login page crashes
? Priority: High
? Assignee: Me
🖥️ Text User Interface (TUI)
Experience Jira in a persistent, interactive terminal interface.
jira tui
Key Features:
- Dashboard: Overview of your assigned work.
- Issue Navigator: Browse, filter, and view issues.
- Kanban Boards: Visualize and manage work on Agile boards.
- Interactive: Use arrow keys to navigate rows and columns.
Navigation Shortcuts:
←/→: Switch Tabs (Dashboard, Issues, Boards) or Board Columns↑/↓: Navigate ListsEnter: Select / View DetailsEsc/b: Backq: Quit
📊 My Dashboard
Start your day with a high-level overview of what's on your plate.
jira dashboard
What you'll see:
- 👋 Welcome Message: Personalized greeting.
- 🔥 High Priority: Issues assigned to you that need immediate attention.
- 📋 Recent Activity: Your recently viewed or updated issues.
- 🚀 Sprint Status: (If applicable) Active sprint progress.
📖 Usage Guide
📋 Issue Management
List Issues
# List issues assigned to you in active sprints (interactive)
jira issue list
# List with custom JQL
jira issue list --jql "project = PROJ AND priority = High"
# Filter by project, assignee, or status via flags
jira issue list --project PROJ --assignee "john.doe" --status "In Progress"
# Limit results
jira issue list --limit 20
# Natural Language JQL (AI)
jira issue list --ask "high priority bugs assigned to me"
# Export results to file
jira issue list --export json # Creates issues-TIMESTAMP.json
jira issue list --export md # Creates issues-TIMESTAMP.md
# Pipeable JSON output (to stdout)
jira issue list --output json | jq .
Search Issues
Quick text search using JQL text ~ "query":
jira issue search "login bug"
jira issue search "error 500" --project PROJ
View Issue Details
jira issue view PROJ-123
Displays: summary, status, priority, assignee, description, components, labels, dates, versions, and recent comments.
Create Issue
# Interactive wizard (recommended)
jira issue create
# Non-interactive with flags for speed
jira issue create -p PROJ -s "Fix login bug"
jira issue create -p PROJ -t Bug -s "Crash on save" --priority High
jira issue create -p PROJ -t Story -s "Add dark mode" -d "Users want a dark theme" -a me
# With Custom Fields (using Alias or ID)
jira issue create -p PROJ -s "Story" --custom "points=5" --custom "customfield_10022=DevOps"
Edit Issue
# Interactive Field Picker
jira issue edit PROJ-123
# Quick Edits
jira issue edit PROJ-123 -s "New Summary" --priority High
jira issue edit PROJ-123 -d "New description"
jira issue edit PROJ-123 --custom "points=8"
Transition Issue Status
# Interactive — shows available transitions
jira issue transition PROJ-123
# Direct — specify target status
jira issue transition PROJ-123 --status "In Progress"
jira issue transition PROJ-123 -s Done
Assign / Reassign
# Interactive — choose Myself, Unassign, or Search
jira issue assign PROJ-123
# Quick assign
jira issue assign PROJ-123 -a me # Assign to yourself
jira issue assign PROJ-123 -a none # Unassign
Add Comment
# Interactive — prompts for comment text
jira issue comment PROJ-123
# Inline comment
jira issue comment PROJ-123 -m "Fixed in latest build"
Other Actions
# Link Issues
jira issue link PROJ-123 PROJ-456 -t Blocks
# Watchers
jira issue watch PROJ-123
jira issue unwatch PROJ-123
# Attachments
jira issue attach PROJ-123 ./logs/server.log
⏱️ Work & Time
Worklogs
Track time naturally against issues.
# Add worklog
jira issue worklog add PROJ-123 2h "Researching API"
jira issue worklog add PROJ-123 30m "Daily standup"
jira issue worklog add PROJ-123 1d "Implementation"
# List worklogs
jira issue worklog list PROJ-123
Subtasks
# Interactive subtask creation
jira issue subtask PARENT-123
# Quick subtask
jira issue subtask PARENT-123 -s "Implement backend logic" --assignee me
Sprint Management
Manage your Agile boards directly.
# List sprints
jira sprint list --board "My Board"
jira sprint list --board 5 --state active
# List issues in active sprint
jira sprint issues --board 5
# Start/Complete Sprints
jira sprint start 123 --start-date 2023-10-01 --end-date 2023-10-15
jira sprint complete 123
👨💻 Developer Workflow
Pull Requests
Open a GitHub PR with title and body pre-filled from the Jira issue.
jira issue pr PROJ-123
# Requires 'gh' CLI to be installed and authenticated
Git Integration
Create feature branches automatically named from the issue summary.
jira git branch PROJ-123
# Creates: feature/PROJ-123-issue-summary-slug
Saved Filters
Save complex JQL queries locally for quick access.
# Save a filter
jira filter save "My Bugs" "assignee = currentUser() AND issuetype = Bug AND status != Done"
# List saved filters
jira filter list
# Use a saved filter
jira issue list --filter "My Bugs"
# Delete a filter
jira filter delete "My Bugs"
⚡ Power Tools (Bulk Actions)
Perform actions on multiple issues matching a JQL query. Great for cleanups or mass updates.
Bulk Transition
Move multiple issues to a new status.
jira bulk transition -j "project = PROJ AND status = 'To Do'" -s "In Progress"
# Optional: -y to skip confirmation
Bulk Assign
Assign a set of issues to a user.
jira bulk assign -j "priority = High AND assignee is EMPTY" --assignee me
Bulk Label
Add or remove labels from a set of issues.
jira bulk label -j "fixVersion = 1.0" --add "release-candidate" --remove "wip"
📂 Projects & Boards
List Projects
jira project list
# Displays: project key, name, lead, and style in a formatted table.
List Boards
# List all boards
jira board list
# Filter by project
jira board list -p PROJ
# Filter by type
jira board list -t scrum
jira board list -t kanban
🤖 AI Features
Requires: AI enabled in
config setup.
Summarize an Issue
Get an AI-generated TL;DR of long issue threads with comments:
jira ai summarize PROJ-123
Draft an Issue Description
Generate a structured issue description from rough notes or bullet points:
# Interactive — prompts for your notes
jira ai draft
# Inline with issue type context
jira ai draft -i "login fails, returns 500, only on mobile" -t bug
jira ai draft -i "add dark mode toggle to settings" -t story
Suggest Next Actions
Analyze an issue and get AI-powered suggestions for what to do next:
jira ai suggest PROJ-123
Returns: Immediate Next Action, Potential Blockers, Suggested Status Transition, and Recommendations.
AI Code Review
Analyze linked PRs/code changes against issue requirements:
jira ai review PROJ-123
Requires githubToken in config.
AI Epic Planning
Break down an Epic into child Stories/Tasks and bulk create them:
jira ai plan EPIC-123 # Interactive selection of proposed tasks
AI Standup Report
Generate a daily standup based on your recent activity:
jira ai standup
Outputs: Yesterday, Today, Blockers.
🧠 Using with AI Agents (MCP)
jira-pilot implements the Model Context Protocol (MCP), making it plug-and-play for AI assistants.
Starting the MCP Server
jira mcp
Available MCP Tools (14)
Everything you need to build a fully autonomous Jira agent:
jira_list_issues: Search via JQL (supports limit)jira_get_issue: Get full detailsjira_create_issue: Create new issue (ADF support)jira_update_issue: Update summary, desc, priority, assigneejira_transition_issue: Change statusjira_assign_issue: Change assigneejira_add_comment: Add commentjira_add_worklog: Log timejira_create_subtask: Create subtaskjira_add_attachment: Upload file (absolute path)jira_search_users: Search for usersjira_myself: Get current user detailsjira_list_projects: List accessible projectsjira_list_sprints: List sprints for a board
Agent Configuration (Claude Desktop)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "jira-pilot", "mcp"]
}
}
}
VS Code / Cursor Configuration
Add to your .vscode/mcp.json or equivalent:
{
"servers": {
"jira-pilot": {
"command": "jira",
"args": ["mcp"]
}
}
}
📝 Prompts
Pre-defined templates to help LLMs interact with Jira effectively.
| Prompt | Arguments | Description |
|---|---|---|
| jira-assist | None | System prompt that teaches the LLM how to use Jira Pilot tools best. |
| jira-summarize-issue | issueKey | Fetches an issue and instructs the LLM to provide a concise summary. |
📦 Resources
Direct access to Jira data as context.
| URI | Description |
|---|---|
| jira://myself | Details of the currently authenticated user (excluding sensitive PII). |
| jira://projects | List of all accessible Jira projects. |
🔍 Verification
You can verify the MCP server implementation using the official inspector:
# If running fro source
npx @modelcontextprotocol/inspector node dist/bin/jira.js mcp
# If installed globally (or via npx)
npx @modelcontextprotocol/inspector npx -y jira-pilot mcp
📦 CLI Command Reference
Run jira help or jira [command] help to see all options.
jira [command]
Commands:
config Configure Jira credentials & profiles
issue Manage Jira issues
project Manage Jira projects
board Manage Jira boards
sprint Manage Sprints
bulk Bulk operations on Jira issues
dashboard Show a quick overview of your Jira activity
git Git integration for Jira
ai AI Helper commands
mcp Start MCP Agent Server (Stdio)
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details on how to submit a pull request and set up your development environment.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
🛡️ Security
If you discover a security vulnerability within this project, please check SECURITY.md for our reporting policy.
📄 License
ISC
Related Servers
Outline MCP Server
MCP server for the Outline knowledge base and document management tool.
Notion API MCP
Interact with Notion's API to manage todo lists, databases, and content organization.
Things MCP
Integrate with the Things 3 to-do app on macOS.
TeXFlow
A document authoring and composition server for creating PDFs from LaTeX and Markdown, supporting collaborative editing and project-based workflows.
Claudesidian MCP
Integrates Model Context Protocol (MCP) with Obsidian, allowing AI assistants to interact with your notes and vault.
Moneybird MCP Server
Connects AI assistants to Moneybird accounting software via its API.
Google Calendar
Integrates with the Google Calendar API to read, create, update, and delete calendar events.
Google Calendar Integration Project
Manage and interact with Google Calendar events using the Google Calendar API.
n8n Video Compilation
Automate AI-powered video compilation workflows using n8n.
Jira
Interact with Jira to manage issues, projects, and workflows using the Jira Cloud Platform REST API.