About jira-mcp-server
jira-mcp-server lets AI assistants and agents work with Jira Cloud projects, issues, boards, and sprints from MCP-compatible clients. It combines JQL search with issue editing, workflow transitions, and backlog operations.
Key features
- 01Search issues with JQL
- 02Create and update issues
- 03Transition issues through workflows
- 04Manage comments and issue links
- 05Query projects, boards, sprints, and backlogs
Use cases
- 01Find open bugs using project-specific JQL
- 02Review a sprint and its backlog
- 03Create and triage a reported issue
- 04Move an issue to a workflow status
MCP support
Exposes Jira Cloud operations as tools for MCP clients, covering issue search and management, projects, boards, sprints, and backlogs.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEJira MCP Server
An MCP server for Jira — connect any MCP-compatible client to your Jira projects, issues, sprints, and boards.
What is this?
An MCP (Model Context Protocol) server that gives AI assistants and agents full access to your Jira instance — search issues with JQL, create and update tickets, manage sprints and boards, transition issues through workflows, and link related work — all through natural language.
Use it with Claude Desktop, Cursor, Windsurf, Cline, Continue, or any MCP-compatible client to manage your projects without leaving the chat.
Why use this?
- 14 built-in tools — covers search, CRUD, transitions, comments, projects, boards, sprints, and backlog
- Full JQL support — search issues with any Jira Query Language expression
- Workflow transitions — move issues through your custom workflows by name
- Sprint management — query sprint states, goals, and board backlogs
- Works with Jira Cloud — connects to any
*.atlassian.netinstance
Quick Start
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "jira-mcp-server"],
"env": {
"JIRA_HOST": "your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
Cursor / VS Code
Add to your MCP configuration:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "jira-mcp-server"],
"env": {
"JIRA_HOST": "your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
Manual
npm install -g jira-mcp-server
export JIRA_HOST=your-domain.atlassian.net
export [email protected]
export JIRA_API_TOKEN=your-api-token
jira-mcp-server
Environment Variables
| Variable | Required | Description |
|---|---|---|
JIRA_HOST | Yes | Your Jira hostname (e.g. your-domain.atlassian.net) |
JIRA_API_TOKEN | Yes | Jira API token or Personal Access Token |
JIRA_EMAIL | Cond. | Your Jira email (required for Basic auth) |
JIRA_AUTH_TYPE | No | basic (default) or bearer (for PAT) |
JIRA_API_VERSION | No | REST API version (default: 3) |
Getting your API token
- Go to Atlassian API Tokens
- Click Create API token
- Give it a name (e.g. "MCP Server") and copy the token
- Use your Atlassian email as
JIRA_EMAIL
Tools
| Tool | Description |
|---|---|
jira_search | Search issues with JQL |
jira_get_issue | Get full issue details |
jira_create_issue | Create a new issue |
jira_update_issue | Update issue fields |
jira_transition_issue | Transition issue to new status |
jira_add_comment | Add a comment to an issue |
jira_delete_issue | Delete an issue (permanent) |
jira_list_projects | List accessible projects |
jira_get_project | Get project details |
jira_get_issue_types | List issue types for a project |
jira_link_issues | Create a link between two issues |
jira_get_boards | List Jira Software boards |
jira_get_sprints | List sprints for a board |
jira_get_backlog | Get board backlog items |
Usage Examples
Search issues with JQL
{ "tool": "jira_search", "arguments": { "jql": "project = PROJ AND status = Open ORDER BY created DESC" } }
Create a bug
{
"tool": "jira_create_issue",
"arguments": {
"projectKey": "PROJ",
"summary": "Login page broken on mobile",
"issueType": "Bug",
"priority": "High",
"labels": "mobile,urgent"
}
}
Transition an issue
{ "tool": "jira_transition_issue", "arguments": { "issueKey": "PROJ-123", "transitionName": "In Progress" } }
Get sprint backlog
{ "tool": "jira_get_backlog", "arguments": { "boardId": "42" } }
Use Cases
- Project management — "Show me all open bugs in the mobile project" →
jira_searchwith JQL - Sprint planning — "What's in the current sprint?" →
jira_get_sprints+jira_get_backlog - Issue triage — "Create a bug for the login timeout" →
jira_create_issue - Workflow automation — "Move PROJ-456 to In Review" →
jira_transition_issue - Cross-project overview — "List all projects I have access to" →
jira_list_projects
API Coverage
| Resource | Tools |
|---|---|
| Issues | jira_search, jira_get_issue, jira_create_issue, jira_update_issue, jira_transition_issue, jira_delete_issue |
| Comments | jira_add_comment |
| Projects | jira_list_projects, jira_get_project |
| Issue Types | jira_get_issue_types |
| Links | jira_link_issues |
| Boards | jira_get_boards |
| Sprints | jira_get_sprints |
| Backlog | jira_get_backlog |
Development
git clone https://github.com/friendlygeorge/jira-mcp-server.git
cd jira-mcp-server
npm install
npm run build
npm start
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.