Skip to main content
Glama
abdoosalomov

Jira MCP Server

by abdoosalomov

Jira MCP Server 🚀

Custom MCP server for Agrobank's self-hosted Jira (itjira.agrobank.uz)

Setup

Option A — Run with Node

1. Install dependencies

npm install

2. Configure credentials

Edit the .env file:

JIRA_BASE_URL=https://itjira.agrobank.uz
JIRA_EMAIL=your.email@agrobank.uz
JIRA_PASSWORD=your_password

3a. Hook up Claude Desktop

Open Claude Desktop config:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-servers/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://itjira.agrobank.uz",
        "JIRA_EMAIL": "your.email@agrobank.uz",
        "JIRA_PASSWORD": "your_password"
      }
    }
  }
}

Restart Claude Desktop and you're good.

3b. Hook up Claude Code

One-liner via the CLI (user scope, available across all projects):

claude mcp add jira \
  -s user \
  -e JIRA_BASE_URL=https://itjira.agrobank.uz \
  -e JIRA_EMAIL=your.email@agrobank.uz \
  -e JIRA_PASSWORD=your_password \
  -- node /absolute/path/to/mcp-servers/index.js

Or drop it in ~/.claude.json manually:

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-servers/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://itjira.agrobank.uz",
        "JIRA_EMAIL": "your.email@agrobank.uz",
        "JIRA_PASSWORD": "your_password"
      }
    }
  }
}

Check it loaded:

claude mcp list

Option B — Run with Docker

1. Build the image

docker build -t jira-mcp:latest .

Or with compose:

docker compose build

2a. Wire up Claude Desktop

MCP talks over stdio, so Claude Desktop spawns the container per session. Use -i --rm and pass env vars through:

{
  "mcpServers": {
    "jira": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "JIRA_BASE_URL",
        "-e", "JIRA_EMAIL",
        "-e", "JIRA_PASSWORD",
        "jira-mcp:latest"
      ],
      "env": {
        "JIRA_BASE_URL": "https://itjira.agrobank.uz",
        "JIRA_EMAIL": "your.email@agrobank.uz",
        "JIRA_PASSWORD": "your_password"
      }
    }
  }
}

Why this shape:

  • -i keeps stdin open (MCP needs JSON-RPC over stdio)

  • --rm cleans up when Claude Desktop closes the pipe

  • -e VAR (no =value) inherits from the env block — secrets never get baked into the image

  • No -t (no TTY) and no port mapping — pure stdio, no listener

Restart Claude Desktop.

2b. Wire up Claude Code

claude mcp add jira \
  -s user \
  -e JIRA_BASE_URL=https://itjira.agrobank.uz \
  -e JIRA_EMAIL=your.email@agrobank.uz \
  -e JIRA_PASSWORD=your_password \
  -- docker run -i --rm \
       -e JIRA_BASE_URL -e JIRA_EMAIL -e JIRA_PASSWORD \
       jira-mcp:latest

Verify:

claude mcp list

Available Tools

Tool

Description

get_my_issues

Get all issues assigned to you (filter by status)

search_issues

Search by keyword or JQL

get_issue

Get full details of an issue (e.g. PROJ-123)

create_issue

Create a new issue or subtask (pass parentIssueKey for subtasks)

add_comment

Add a comment to an issue

get_transitions

See available status transitions

transition_issue

Change issue status (To Do → In Progress → Done)

get_projects

List all projects you have access to

update_issue

Update priority, summary, or description

get_current_user

Get the currently authenticated Jira user

Example prompts in Claude

  • "Show me my current Jira tasks"

  • "What issues do I have In Progress?"

  • "Get details of BANK-456"

  • "Create a subtask under MOBCORE-565 titled 'Fix login bug'"

  • "Add a comment to BANK-123: done with testing"

  • "Move BANK-789 to Done"

  • "Bump priority of BANK-100 to High"

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/abdoosalomov/jira-mcp'

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