Skip to main content
Glama
Yogeshknaik

Jira Communication Server

by Yogeshknaik
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`
- **Purpose**: Add an attachment to a ticket.
- **Parameters**: `issueIdOrKey`, `imageUrl`.

## 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.3/5.0

Scored across 11 tools

Disambiguation5/5

All tools have clearly distinct purposes: CRUD tickets, two attachment sources, project/status listing, JQL search, ticket retrieval by name&desc, assignee query, and assignment. No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, with verbs like add, assign, create, delete, edit, execute, get, list, query. No mixing of styles.

Tool Count5/5

11 tools is well-scoped for a Jira server, covering essential operations without being bloated or insufficient.

Completeness4/5

Covers major CRUD for tickets, search, projects, statuses, assignments, and attachments. Missing a generic 'get_ticket' for full details and some lifecycle features like transitions or comment management, but still quite complete.

Maintenance

ActivityInactive
ResponsivenessNo issues