Skip to main content
Glama
KS-GEN-AI

Jira MCP Server

by KS-GEN-AI
README.md
# Jira communication server MCP Server

Talk to Jira

<a href="https://glama.ai/mcp/servers/v7nmyscj80">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/v7nmyscj80/badge" alt="Jira Server MCP server" />
</a>

This is a TypeScript-based MCP server that provides tools to interact with Jira. It demonstrates core MCP concepts by providing:

- Tools for executing JQL queries
- Tools for creating, editing, and deleting Jira tickets
- Tools for listing Jira projects and statuses

## Features

## Jira Tools

### `execute_jql`

- **Purpose**: Run a JQL query.
- **Parameters**: `jql`, `number_of_results` (default: 1).

### `get_only_ticket_name_and_description`

- **Purpose**: Fetch ticket name and description.
- **Parameters**: `jql`, `number_of_results` (default: 1).

### `create_ticket`

- **Purpose**: Create a Jira ticket.
- **Parameters**: `project.key`, `summary`, `description`, `issuetype.name`, `parent` (optional).

### `list_projects`

- **Purpose**: List Jira projects.
- **Parameters**: `number_of_results` (default: 1).

### `delete_ticket`

- **Purpose**: Delete a ticket.
- **Parameters**: `issueIdOrKey`.

### `edit_ticket`

- **Purpose**: Modify a ticket.
- **Parameters**: `issueIdOrKey`, `summary` (optional), `description` (optional), `labels` (optional), `parent` (optional).

### `get_all_statuses`

- **Purpose**: Retrieve all statuses.
- **Parameters**: `number_of_results` (default: 1).

### `assign_ticket`

- **Purpose**: Assign a ticket to a user.
- **Parameters**: `accountId`, `issueIdOrKey`.

### `query_assignable`

- **Purpose**: Find assignable users in a project.
- **Parameters**: `project_key`.

### `add_attachment_from_public_url`

- **Purpose**: Add an attachment from a public URL to a ticket.
- **Parameters**: `issueIdOrKey`, `imageUrl`.

### `add_attachment_from_confluence`

- **Purpose**: Add an attachment from a Confluence page to a ticket.
- **Parameters**: `issueIdOrKey`, `pageId`, `attachmentName`.

## Development

Install dependencies:

```bash
npm install
```

Build the server:

```bash
npm run build
```

For development with auto-rebuild:

```bash
npm run watch
```

## Installation

To use with Claude Desktop, add the server config:

On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "Jira communication server": {
      "command": "node",
      "args": ["/PATH_TO_THE_PROJECT/build/index.js"],
      "env": {
        "JIRA_URL": "https://XXXXXXXX.atlassian.net",
        "JIRA_API_MAIL": "Your email",
        "JIRA_API_KEY": "KEY_FROM : https://id.atlassian.com/manage-profile/security/api-tokens"
      }
    }
  }
}
```

### Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:

```bash
npm run inspector
```

The Inspector will provide a URL to access debugging tools in your browser.

TDQS

B3.2/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific Jira operations like create, edit, delete, assign, query, and list. However, 'execute_jql' and 'get_only_ticket_name_and_description' both query tickets via JQL, creating some overlap that could cause confusion, though their descriptions clarify different output focuses.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case throughout, such as 'create_ticket', 'assign_ticket', and 'list_projects'. This predictability makes it easy for agents to understand and navigate the tool set without naming conflicts.

Tool Count5/5

With 11 tools, the count is well-scoped for a Jira server, covering core operations like ticket management, attachments, queries, and project listing. Each tool appears to serve a specific function without unnecessary bloat, fitting typical server tool ranges.

Completeness4/5

The tool set provides good coverage for Jira workflows, including CRUD operations for tickets, assignment, attachments, and project/status queries. Minor gaps exist, such as missing tools for comments, transitions, or watchers, but core functionalities are present and agents can likely work around these omissions.

Maintenance

ActivityInactive
ResponsivenessUnresponsive