Skip to main content
Glama
MCP Jira Server

MCP Jira Server

by apo100l

MCP Jira Server

MCP-сервер для работы с self-hosted Jira через Model Context Protocol. Поддерживает три способа авторизации:

  • Personal Access Token (JIRA_PAT);

  • вручную переданный cookie (JIRA_COOKIE);

  • автоматически поддерживаемая Jira/SSO-сессия в отдельном Chrome-профиле (JIRA_AUTH_MODE=browser).

Браузерный режим рекомендуется для корпоративных Jira, где создание PAT отключено, а доступ выполняется через SSO. Пользователь входит один раз в отдельном окне Chrome; профиль сохраняет и обновляет cookies между запусками MCP.

Возможности

  • просмотр задач, проектов, типов задач и комментариев;

  • поиск задач через JQL;

  • создание и обновление задач;

  • назначение исполнителей и смена статуса;

  • добавление комментариев;

  • удаление задач;

  • получение текущего пользователя.

Сервер обращается к Jira REST API v2: <JIRA_BASE_URL>/rest/api/2.

Related MCP server: Jira MCP Integration

Требования

  • Node.js 18 или новее;

  • доступ к self-hosted Jira;

  • PAT, cookie либо возможность войти в Jira через Chrome.

Установка

Из npm:

npm install --global @apo100l/mcp-jira-server

Либо запуск без глобальной установки:

npx --yes @apo100l/mcp-jira-server

Имя без области mcp-jira-server в npm принадлежит исходному проекту, поэтому эта версия публикуется как @apo100l/mcp-jira-server.

Из исходников:

git clone git@github.com:apo100l/mcp-jira-server.git
cd mcp-jira-server
npm install
npm run build

Собранная точка входа: build/index.js.

Переменные окружения

Переменная

Обязательность

Описание

JIRA_BASE_URL

Да

Базовый URL Jira без /rest/api/2, например https://jira.example.com

JIRA_AUTH_MODE

Нет

Установите browser, чтобы автоматически получать cookies из постоянного Chrome-профиля

JIRA_BROWSER_PROFILE

Нет

Каталог отдельного Chrome-профиля; по умолчанию ~/.mcp-jira-server/chrome-profile

JIRA_BROWSER_CHANNEL

Нет

Канал Playwright; по умолчанию chrome

JIRA_BROWSER_HEADLESS

Нет

true для фонового Chrome после первоначального входа; по умолчанию false

JIRA_BROWSER_VALIDATION_TTL_SECONDS

Нет

Период повторной проверки Jira-сессии; по умолчанию 60 секунд

JIRA_BROWSER_LOGIN_URL

Нет

Страница входа для jira_browser_login; по умолчанию <JIRA_BASE_URL>/login.jsp

JIRA_COOKIE

Один из способов авторизации

Полное значение HTTP-заголовка Cookie из авторизованной браузерной сессии

JIRA_PAT

Один из способов авторизации

Personal Access Token; используется, только если JIRA_COOKIE не задан

JIRA_USER_AGENT

Нет

Пользовательский User-Agent, если reverse proxy или SSO фильтрует запросы

Для cookie-аутентификации сервер также отправляет X-Atlassian-Token: no-check, необходимый некоторым Jira-инсталляциям для изменяющих запросов.

Настройка Codex

Добавьте сервер в ~/.codex/config.toml:

Рекомендуемая настройка с автоматической браузерной сессией:

[mcp_servers.jira]
enabled = true
command = "node"
args = ["/absolute/path/to/mcp-jira-server/build/index.js"]

[mcp_servers.jira.env]
JIRA_BASE_URL = "https://jira.example.com"
JIRA_AUTH_MODE = "browser"
JIRA_BROWSER_PROFILE = "/absolute/private/path/jira-chrome-profile"
JIRA_BROWSER_CHANNEL = "chrome"

При первом обращении к Jira MCP откроет отдельное окно Chrome. Войдите в Jira через SSO и повторите запрос. Cookie сохранится в JIRA_BROWSER_PROFILE; копировать его в config.toml не требуется.

Настройка с cookie, переданным вручную:

[mcp_servers.jira]
enabled = true
command = "node"
args = ["/absolute/path/to/mcp-jira-server/build/index.js"]

[mcp_servers.jira.env]
JIRA_BASE_URL = "https://jira.example.com"
JIRA_COOKIE = 'JSESSIONID=...; another_cookie=...'
JIRA_USER_AGENT = "Mozilla/5.0"

Для PAT укажите:

JIRA_PAT = "your-personal-access-token"

После изменения конфигурации полностью перезапустите Codex, чтобы MCP-процесс получил новые переменные окружения.

Автоматическая браузерная авторизация

Доступны два служебных инструмента:

  • jira_browser_login — открывает Jira в отдельном постоянном Chrome-профиле;

  • jira_browser_auth_status — проверяет, авторизован ли профиль.

Перед каждым Jira-запросом сервер получает актуальные cookies из профиля. Проверка /rest/api/2/myself выполняется не чаще заданного TTL. Если SSO-сессия истекла, сервер открывает Jira и просит повторно войти.

Не указывайте каталог основного профиля Chrome. Современный Chrome ограничивает автоматизацию основного профиля; отдельный каталог также уменьшает последствия компрометации MCP-процесса.

Папка профиля содержит секреты сессии. Не храните её внутри Git-репозитория и ограничьте к ней доступ на уровне ОС.

  1. Авторизуйтесь в Jira в браузере.

  2. Откройте Developer Tools → Network.

  3. Перезагрузите страницу Jira.

  4. Выберите запрос к Jira и откройте Request Headers.

  5. Скопируйте полное значение заголовка Cookie, включая все пары name=value, разделённые ;.

  6. Поместите значение в JIRA_COOKIE.

Cookie является полноценным секретом доступа. Не публикуйте его, не добавляйте в Git и не отправляйте в сообщения. После завершения браузерной/SSO-сессии значение потребуется обновить.

Настройка Claude Desktop

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-jira-server/build/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://jira.example.com",
        "JIRA_AUTH_MODE": "browser",
        "JIRA_BROWSER_PROFILE": "/absolute/private/path/jira-chrome-profile",
        "JIRA_BROWSER_CHANNEL": "chrome"
      }
    }
  }
}

Доступные MCP-инструменты

Инструмент

Назначение

jira_browser_login

Открытие постоянного Chrome-профиля для входа через SSO

jira_browser_auth_status

Проверка браузерной Jira-сессии

jira_get_current_user

Текущий авторизованный пользователь

jira_get_issue

Получение задачи по ключу

jira_search_issues

Поиск задач через JQL

jira_create_issue

Создание задачи

jira_update_issue

Обновление полей и смена статуса

jira_add_comment

Добавление комментария

jira_get_comments

Получение комментариев

jira_get_projects

Список доступных проектов

jira_get_project

Информация о проекте

jira_get_issue_types

Типы задач проекта

jira_assign_issue

Назначение исполнителя

jira_delete_issue

Безвозвратное удаление задачи

Проверка

После подключения начните с безопасных операций чтения:

  1. вызовите jira_get_current_user;

  2. вызовите jira_get_projects;

  3. получите тестовую задачу через jira_get_issue.

Типичные ответы при ошибке авторизации:

  • 401 Unauthorized — cookie/PAT отсутствует, истёк или не принимается Jira;

  • 404 Not Found — обычно неверный JIRA_BASE_URL, старый MCP-процесс либо маршрут скрывается SSO/reverse proxy;

  • HTML вместо JSON или редирект на страницу входа — браузерная сессия не прошла через SSO-прокси.

Разработка

npm run build
npm run dev

Версионирование и публикация

Проект использует Semantic Versioning: patch для исправлений, minor для обратно совместимых возможностей и major для несовместимых изменений.

Обновите CHANGELOG.md, затем создайте новую версию и тег одной из команд:

npm run release:patch
# npm run release:minor
# npm run release:major
git push origin main --follow-tags

Тег vX.Y.Z запускает GitHub Actions, который проверяет проект и публикует пакет в npm. Для автоматического выпуска добавьте секрет репозитория NPM_TOKEN, ограниченный пакетом @apo100l/mcp-jira-server и правом публикации.

Не добавляйте секреты в исходники. Для локальной разработки передавайте их только через переменные окружения или конфигурацию MCP-клиента.

Происхождение и лицензия

Проект основан на edrich13/mcp-jira-server и расширен поддержкой Jira/SSO cookie-аутентификации.

Лицензия: MIT.

Available Tools

12 tools
jira_add_commentB

Add a comment to a Jira issue

Inputs: comment (required), issueKey (required).

jira_assign_issueB

Assign a Jira issue to a user

Inputs: assignee (required), issueKey (required).

jira_create_issueB

Create a new Jira issue in a specified project

Inputs: summary (required), issueType (required), projectKey (required), labels, +5 more.

jira_delete_issueA

Delete a Jira issue permanently

Inputs: issueKey (required).

jira_get_commentsB

Get all comments from a Jira issue

Inputs: issueKey (required).

jira_get_current_userA

Get information about the currently authenticated user

Inputs: no named parameters.

jira_get_issueA

Get details of a specific Jira issue by its key (e.g., PROJ-123)

Inputs: issueKey (required).

jira_get_issue_typesA

Get available issue types for a project

Inputs: projectKey (required).

jira_get_projectA

Get details of a specific Jira project

Inputs: projectKey (required).

jira_get_projectsA

List all available Jira projects

Inputs: no named parameters.

jira_search_issuesA

Search for Jira issues using JQL (Jira Query Language). Examples: "project = PROJ AND status = Open", "assignee = currentUser() AND status != Done"

Inputs: jql (required), maxResults.

jira_update_issueC

Update an existing Jira issue

Inputs: issueKey (required), labels, status, summary, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 12 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: issues, projects, comments, users, and issue types are clearly separated. There is no overlap between search/get/create/update/delete operations, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow the consistent pattern jira_<verb>_<noun> using snake_case. The verbs are standard and predictable, such as get, create, update, delete, search, add, and assign, with no mixed conventions.

    Tool Count5/5

    12 tools is a well-scoped count for a Jira integration, covering core issue, project, and comment workflows without unnecessary bloat. Each tool serves a clear purpose within the domain.

    Completeness4/5

    The surface covers issue CRUD, searching, comments, project lookup, assignment, and user info, which handles common workflows well. A notable gap is the absence of issue transition/status-change functionality, which is core to Jira usage, though agents can work around it with update_issue in some cases.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to interact with Jira Cloud instances for comprehensive issue management including creating, updating, searching issues, managing comments, workflow transitions, and project metadata discovery. Supports JQL queries, user search, and custom field operations with secure API token authentication.
      12
      2,052 npm
      8
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to interact with Jira Cloud through the REST API, supporting project management, issue operations (create, read, update, delete), JQL search, task assignments, and status transitions.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with self-hosted Jira instances via Personal Access Token, supporting issue management and project operations through natural language.
      1,677 npm
      Apache 2.0