Skip to main content
Glama
ashu-arora

Jira MCP Server

by ashu-arora
README.md
# 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

A3.8/5.0

Scored across 10 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues