Jira MCP Server
# Jira MCP Server
An MCP (Model Context Protocol) server that connects VS Code Copilot to your Jira instance – Cloud, Server, or Data Center.
## Quick Setup
### 1. Install & build
```bash
cd jira-mcp-server
npm install
npm run build
```
### 2. Configure credentials
Copy the example and fill in your values:
```bash
cp .env.example .env
```
Edit `.env`:
```env
# Your Jira site URL
JIRA_BASE_URL=https://yourcompany.atlassian.net
# Your email (Cloud) or username (Server)
JIRA_EMAIL=you@yourcompany.com
# API token (Cloud) or Personal Access Token (Server)
JIRA_API_TOKEN=your-token-here
# "cloud" or "server"
JIRA_AUTH_TYPE=cloud
```
#### Where to get your token
| Platform | How |
|---|---|
| **Atlassian Cloud** | Go to [API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens) → **Create API token** |
| **Jira Server/DC** | Go to your Jira profile → **Personal Access Tokens** → **Create token** |
### 3. Connect to VS Code
Add this to your VS Code `settings.json` (or workspace `.vscode/settings.json`):
```jsonc
{
"mcp": {
"servers": {
"jira": {
"command": "node",
"args": ["/absolute/path/to/jira-mcp-server/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://yourcompany.atlassian.net",
"JIRA_EMAIL": "you@yourcompany.com",
"JIRA_API_TOKEN": "your-token-here",
"JIRA_AUTH_TYPE": "cloud"
}
}
}
}
}
```
> **Tip:** Replace `/absolute/path/to/jira-mcp-server` with the actual path on your machine.
## Available Tools
| Tool | Description |
|---|---|
| `search_issues` | Search issues with JQL |
| `get_issue` | Get full details of an issue by key |
| `create_issue` | Create a new issue |
| `update_issue` | Update fields on an existing issue |
| `add_comment` | Add a comment to an issue |
| `get_transitions` | List available status transitions |
| `transition_issue` | Move an issue to a new status |
| `assign_issue` | Assign an issue to a user |
| `list_projects` | List all accessible projects |
| `get_myself` | Get the authenticated user's profile |
## Example Prompts (in Copilot Chat)
- *"Show me Jira issues assigned to me"*
- *"Get details of PROJ-123"*
- *"Create a bug in project PROJ: Login page crashes on Safari"*
- *"Move PROJ-456 to In Progress"*
- *"Add a comment to PROJ-789: Fixed in commit abc123"*
TDQS
Scored across 10 tools
Each tool has a clear, distinct purpose: search vs. get, create vs. update, comment, transitions, assignment, project listing, and user profile. There is no ambiguity between tools; an agent can reliably select the correct one based on the action needed.
All tools follow a consistent verb_noun pattern in snake_case (e.g., search_issues, get_issue, create_issue, add_comment). Even the 'get_*' tools differ by object (issue, transitions, myself), maintaining predictability. No mixed conventions or vague verbs.
With 10 tools, the server is well-scoped for Jira's core functionality. Each tool serves a necessary purpose, covering create, read, update, search, comments, transitions, assignment, and user/project context. No redundancy or bloat.
The set covers the primary Jira workflows: issue lifecycle (create, get, update, transition, assign), search, comments, and context (projects, user). Minor gaps exist (e.g., no delete_issue, no link_issue), but these are not critical for most automation tasks and can be worked around.