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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for interacting with Jira Cloud instances. Enables issue management, JQL queries, project and sprint management, and batch operations via natural language interfaces.1924MIT
- AlicenseAqualityDmaintenanceEnables interaction with Jira issues via JQL search, epic management, comments, attachments, and issue CRUD, with support for both Cloud and Server/Data Center instances.98MIT
- FlicenseNot gradedqualityDmaintenanceManages Atlassian Jira Cloud projects, issues, sprints, boards, worklogs, comments, and workflow transitions from MCP-compatible clients.
- FlicenseAqualityDmaintenanceMCP server for JIRA Cloud REST API v3, enabling issue search, creation, updates, comments, and transitions.9
Related MCP Connectors
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
Search, document and execute authenticated API calls across 700+ apps via one MCP server
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/skurekjakub/jira-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server