Jira MCP Server
# 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
Scored across 11 tools
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.
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.
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.
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.