Skip to main content
Glama

jira-mcp

Jira Cloud를 위한 Model Context Protocol(MCP) 서버입니다. 이슈와 하위 작업을 성생하고, 이슈를 조회하고, QQL로 검색하며, 에지일 보드와 그 스/레인을 탐색하고, 이슈가 워크플로우를 따라 움직이도록 하며, 코멘트를 추가하고 파일을 첨부합니다.

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}"
      }
    }
  }
}

빌드 아티이 커트되어 있고, 타입럼 의존석이 그 안에 이라인되어 있스므로, 설치는 클론(clone)와 링크(link)면이면 됩니다 — 빌드 단계가 없고, 패제파일차든 패키지를 가져올 것은 없으며, 승인할 설치는 크립트도 없습니다.

NPM_CONFIG_ALLOW_GIT

npm 12는 기본값으로 allow-it을 none로 설적하므로, 이 값이 없으면 npm은 EALLOWGIT 오로 설를 거부합니다 — "git 유형의 패키지를 내려받는 기능이 비활성화되었습니다". 서버의 env 블록에 이 값을 적으면 예외가 그 하위 프로세스로만 한정되고, 이 머신의 다른 설치는 여전히 파이(저) 가져오기가 비활성화됩니다. root는 설치될 패키지 자체에 만 허용하며 그 것이의존하는 것은 보허합니다. all은 비활성화 제한을 전체적으로 해제하지만 여기서는 필요 없습니다. npm 11 및 이하에서 이 변수는 무시됩니다.

설치를 한 although 번만 하려면

저up는 시작할 때마다 git 주크(래프)를 다시 해결하므로 몇 초과 네트워크 워인드(round-trip)습니다. 둘 다 하지 않으려면:

npm install -g --allow-git=root github:skurekjakub/jira-mcp

그계나서 args도 NPM_CONFIG_ALLOW_GIT도 없이 "command": "jira-mcp"를 사용하세요. 업은 ·대후 그 명령을 수완으로 실재실하면 됩니다.

Related MCP server: Jira MCP Server

Configuration

모든 설정은 합니다의 시정에 있습니다. 구신 파일도 없고 이 서버는 동일한 .env도 읽지 않습니다 — MCP 클라이언트는 위의 관헌하 env 블록에서 이 값들을 보내줍니다.

변수

필수

설명

JIRA_SITE

예

서버 사이트, 예: your-team.atlassian.net. 스키마와 뒤의 슬레시는 받아들여지고 제거됩니다

JIRA_CLOUD_ID

예

테넌트 아이디 - 아래 참고

JIRA_PROJECT_KEY

예

jira_create_issue 및 jira_create_subtask가 사용할 프로젝트

JIRA_EMAIL

예

API 토큰이 속한 Atlassian 계정 이메일

JIRA_API_TOKEN

예

API 토큰 - Atlassian 계정 설정에서 발급

JIRA_ATTACHMENTS_DIR

아니요

jira_add_attachment이 업로드한 파일을 읽어올 디렉터리. 기본값은 /tmen/mcp-attachments

JIRA_ISSUE_KEY

아니요

jira_add_comment 및 jira_add_attachment을 하나의 이슈로 폭로 고정하고, 그 입력에서 issueKey를 제거합니다

클라우드 ID 찾기:

curl -s https://your-team.atlassian.net/_edge/tenant_info

토큰을버전 관리에서 제외

커밋된 MCP 구성에는 토큰 자체가 붙어 있어서는 안 됩니다. Claude Code는 ${VAR} 참조를 확장합니다 (요청의 command, args, env, url, headers에서) — 따라서 구성에는 변수 이름만 적고 값은 다른 곳(실제로는 모든명 프로파일 또는 커밋되지 않는 설정 파일)에 둘 수 있습니다.

확장을 하지않는 참조는 오류가 아니 talks. Claude Code는 literal string ${JIRA_API_TOKEN}를 server 그대로 보내 줍니다. 이 같고 search가 부하가 있: 이형태의 값이면 시점에 그리고 그 변수명을 나타냅니다, so that it 요query not. Jira로 보내서 원真的 M 없는 401을 받기 전에 말합니다.

Tools

jira_create_issue

JIRA_PROJECT_KEY 프로젝트에 이슈를 만듭니다.

파라미터

타

필수

설명

summary

string

예

이슈 제톡

description

string

예

일반 텍스트, ADF로 변화 (빈 줄 단위로 문단 나누기)

issueType

string

아니요

예: Task, Bug, Story (기본값: Story)

labels

string[]

아니요

옵션 레이블

parentKey

string

아니요

상ウ 이슈 아래로 위치를 잡는 linkage(예: epic) — 프로젝트의 이슈 타입이이 허용할 때만 유효합니다

jira_create_subtask

기존 이슈 아래에 하위 작업을 생섭합니다.

파라미터

타입

필수

설명

parentKey

string

예

상위 이슈 키 (예: ABC-3200)

summary

string

예

하위 작업 제톡

description

string

아니오

일반 텍스트, ADF로 변환

labels

string[]

아니다

옵션 레이블

jira_get_issue

이슈의 요약, 설명, 타입, 상태, 상위, 하위 작업, 이슈 링크, 수정 버전을 가져옵니다.

파라미터

타입

필수

설명

issueKey

string

예

이슈 키 (예: ABC-3316)

extraFields

string[]

아니오

extra에 필드 ID를 키로 원괉 그대로 돌려줄 추가 필드 id (옵션)

jira_search_issues

JQL로 검색하고 페이네이션을 합니다.

파라미터

타입

필수

설명

jql

string

예

JQL 리

maxResults

number

아니요

페이지 크기, 1–100 (기본값 50)

nextPageToken

string

아니요

이전 페이지에서받은 토큰

includeDescription

boolean

아니오

각 이슈의 설명을 텍스트로 펴서 포함

extraFields

string[]

아니다

extra 아래 원본 그대로 추가 필드 ID

jira_get_board

보드의 레이아웃 - 컬럼, 빨 필터, 스플레 (각각 그 JQL 포함)을 반환합니다. jira_board_issues를 호출하기 전에 이로 포를 이 도구가 받는 이름들을 알 수 있습니다. 보드 ID는 보드 URL의 boards/<id> 부부입니다.

스플레인은 GreenHopper의 내부 API에서 가져오며, Atlassian은 이에 대한 공식 지원 엔드포인트가 없습니다.

파라미터

타입

필수

설명

boardId

number

예

숫자 보드 ID (예: 1150)

jira_board_issuest

보드에 현재 등제되어 있는 이슈를 스프레인별로 져재합니다. 보드 이를 그대; 재현합니다. 보 드 자신의 필터, 칸반 스브 필터, 이:름을 지정한 트필터의 그터, Zi0 및 추가 JQL도 모든 .

파라미터

타입

필수

설명

boardId

number

예

10자 보드 ID

swimlanes

string[]

니다

반환할 스즤레인 이름 · ID (대상문자 무시). 지정 없음 모든 스플레인

quickFilters

string[]

아니다

빠 필터 이름 또는 ID, AND가 조합하여 사용

jql

string

아니다

보드 필터와 AND에 추가되는 추싀 JQL

applySubFilter

boolean

아니오

보드의 칸반 하위 필터 적용 (기본값 true)

issuesPer.. — wait, name is maxIssuesPerSubQuery:

| maxIssuesPerSwimlane | number | 아니오 | 스반; 1–1000 (기본 200). Each lane report matched and truncated | | keysOnly | boolean | no | Each lane as issue key return only (default false). extraFields와 함께 사용 거부는 허용 | | extraFields| string[] | no | eachissue under`로 반환 원본 으가열. 추가 필드 ID |

jira_list_transitions

**An issues available workflow transitions list** 찾는— transition transition nameid는 workflow마다 각출하므로 before running: jira_transition_issue`콜 this.

No rows except issueKey:

jira_transition_issue

transitionName를 "ordinal"를 해석해 이슈의 가능한 transition 가운데 일치하기를 찾고, 없으면 이슈와의 유효한 목록과 함께 실패합니다. Each issue said "move it" through workflow:

| parameter| type | required | description | | issueKey | string | 요 | 이슈 key | | transitionName | string | yes | 목표 transition 명 Done (nonportional) | | resolution | string | no | Set resolution - tran상 can do only screen 요 transform need when 화면이 요구할 떄 | | comment | string | no | the transition 안에 추가할 comment |

jira_add_comment

코멘트 트위해. body) [Jira wiki markup] with rules: h3. — heading, {{code}} inline code, {code:lang}…{code} blocks, bqor block quote. 실제 newline, literally \n` use no.

|param|type|req|description| |body | string | 요 | Jira wiki 마크업 의 코멘트 body | |issueKey | string | conditional | JIRA_ISSUE_KEY 가 += set if, this(hidden) |

jira_add_attachment

파일을 파일을 첨부힌니다. 아부 telescope된 파일은 JIRA_ATTACHMENTS_DIR 아래 있어야 하고, 그 히이터 레딜러리에 벗어나는 이름은 rejected.

|param|type|req|description| |fileName | string |예| 첨부 https directory에서 파일 이름 | |issueKey| string |conditional|JIRA_ISSUE_KEY 설정 시 감춰짐 |

Transports

기준 stdio. --transport http --port <n> same function to stateless Streamable HTTP transport with /mcp, health check /health.

Development

npm install
npm test          # vitest
npm run lint      # tsc --noEmit
npm run build     # webpack -> dist/bundle.js

dist/bundle.js가 커밋되어 있어 설치에 빌드가 필요하지 않습니다. CI가 main에서 push할 때마다 re-build and commits, so src/으로 부터 드리프트하지 않습니다.

License

MIT.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for interacting with Jira Cloud instances. Enables issue management, JQL queries, project and sprint management, and batch operations via natural language interfaces.
    115 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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 npm
    MIT