copilot-jira-mcp
by GiDanis
README.md
<div align="center">
# ๐ซ Copilot Jira MCP Server
### *Turn your Jira into an AI-powered co-pilot.*
[](https://github.com/GiDanis/copilot-jira-mcp/stargazers)
[](https://www.npmjs.com/package/copilot-jira-mcp)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org)
[](https://modelcontextprotocol.io)
<p align="center">
<b>Seamlessly interact with Jira issues, search JQL, read specs in Markdown, post comments, and transition tickets directly from your terminal or IDE using natural language.</b>
</p>
[Quick Start](#-10-second-quick-start) โข
[Features](#-key-features) โข
[Supported Clients](#-supported-clients) โข
[Available Tools](#๏ธ-available-mcp-tools) โข
[Examples](#-interactive-query-examples) โข
[Marketing & Community](#-spread-the-word)
---
</div>
## โก 10-Second Quick Start
No manual file editing required. Run the guided installer in 1 command:
### macOS / Linux
```bash
curl -fsSL https://raw.githubusercontent.com/GiDanis/copilot-jira-mcp/main/setup/install.sh | bash
```
### Windows (PowerShell)
```powershell
irm https://raw.githubusercontent.com/GiDanis/copilot-jira-mcp/main/setup/install.ps1 | iex
```
### Or using NPX (Any OS)
```bash
npx copilot-jira-mcp setup
```
The setup wizard will test your credentials and **automatically register** the server across GitHub Copilot CLI, Claude Desktop, and Cursor!
---
## ๐ก Why Copilot Jira MCP?
| Without Copilot Jira MCP ๐ซ | With Copilot Jira MCP ๐ |
|---|---|
| ๐ Constantly alt-tabbing between IDE and browser | ๐ฌ Ask your AI assistant directly in your editor |
| ๐ Manually hunting down acceptance criteria | ๐ Instant Markdown-rendered specs & subtasks |
| ๐ฑ๏ธ 15 clicks to move a ticket to *In Progress* | โก "Move PROJ-42 to In Progress with comment..." |
| ๐ Writing manual JQL in Jira search bars | ๐ง AI translates plain English into precise JQL |
| โณ Context loss during code reviews | ๐ Pull requirements right alongside the diff |
---
## ๐ How It Works
```mermaid
sequenceDiagram
autonumber
actor Dev as ๐จโ๐ป Developer
participant AI as ๐ค AI Assistant (Copilot / Claude / Cursor)
participant MCP as ๐ซ Copilot Jira MCP Server
participant Jira as โ๏ธ Atlassian Jira Cloud
Dev->>AI: "Summarize PROJ-123 requirements and move it to In Progress"
AI->>MCP: Call jira_get_issue(issue_key: "PROJ-123")
MCP->>Jira: GET /rest/api/3/issue/PROJ-123
Jira-->>MCP: Raw Atlassian Document Format (ADF)
MCP-->>AI: Clean Markdown spec, fields & subtasks
AI->>MCP: Call jira_transition_issue(issue_key: "PROJ-123", transition: "In Progress")
MCP->>Jira: POST /rest/api/3/issue/PROJ-123/transitions
Jira-->>MCP: 204 No Content (Success)
MCP-->>AI: Transition confirmed
AI-->>Dev: "Here are the requirements for PROJ-123. I've updated the status to In Progress!"
```
---
## โจ Key Features
- ๐ **Smart JQL Search** - Search issues via natural language or raw JQL with full pagination support
- ๐ **Native ADF โ Markdown Parser** - Converts Atlassian Document Format (ADF) into clean Markdown (code blocks, lists, tables, quotes, headings)
- โก **Workflow Transitions** - Advance ticket statuses (e.g., *To Do* โ *In Progress* โ *Done*) with optional resolution comments
- ๐ฌ **Comment Threads** - Read discussions and append new comments to issues
- ๐ **Create & Update Issues** - Create new Tasks, Bugs, and Stories; edit summaries, descriptions, priorities, and labels
- ๐ **Subtasks & Issue Links** - Inspect parent-child hierarchies and linked blocking issues
- ๐ **Project Discovery** - List all accessible Jira projects and metadata
- ๐ค **My Work Overview** - Instant access to issues assigned to you
- ๐ **1-Click Multi-Client Auto-Registration** - Configures Copilot CLI, Claude Desktop, and Cursor automatically
- ๐ **Enterprise-Grade Security** - Credentials strictly stay in local environment variables; zero third-party telemetry
---
## ๐ฑ Supported Clients
| Client | Status | Configuration File |
|---|:---:|---|
| **GitHub Copilot CLI** | โ
Native | `~/.copilot/mcp.json` |
| **Claude Desktop** | โ
Native | `claude_desktop_config.json` |
| **Cursor IDE** | โ
Native | `~/.cursor/mcp.json` |
| **Windsurf & VS Code** | โ
Supported | Standard MCP Stdio Configuration |
| **Antigravity / Gemini** | โ
Supported | Local Stdio Transport |
---
## ๐ ๏ธ Available MCP Tools
Copilot Jira MCP exposes **12 comprehensive tools** spanning read, write, and workflow actions:
| Tool | Action | Description |
|---|:---:|---|
| `jira_get_issue` | ๐ Read | Comprehensive issue details, markdown description, subtasks, links, priority |
| `jira_search_issues` | ๐ Read | Search Jira issues using JQL syntax with pagination |
| `jira_get_my_issues` | ๐ Read | Quick query for tickets assigned to current user, optional status filter |
| `jira_get_comments` | ๐ Read | Retrieve discussion history with author, date, and formatted text |
| `jira_get_subtasks` | ๐ Read | List all subtasks and child issues linked to a parent ticket |
| `jira_get_projects` | ๐ Read | List all Jira projects accessible by authenticated account |
| `jira_get_transitions` | ๐ Read | List valid status transitions for an issue workflow |
| `jira_whoami` | ๐ Read | Test connection and display authenticated user details |
| `jira_create_issue` | โ๏ธ Write | Create new issue (Task, Bug, Story) with summary, description, priority, labels |
| `jira_update_issue` | โ๏ธ Write | Modify existing issue summary, description, priority, or labels |
| `jira_add_comment` | โ๏ธ Write | Post a new comment to an issue (plain text or markdown supported) |
| `jira_transition_issue` | โก Action | Move an issue through workflow states (*In Progress*, *Done*, etc.) |
*(Legacy aliases `jira_get_ticket`, `jira_search_tickets`, and `jira_get_my_tickets` are maintained for 100% backwards compatibility).*
---
## ๐ฌ Interactive Query Examples
Once installed, simply talk naturally to your AI:
```bash
# In Copilot CLI, Claude Desktop, or Cursor:
> "Show me my open tickets in project PROJ"
> "What are the acceptance criteria for PROJ-1234?"
> "Add a comment to PROJ-1234: 'PR #42 is up for review.'"
> "Move PROJ-1234 to 'In Progress'"
> "Create a high priority bug: 'Payment gateway timeout on checkout'"
> "List all blockers linked to PROJ-567"
> "Who am I logged in as in Jira?"
```
---
## ๐ป CLI Commands
The `jira-mcp` CLI provides interactive management commands:
```bash
# Interactive dashboard (wizard, client registration, diagnostics)
npx copilot-jira-mcp
# Guided setup wizard
jira-mcp setup
# Register with all detected MCP client configs
jira-mcp register
# Test Jira credentials and print connection info
jira-mcp test
# Start server directly (used by AI clients)
jira-mcp start
# Show help
jira-mcp --help
```
---
## โ๏ธ Manual Configuration
If you prefer configuring manually, set these environment variables:
```bash
export JIRA_URL="https://your-company.atlassian.net"
export JIRA_EMAIL="your-email@company.com"
export JIRA_API_TOKEN="your-atlassian-api-token"
```
Then add this block to your client config (`~/.copilot/mcp.json` or `claude_desktop_config.json`):
```json
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "copilot-jira-mcp", "start"],
"env": {
"JIRA_URL": "${JIRA_URL}",
"JIRA_EMAIL": "${JIRA_EMAIL}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}"
}
}
}
}
```
---
## ๐งช Testing & Quality Assurance
```bash
# Run unit test suite (10/10 tests pass)
npm test
# Run ESLint check
npm run lint
```
---
## ๐ Security & Privacy
- **Zero Plaintext Storage**: Tokens are stored strictly in user-level environment variables or `.env`.
- **Zero Third-Party Relays**: Direct HTTPS communication with your Jira Cloud/Server instance.
- **`.gitignore` Enforced**: Credential files are never tracked by version control.
- See [SECURITY.md](SECURITY.md) for vulnerability disclosure.
---
## ๐ข Spread the Word!
If **Copilot Jira MCP** saves you time and context-switching:
- โญ **Star this repository** on [GitHub](https://github.com/GiDanis/copilot-jira-mcp)
- ๐ฆ **Share on X / Twitter**: [Click to Tweet](https://twitter.com/intent/tweet?text=Supercharge%20your%20dev%20workflow%20with%20Copilot%20Jira%20MCP!%20Query%2C%20update%20and%20transition%20Jira%20tickets%20directly%20from%20Copilot%2C%20Claude%20%26%20Cursor%3A&url=https%3A%2F%2Fgithub.com%2FGiDanis%2Fcopilot-jira-mcp)
- ๐ผ **Share on LinkedIn**: Check out ready-made posts in [MARKETING.md](docs/MARKETING.md)
- ๐ก **Suggest features** in [Discussions](https://github.com/GiDanis/copilot-jira-mcp/discussions)
---
## ๐ License
MIT ยฉ 2026 Giuseppe Danise โ see [LICENSE](LICENSE) for details.
TDQS
A3.7/5.0
Scored across 3 tools
Disambiguation5/5
Each tool targets a distinct retrieval mode: by key, by JQL query, and by assignee. Although search could mimic get_my_tickets with a JQL, the dedicated tool adds convenience and clarity.
Naming Consistency5/5
All tools follow a consistent 'jira_<verb>_<noun>' pattern, making the tool set predictable and easy to navigate.
Tool Count4/5
With only 3 tools, the set is concise but reasonable for a read-only Jira assistant. It is within the ideal range, though slightly sparse.
Completeness2/5
The server only supports reading tickets. Missing create, update, transition, and comment operations leaves significant gaps for typical Jira workflows, so the surface feels incomplete.
Maintenance
ActivityMaintained
ResponsivenessNo issues