Skip to main content
Glama
README.md
# jiri-mcp — Jira MCP Server

An MCP (Model Context Protocol) server that connects AI agents to Jira Cloud, enabling natural language issue management.

## Features

| Tool | Description |
|------|-------------|
| `search_issues` | Search issues with JQL |
| `get_issue` | Get full issue details |
| `create_issue` | Create new issues |
| `update_issue` | Update issue fields |
| `add_comment` | Add comments |
| `list_transitions` | List available status transitions |
| `transition_issue` | Change issue status |
| `assign_issue` | Assign/unassign issues |
| `list_projects` | List accessible projects |
| `search_users` | Search users by name/email |

## Setup

### 1. Install dependencies

```bash
npm install
```

### 2. Configure environment

Copy the example env file and fill in your credentials:

```bash
cp .env.example .env
```

You'll need:
- **JIRA_HOST** — Your Jira Cloud URL (e.g., `https://yourcompany.atlassian.net`)
- **JIRA_EMAIL** — Your Atlassian account email
- **JIRA_API_TOKEN** — API token from [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)

### 3. Build

```bash
npm run build
```

## Usage

### With Antigravity

Copy `mcp_config.json` to your Antigravity config directory and update the environment variables:

```bash
# Global config (all projects)
cp mcp_config.json ~/.gemini/config/mcp_config.json

# Or project-specific
cp mcp_config.json .agents/mcp_config.json
```

Edit the copied file to add your real credentials:

```json
{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/absolute/path/to/jiri-mcp/dist/index.js"],
      "env": {
        "JIRA_HOST": "https://yourcompany.atlassian.net",
        "JIRA_EMAIL": "you@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}
```

### Development mode

```bash
npm run dev
```

### Production

```bash
npm run build
npm start
```

## Example prompts

Once connected, you can ask your AI agent things like:

- *"Search for open bugs in project MYAPP"*
- *"What's the status of MYAPP-123?"*
- *"Create a task in MYAPP: Fix login timeout with priority High"*
- *"Move MYAPP-456 to In Progress"*
- *"Add a comment to MYAPP-789: Deployed fix to staging"*
- *"Who's assigned to MYAPP-321?"*

## License

MIT

TDQS

A4/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a clearly distinct Jira operation: creation, retrieval, updating, searching, commenting, transitions, assignment, projects, and user lookup. The closely related list_transitions and transition_issue are deliberately separated into discovery and execution steps.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern, such as create_issue, list_projects, and search_users. The naming style is uniform and predictable across the entire set.

Tool Count5/5

Ten tools is well-scoped for a Jira MCP server, covering core issue management without unnecessary bloat. Every tool serves a useful, non-redundant purpose in the workflow.

Completeness4/5

The tool surface covers the core Jira lifecycle: create, read, update, search, comment, transition, assign, plus project and user lookup. Minor gaps remain, such as issue deletion or attachment handling, but they are not essential for typical agent workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues