jira-mcp-server
This server is an MCP integration that lets AI agents manage Jira projects, issues, sprints, boards, releases, and more through natural language or programmatic calls.
Project & Issue CRUD: List projects, search issues (JQL or text), create/update/get/delete issues, create subtasks, bulk create (up to 50) and bulk delete.
Workflow Management: Get and perform issue transitions (status changes), add/update/delete comments.
Agile & Sprint Management: List boards, get sprints and backlogs, create/update/delete sprints, and start/complete sprints.
Releases & Versions: List, create, update, and delete project versions/releases.
Time Tracking: Add, update, and delete worklogs.
Collaboration: Assign issues to users, find users by search, get current user profile.
Issue Linking & Attachments: Link issues, delete links, add/delete attachments.
Labels: Retrieve all labels used in the instance.
Bulk Operations: Transition multiple issues at once; delete multiple issues/sprints/versions efficiently.
Provides tools for managing Jira projects, issues, sprints, boards, versions, worklogs, comments, attachments, and users via Jira's API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jira-mcp-server find all open bugs in project PROJ assigned to me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Jira MCP Server: AI-Powered Issue Tracking
Transform your Jira projects into a living workspace for AI agents. This Model Context Protocol (MCP) server allows LLMs (like Gemini, Claude, and GPT-4) to see, organize, and manage your tasks and sprints with natural language.
π Overview
This project bridges the gap between AI and your Jira workflow. Instead of manually navigating complex Jira screens, you can tell your AI: "Find all open bugs in the project and assign them to me," or "Create a new story for the login refactoring with high priority."
Global Usage: You can save this project anywhere on your computer. Once registered, your AI will be able to start the server automatically whenever neededβno manual terminal execution required.
Related MCP server: Jira MCP Server
π Prerequisites
Node.js (v20.0.0 or higher recommended) - Download here
Git - Download here
Jira API Credentials: Get an API Token here
π οΈ Quick Start
1. Installation & Build
# Clone the repository (or copy the files)
npm install
npm run build2. Configuration
Create a .env file in the project root (use .env.example as a template):
JIRA_EMAIL=your_email@example.com
JIRA_API_TOKEN=your_api_token
JIRA_BASE_URL=https://your-domain.atlassian.net3. Register with your AI client
Claude Code (Recommended)
claude mcp add --scope user jira node "C:\FULL_PATH\TO\jira-mcp-server\dist\index.js"Env vars are read from the .env file or can be passed inline with -e KEY=VALUE flags.
VS Code (GitHub Copilot / Claude extension)
Add to your user settings.json (Ctrl+Shift+P β Open User Settings JSON):
{
"mcp": {
"servers": {
"jira": {
"command": "node",
"args": ["C:\\FULL_PATH\\TO\\jira-mcp-server\\dist\\index.js"],
"env": {
"JIRA_EMAIL": "your_email@example.com",
"JIRA_API_TOKEN": "your_api_token",
"JIRA_BASE_URL": "https://your-domain.atlassian.net"
}
}
}
}
}Cursor
Add to %USERPROFILE%\.cursor\mcp.json:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["C:\\FULL_PATH\\TO\\jira-mcp-server\\dist\\index.js"],
"env": {
"JIRA_EMAIL": "your_email@example.com",
"JIRA_API_TOKEN": "your_api_token",
"JIRA_BASE_URL": "https://your-domain.atlassian.net"
}
}
}
}Always use theabsolute path to dist/index.js in the configuration above.
β‘ Available Tools
Your AI agent will automatically "learn" these advanced capabilities:
π Project & Issue Management (Full CRUD)
list_projects: List all accessible Jira projects.search_issues: Find issues using JQL or text queries.get_issue: Fetch full details of a specific Jira issue.create_issue/update_issue: Create or modify stories, tasks, or bugs.delete_issues: Bulk Action to remove multiple issues and their subtasks.create_subtask: Granular task breakdown for parent issues.link_issues/delete_issue_link: Manage relationships between issues.get_all_labels: List all labels used in the instance.add_attachment/delete_attachment: Manage file attachments.
β±οΈ Time & Work Tracking
add_worklog/update_worklog: Log and modify hours worked on a task.delete_worklog: Remove incorrect worklog entries.
π Transitions & Workflow
get_transitions: See available status changes for an issue.transition_issue: Move an issue through your workflow.
π Agile & Boards (Scrum/Kanban)
get_boards: List all Scrum and Kanban boards.get_sprints: List sprints for a specific board.get_backlog: Fetch issues in the backlog.create_sprint/update_sprint: Manage sprint details and goals.update_sprint_state: Start (active) or Close (closed) a sprint.delete_sprints: Remove one or more sprints from a board.
π¦ Releases & Versions
get_project_versions: List all releases/versions for a project.create_version/update_version: Manage the release lifecycle.delete_versions: Remove project versions.
π Bulk Operations (Granular & Optimized)
bulk_create_issues: Create up to 50 issues in a single request.bulk_transition_issues: Move multiple issues to a new status at once.delete_issues/delete_sprints: Scalable deletion handling single or multiple IDs.
π₯ Professional Features
assign_issue: Assign teammates to tasks.add_comment/update_comment: Manage discussion threads.delete_comment: Remove irrelevant comments.find_users: Search for users to get their account IDs.get_myself: Get your own profile details.
π οΈ Troubleshooting
Server shows as "Disconnected"?
Empty Command: Check your client's MCP config and confirm
"command": "node"and the absolute path todist/index.jsare correct.Environment Variables: Run
node dist/index.jsmanually in the terminal. If it fails, check your.envor the environment variables in your client settings.SDK Compatibility: This project uses
@modelcontextprotocol/sdkv1.29.0.Claude Code: Run
/mcpinside a Claude Code session to see the server status and any error output.
π³ Docker Support
Docker is perfect for keeping your local environment clean.
# Build
docker build -t jira-mcp-server .
# Run
docker run --rm -i --env-file .env jira-mcp-serverπ€ Contributing
Contributions are welcome! If you find a bug or have a feature request, please open an issue or submit a pull request.
Created by [Luiz Feltrin]
Show some love! Give this repository a βοΈ if it helped you!
Available Tools
36 toolsadd_attachmentB
Add a local file as an attachment to a Jira issue
Inputs: filePath (required), issueKey (required).
add_commentB
Add a comment to a Jira issue
Inputs: comment (required), issueKey (required).
add_worklogB
Add a worklog to an issue (log hours worked)
Inputs: issueKey (required), timeSpent (required), comment, started.
assign_issueB
Assign a Jira issue to a user
Inputs: issueKey (required), accountId (required).
bulk_create_issuesB
Create multiple issues in a single request (max 50)
Inputs: issues (required).
bulk_transition_issuesB
Transition multiple issues to a new status
Inputs: issueKeys (required), transitionId (required).
create_issueC
Create a new Jira issue
Inputs: summary (required), projectKey (required), priority, issueType, +1 more.
create_sprintB
Create a new sprint on a board
Inputs: name (required), originBoardId (required), goal, endDate, +1 more.
create_subtaskC
Create a subtask for a parent issue
Inputs: summary (required), parentIssueKey (required), issueType, description.
create_versionB
Create a new project version (release)
Inputs: name (required), projectKey (required), description, releaseDate.
delete_attachmentA
Remove an attachment from an issue
Inputs: attachmentId (required).
delete_commentC
Delete a comment from an issue
Inputs: issueKey (required), commentId (required).
delete_issue_linkB
Remove a link between two issues
Inputs: linkId (required).
delete_issuesC
Delete one or more Jira issues
Inputs: issueKeys (required), deleteSubtasks.
delete_sprintsB
Delete one or more sprints
Inputs: sprintIds (required).
delete_versionsB
Delete one or more project versions
Inputs: versionIds (required).
delete_worklogC
Delete a worklog entry
Inputs: issueKey (required), worklogId (required).
find_usersA
Search for Jira users by email or display name to get their accountId
Inputs: query (required).
get_all_labelsB
Get all labels used in Jira
Inputs: no named parameters.
get_backlogB
Get issues in the backlog for a specific board
Inputs: boardId (required).
get_boardsA
List all Scrum and Kanban boards
Inputs: no named parameters.
get_issueB
Get full details of a specific Jira issue
Inputs: issueKey (required).
get_myselfA
Get the profile details of the currently authenticated Jira user (the bot)
Inputs: no named parameters.
get_project_versionsA
List all versions (releases) for a project
Inputs: projectKey (required).
get_sprintsB
List sprints for a specific board
Inputs: boardId (required), state.
get_transitionsA
Get available status transitions for an issue
Inputs: issueKey (required).
link_issuesB
Link two Jira issues (e.g., Blocks, Relates)
Inputs: linkType (required), inwardIssueKey (required), outwardIssueKey (required).
list_projectsA
List all accessible Jira projects
Inputs: no named parameters.
search_issuesB
Search for issues using a text query or JQL
Inputs: jql, query.
transition_issueC
Change the status of a Jira issue
Inputs: issueKey (required), transitionId (required).
update_commentB
Update an existing comment on an issue
Inputs: comment (required), issueKey (required), commentId (required).
update_issueC
Update fields of an existing Jira issue
Inputs: fields (required), issueKey (required).
update_sprintC
Update sprint details (name, goal, dates)
Inputs: sprintId (required), goal, name, endDate, +1 more.
update_sprint_stateA
Change the state of a sprint (e.g., start or complete)
Inputs: state (required), sprintId (required).
update_versionC
Update a project version/release
Inputs: versionId (required), name, archived, released, +2 more.
update_worklogB
Update an existing worklog entry
Inputs: issueKey (required), worklogId (required), comment, timeSpent.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 36 tools
Each tool targets a distinct resource and action, with clear separation between issues, comments, worklogs, sprints, versions, attachments, and user operations. Even similar-sounding tools like update_sprint and update_sprint_state are clearly differentiated by descriptions focusing on details vs state.
Most tools follow a verb_noun snake_case pattern, but there are minor singular/plural inconsistencies such as create_issue vs delete_issues and update_sprint vs delete_sprints. Bulk operations are consistently prefixed with bulk_, but delete operations also support bulk without a prefix.
With 36 tools, the server far exceeds the typical 3-15 tool range and crosses the 25-tool threshold for a well-scoped set. While Jira is complex, the breadth here feels heavy and could overwhelm agents.
The tool set provides strong CRUD coverage for issues, comments, worklogs, sprints, versions, and attachments, plus search, transitions, and linking. Minor gaps exist, such as no direct getters for comments or worklogs and no tool to list issue link types, but core workflows remain functional.
Related MCP Connectors
Connect to Atlassian Jira, Confluence, Loom, and more to search, create, and manage your work.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Tasks, sprints, releases and docs for engineering teams with AI coding agents.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI systems to interact with JIRA through natural language, allowing users to retrieve issue details, create new tickets, search using JQL, and access project information.3-
- AlicenseAqualityNot gradedmaintenanceEnables AI assistants to interact with Atlassian Jira Cloud, allowing users to manage projects, issues, comments, and workflows through natural language commands.61,677 npm3-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Jira Cloud through the REST API, supporting project management, issue operations (create, read, update, delete), JQL search, task assignments, and status transitions.-
- AlicenseBqualityDmaintenanceEnables AI agents to manage Jira Cloud projects with full CRUD operations, bulk actions, sprint and release management, and issue linking using natural language.27MIT