MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

MCP server by abdoosalomov

Created 5/18/2026
Updated about 16 hours ago
Repository documentation and setup instructions

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"
Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-jira-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "abdoosalomov-jira-mcp": { "command": "npx", "args": [ "abdoosalomov-jira-mcp" ] } } }