jira-mcp
jira-mcp
Сервер Model Context Protocol для Jira Cloud. Создайте задачи и подзадады, читайте задачи, ищите через JQL, просматривайте agile-доски и их swimlane, перемещайте задачи по их рабочему процессу, добавляйте коментарии и приереплите файлы.
Аутентификац происодит с помощью адрес электронной почты аккаунта Atlassian и API-токена, поэтому сервер работает без интерфейса — без OAuth, без хождения в браузер, без интерактикового согласия.
Устанока
Устанавливать нечего. Укажите вашему MCP-клиенту на пакет и позвольте npx скачать его:
{
"mcpServers": {
"jira": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:skurekjakub/jira-mcp#v1.0.0"],
"env": {
"NPM_CONFIG_ALLOW_GIT": "root",
"JIRA_SITE": "your-team.atlassian.net",
"JIRA_CLOUD_ID": "00000000-0000-0000-0000-000000000000",
"JIRA_PROJECT_KEY": "ABC",
"JIRA_EMAIL": "${JIRA_EMAIL}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}"
}
}
}
}Собранный артефакт закомичен, а завичимостей времени выполнения уже встроены в него, поэтому установка — это клонирование и создание ссылок: без шага сборки, без пакетов, которые надо получать, и без установочного скрипта, который нужно одобрять.
NPM_CONFIG_ALLOW_GIT
npx 12 по умолчанию присвоивает allow-git значение none, поэтому без этого npm отклан fetch packages with EALLOWGIT — «Загрузка пакетов типа git в данной системе группы»: "Загрузка пакетов типа git была отключена". Установим эту переменную в блоке env сервера, исключаются только этот подпроцесс, а для всех остальных установок на машине fetch git-пакетов останется отключенным. root разрешает её только для устанавливаемого пакета, но не для всего, от чего он может заведения; all полностью снимает ограничение, и в даном случае она не нужна. On npm 11 and older, they don't take it into account.
Установка один раз вместо этого
npx при каждом запуске токи разреша процедуру а git-reф, на что уходит несколько секунд и сетевой обмен. Чтобы избе both:
npm install -g --allow-git=root github:skurekjakub/jira-mcpЗатем использовать "command": "jira-mcp" без args и без NPM_CONFIG_ALLOW_GIT. App is updated by re-running your command manually.
Related MCP server: Jira MCP Server
На конфигурации
Все настройкий scroll through the environment. No config file is needed and does not need a server .SERVER does not appear in Doc . .env is not read — MCPлient transfer it in the env unit.
Variable | Required | Description |
| да | Host of secret: |
| да | Tenant id — see below |
| да | A project into which |
| да | Email account IAISTIAN: the API token is |
| да | API token from Atlassian account settings |
| нет | The directory from which where |
| нет | Binds |
Найдите облачный идентификатор:
curl -s https://your-team.atlassian.net/_edge/tenant_infoHow to keep token out of version control
Setup: script "keep MCP-config" cannot contain token in the clear itself. Claude Code getList with ${VAR} references in command, args, env, url and headers, therefore the config is a variable name and the value is elsewhere — in shell profile, or in a settings file that is not directly committed.
A reference that no one has completed is not an error: Claude Code passes the literal ${JIRA_API_TOKEN} to the server. This server initially rejects the value of this format and names the variable instead of sending it to Jira and returning 401.
Instruments
jira_create_issue
Creates the task in the project JIRA_PROJECT_KEY.
Parameter | Type | Required | Description |
| string | да | in Name of the task |
| string | да | Proprose text, converts to ADF (paragraphs separated by empty lines) |
| string | нет | e.g. |
| string[] | нет | optional Labels |
| string | нет | Link under parent, e.g. under epic — only if project’s type hierarchy permits this |
jira_create_subtask
Creates a subtask under the existing task.
Parameter | Type | Required | Description |
| string | yes | Key of parent task e.g. |
| string | yes | the Sub-Task name |
| string | no | obdan text, converts to ADF |
| string[] | no | optional Labels |
jira_get_issue
Fetch name of issue, description, type, status, parent, subtasks, Issue links and fix versions.
| Parameter |Print | Required | Description |
|-----------|---------| ----------|
| issueKey| string | yes | Key of task, e.g. ABC-3316 |
| transtrale| string[]| no | Additional field ids (e.g. customfield_15000) return in raw form under extra, keyed by field id |
jira_search_issues
Search for JQL, page.
Parameter | Type | Required | Description |
| string | да | Japan request |
| number | нет | Page size, 1–100 (default 50) |
| string | no | Token with the previous page |
| -- | no | Add issue's description to the list, reduce to text |
| \string[] | нет | More D-ids returned raw form under |
pira_get_board
Displays the برd layout — columns, quick filters and swimlane — each solutionelons interface "with their JQL". Use it before jira_board_issues to search for the names you use. Board ID — this is the segment boards/<id> in the board URL.
Swimline obtained from GreenHopper’s 333rokashnogo API; Atlassian doesn't provide any supported endpoint for them.
Parameter | Type | Required | Description |
| number | yes | Numeric board ID, for example, |
jira_board_issues
It outputs current tasks on the board, and renders them by swimlane. It reproduces board view: board's own filter, its kanban sub‑ filter, any names of the quick filters and additional JQL.
Each task falls precisely one one in exactly one swimlane — the first one in queue, whose order is überein. Even if the subset of swimlanes is requested, the lanes above are still computing its considerations are maintained.
Parameter | Type | Required | Description |
| number | yes | A numeric board ID. |
| string[] | no | Swimlane names and IDs to return (case-insensitive). If not set, returns all. |
| string[] | no | Quick filter names or identifiers, combined by conjunkt |
| string | no | call Features: phrase string |
| bool | --number | apply board-kanban subfilter (default |
| number | not | Per-lact lane, 1–1000 (default 200). Each lane returns |
| boolean | no | Only mention the keys of keys for the imported stuff? (default |
| string[] | no | Additional field ids returned as raw for each issue in |
jira_list_transitions
Выводит transitions of workflow, to the task in which can be accessed now. Names passed at runtime, pre-process-specific issue — always call this method before using jira_transition_issue.
Parameter | Type | Required | Description |
IssueKey | string | yes | Task key key |
jira_transition_issue
Trannfers Task along workflow. Alignes transitionName / trying to optional.
Parameter | Type | Required | Description |
| string | yes | Key of task |
| string | yes | Name transition, e.g., |
| string | no | value set, required of the current screen: "If not, and the transition screen the requires it." |
| string | no | Comment to be added during transition. |
jira_add_comment
Add a comment. Text uses wiki markup Jira (h3. for headings, {{code}} for inline code, {code:lang}…{code} for blocks, bq. for blockquotes). Use real newlines, not literal \n characters.
Parameter | Type | Required | Description |
| string | yes | Body comments in Jira wiki markup |
| string | conditional | hidden when |
jira_add_attachment
Adds attachment / file. File should be in JIRA_ATTACHMENTS_DIR; reject file that goes beyond that folder.
Parameter | Type | Required | Description |
| string | yes | Name of a file in directory attachments |
| ------- | --------------- | |
| string | yes | Name of a file in the attachment folder |
| string | conditional | hidden when |
Transport
stdio is used by default. --transport http --port 500 — serves the same instruments through a Streamable HTTP transport and path , /mcp, and has a /health check in the stream at /health.
Development
npm install
npm test # vitest
npm run lint # tsc --noEmit
npm run build # webpack -> dist/bundle.jsBundle dist/bundle.js committed and not claimed: installation is not required to build from Vulnerability. If the build introduces Changed, CI update it at each main commit, so it is cannot diverge from src/.
License
MITwars.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
Agile project management over MCP: boards, epics, roadmap, retros, whiteboards, wiki, metrics
Discover, plan and run tools across your connected business systems through one OAuth MCP endpoint
1
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for interacting with Jira Cloud instances. Enables issue management, JQL queries, project and sprint management, and batch operations via natural language interfaces.115 npm4MIT
- FlicenseNot gradedqualityDmaintenanceManages Atlassian Jira Cloud projects, issues, sprints, boards, worklogs, comments, and workflow transitions from MCP-compatible clients.-
- AlicenseNot gradedqualityBmaintenanceEnables management of multiple Jira Cloud instances through MCP, including workspace linking, issue creation and editing, workflow transitions, attachment retrieval, and administration via a web interface.8 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables MCP clients to read, create, update, comment on, and transition Jira issues using Jira Cloud's free plan.-