Skip to main content
Glama
sespinosa

Jira MCP Server

by sespinosa

Jira MCP Server

A Model Context Protocol (MCP) server for Jira integration. This server enables AI assistants like Claude to interact with Jira Cloud instances.

Features

  • 🎫 Issue management (create, read, update, search)

  • 📋 Project listing

  • 🔍 JQL search capabilities

  • 🔐 API token authentication

  • 📝 TypeScript implementation

  • 🖥️ Cross-platform support (Windows, macOS, Linux)

Related MCP server: HH JIRA MCP Server

System Requirements

  • Node.js 18.x or higher

  • npm or yarn

  • Jira Cloud instance (does not work with Jira Server/Data Center)

Quick Start

1. Installation

npm install

2. Configuration

Create a .env file in the project root:

JIRA_HOST=your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token-here

3. Generate API Token

  1. Go to Atlassian Account Settings

  2. Click "Create API token"

  3. Give it a meaningful label

  4. Copy the token to your .env file

4. Build and Run

npm run build
npm start

Available Tools

Issue Management

  • jira_create_issue - Create new issues

  • jira_get_issue - Get detailed issue information

  • jira_update_issue - Update issue fields

  • jira_search_issues - Search issues using JQL

  • jira_list_projects - List all accessible projects

Example Usage

Creating an Issue

{
  "projectKey": "PROJ",
  "summary": "Fix login bug",
  "description": "Users cannot log in with special characters in password",
  "issueType": "Bug"
}

Searching Issues

{
  "jql": "project = PROJ AND status = \"In Progress\" AND assignee = currentUser()",
  "maxResults": 20
}

Getting Issue Details

{
  "issueKey": "PROJ-123"
}

Configuration for Claude Desktop

Add this to your Claude Desktop MCP configuration:

macOS/Linux

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/jira-mcp-server/build/index.js"],
      "env": {
        "JIRA_HOST": "your-domain.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

Windows

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["C:\\path\\to\\jira-mcp-server\\build\\index.js"],
      "env": {
        "JIRA_HOST": "your-domain.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

Authentication

Uses Basic Authentication with email + API token. This is the most secure method for Jira Cloud.

Error Handling

The server includes comprehensive error handling for:

  • Invalid credentials

  • Network timeouts

  • Invalid JQL queries

  • Missing permissions

  • Non-existent resources

All errors are returned in a structured format with helpful messages.

Development

Building

npm run build

Testing

# Test the server
node build/index.js

Troubleshooting

Common Issues

  1. Server won't start:

    • Check your .env file is properly configured

    • Verify your API token is valid

    • Ensure Node.js version is 18+

  2. Permission errors:

    • Verify your Jira user has appropriate permissions

    • Check that the project key exists and is accessible

  3. Connection issues:

    • Verify your Jira host URL is correct

    • Check network connectivity to Jira Cloud

License

ISC

Contributing

Please see CONTRIBUTING.md for details on how to contribute to this project.

Support

For issues and feature requests, please use the GitHub issue tracker.

Available Tools

1 tool
example_toolC

An example tool that processes messages

ParametersJSON Schema
NameRequiredDescriptionDefault
messageNoMessage to process

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions 'processes messages', which doesn't reveal traits like whether it's read-only, destructive, requires authentication, or has rate limits. This is insufficient for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, making it appropriately sized and front-loaded. However, it could be more informative while remaining concise, as it's somewhat under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a vague description, the tool's context is incomplete. The description lacks details on behavior, output, or usage, making it inadequate for a tool with 1 parameter and no structured support.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'message' parameter documented as 'Message to process'. The description doesn't add any meaning beyond this, such as format or constraints. Given the high schema coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'processes messages', which provides a basic purpose with a verb ('processes') and resource ('messages'). However, it's vague about what 'processes' entails and doesn't distinguish from siblings (though none exist). This is adequate but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool, such as context, prerequisites, or alternatives. It merely states what it does without indicating appropriate scenarios, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • First observedexample_tool

TDQS

C2.8/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'example_tool' stands alone with a distinct purpose, so agents cannot misselect between multiple options.

Naming Consistency5/5

The single tool name 'example_tool' follows a consistent snake_case pattern. Since there is only one tool, there is no inconsistency in naming conventions to evaluate.

Tool Count2/5

A Jira MCP server with only one tool is too few for the apparent scope of Jira, which typically involves managing issues, projects, users, and workflows. This minimal tool count suggests an incomplete or trivial implementation.

Completeness1/5

The tool set is severely incomplete for a Jira server. With only an 'example_tool' that processes messages, there are no tools for core Jira operations like creating, updating, or querying issues, which are essential for the domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to interact with Jira, allowing for project management tasks such as listing projects, searching issues, creating tickets, and managing sprints through natural language queries.
    7
    98
    2
    TypeScript
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Simple Model Context Protocol server that enables AI assistants to interact with Jira, allowing operations like fetching tickets, adding comments, and updating ticket status.
    1
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sespinosa/jira-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server