Skip to main content
Glama

Jira MCP Server (읽기 전용)

Claude Code가 Jira 티켓 컨텍스트(이슈 상세, 댓글 스레드, 티켓 주변의 참조 그래프, JQL 검색 결과)를 간결한 Markdown으로 가져올 수 있게 해주는 로컬 MCP 서버입니다. 이미지 첨부 파일(예: UI 버그 티켓의 스크린샷)은 Claude가 시각적으로 분석할 수 있도록 가져올 수 있습니다.

의도적으로 할 수 없는 것

이 서버는 엄격히 읽기 전용입니다. 무엇이든 생성, 업데이트, 상태 전환, 삭제 또는 댓글을 다는 도구를 노출하지 않습니다. 강제는 계층적으로 이루어집니다:

  1. 코드에서: 모든 HTTP 요청은 GET만 허용하는 단일 헬퍼를 통과하며, 허용 목록에 있는 예외가 하나 있습니다: POST /rest/api/3/search/jql — Atlassian이 POST로 보내도록 요구하는 읽기 작업입니다. 다른 모든 메서드는 ReadOnlyViolationError를 발생시키므로, 나중에 쓰기 호출을 추가하는 편집이 있으면 크게 실패합니다.

  2. 자격 증명 수준에서: API 토큰을 읽기 범위만으로 생성하십시오(아래 참조). 그러면 버그가 있어도 쓸 수 없습니다.

Related MCP server: JIRA MCP Server

도구

도구

용도

get_issue(issue_key, include_comments=True)

모든 비어 있지 않은 사용자 정의 필드(수락 기준, 스토리 포인트, ...)를 표시 이름과 함께 포함한 전체 티켓 상세, 그리고 (기본적으로) 댓글 스레드

get_comments(issue_key, limit=100, newest_first=False)

작성자/타임스탬프/수정 여부/공개 범위를 포함한 토론 내용만

get_issue_context(issue_key)

상위 이슈, 하위 작업, 연결된 이슈(연결 방향 포함), 에픽 하위 항목 — 각각 키 + 유형 + 상태 + 요약으로 표시

search_issues(jql, limit=25)

간결한 JQL 검색 결과

get_attachment(attachment_id)

이미지 첨부 파일(get_issue가 나열)을 다운로드하여 비전 입력으로 반환하므로 Claude가 스크린샷을 볼 수 있습니다. 이미지만 가능(png/jpeg/gif/webp), 최대 5MB; 비디오 및 기타 파일 유형은 거부됩니다

whoami()

토큰이 어떤 계정으로 확인되는지; 인증 디버깅의 첫 번째 단계

설정

1. Atlassian API 토큰 생성

  1. https://id.atlassian.com/manage-profile/security/api-tokens로 이동합니다.

  2. 범위가 있는 API 토큰 생성을 선택합니다(Atlassian은 범위 없는 토큰을 폐지하고 있습니다).

  3. Jira 앱을 선택하고 다음 범위만 선택합니다:

    • read:jira-work

    • read:jira-user

  4. 토큰을 즉시 복사하십시오. 한 번만 표시됩니다.

이전의 범위 없는 토큰도 작동합니다. 서버는 두 가지를 모두 자동으로 처리합니다(아래 참조).

2. .env 구성

cp .env.example .env   # then edit

필수 키(이것이 전체 구성 표면입니다):

ATLASSIAN_EMAIL

Atlassian 계정의 이메일

ATLASSIAN_API_TOKEN

1단계의 토큰

ATLASSIAN_SITE_URL

예: https://your-company.atlassian.net

.env는 gitignore 처리되어 있습니다. 절대 커밋하지 마십시오. 실제 환경 변수가 파일보다 우선합니다. 파일은 프로젝트 디렉터리(작업 디렉터리가 아님)를 기준으로 위치하므로, 서버가 어디서 실행되든 찾을 수 있습니다.

3. 의존성 설치

uv 사용(이 저장소에는 uv.lock이 있으므로 권장):

uv sync

또는 venv에 일반 pip 사용:

python -m venv .venv
.venv/bin/pip install -r requirements.txt   # Windows: .venv\Scripts\pip

4. --check로 확인

.venv/bin/python -m jira_mcp --check            # connectivity + auth only
.venv/bin/python -m jira_mcp --check PROJ-123   # also fetch a ticket in full

이 명령은 .env가 발견되었는지, 어떤 기본 URL이 선택되었는지(그리고 cloud-ID 폴백이 필요했는지), 인증된 계정, 그리고 키가 주어지면 Claude가 보는 것과 정확히 동일한 티켓을 출력합니다.

범위 있는 토큰 vs. 범위 없는 토큰: 기본 URL 문제

  • 범위 없는 토큰은 사이트 URL https://<site>.atlassian.net에서 작동합니다.

  • 범위 있는 토큰은 동일한 URL에서 조용히 실패하여 익명처럼 보이는 응답을 반환합니다. 대신 https://api.atlassian.com/ex/jira/{cloudId}를 호출해야 합니다.

어떤 종류를 보유하고 있는지 알 필요는 없습니다. 시작 시 서버는 GET /rest/api/3/myself로 사이트 URL을 프로브합니다. 실제 계정이 반환되지 않으면 {site}/_edge/tenant_info에서 cloud ID를 가져와 api.atlassian.com에 재시도합니다. 승자는 프로세스 수명 동안 캐시되고 stderr에 기록됩니다.

감지가 실패하는 경우: _edge/tenant_info는 Atlassian의 공식 지원 REST API의 일부가 아닙니다(Atlassian 자체 지원 문서가 이를 가리키지만). 변경될 수 있습니다. 이 경우 .envATLASSIAN_CLOUD_ID를 설정하여 감지를 건너뛰십시오. 오류 메시지가 이 경우가 적용되는 시점을 알려줍니다. 거의 필요하지 않습니다.

PyCharm 설정

  1. 인터프리터: Settings → Project → Python Interpreter → Add Interpreter → Existing → 프로젝트 디렉터리에서 .venv/bin/python 선택. (uv sync를 실행했다면 venv에 모든 것이 이미 설치되어 있습니다.)

  2. 디버깅용 실행 구성: Run → Edit Configurations → + → Python:

    • Run: 모듈 jira_mcp("script path" 대신 "module" 선택)

    • Parameters: --check PROJ-123

    • Working directory: 프로젝트 루트(아무거나 작동하지만 깔끔합니다)

    이제 어디서든 중단점을 설정하고(예: client.py에서) 실제 요청을 디버깅할 수 있습니다. 실행 중인 MCP 서버 내부의 오류는 그렇지 않으면 보이지 않습니다.

Claude Code에 연결

venv의 Python을 절대 경로로 사용하십시오. Claude Code가 서버를 실행할 때 단순한 python은 venv로 해석되지 않습니다.

macOS/Linux:

claude mcp add jira -- /path/to/PythonProject/.venv/bin/python -m jira_mcp

Windows:

claude mcp add jira -- C:\path\to\PythonProject\.venv\Scripts\python.exe -m jira_mcp

참고:

  • -- 뒤의 모든 것은 Claude가 실행하는 명령입니다. -- 앞의 모든 것은 Claude 자신의 옵션입니다.

  • 기본 범위는 local입니다(사용자 본인만, 이 프로젝트만, ~/.claude.json에 저장). 체크인된 .mcp.json을 통해 공유하려면 --scope project를 추가하고, 모든 프로젝트에서 사용하려면 --scope user를 추가하십시오.

연결 확인

Claude Code 세션 내에서:

  • /mcp를 실행하면 jira 서버가 연결된 것으로 표시되고 여섯 개의 도구가 나열되어야 합니다.

  • 또는 그냥 물어보십시오: "use whoami to check the jira connection".

문제 해결

증상

가능한 원인 및 해결 방법

401 Unauthorized

이메일 또는 토큰이 잘못되었거나 토큰이 해지/만료되었습니다. 토큰을 다시 생성하고 .env를 업데이트하십시오. --check로 확인하십시오.

403 Forbidden

범위 있는 토큰에 read:jira-work / read:jira-user가 없거나 계정에 사이트 액세스 권한이 없습니다. 두 읽기 범위로 토큰을 다시 생성하십시오.

404 Not Found

이슈가 존재하지 않거나 계정에 이를 볼 권한이 없습니다. Jira는 볼 수 없는 이슈를 404로 보고하며, 토큰은 소유한 사람보다 더 많은 액세스 권한을 부여하지 않습니다. 해당 계정으로 로그인한 상태에서 브라우저로 티켓을 열 수 있는지 확인하십시오.

Claude에서 도구 목록이 비어 있음

서버가 시작 시 충돌했습니다. claude mcp add의 정확한 명령을 터미널에서 직접 실행하십시오. 시작 오류는 stderr에 출력됩니다. 일반적인 원인: 잘못된 Python 경로 또는 .env 키 누락.

서버가 시작되지 않음

--check를 실행하십시오. 구성 누락이 보고되면 .env를 수정하십시오. 가져오기가 실패하면 uv sync를 다시 실행하고(또는 requirements.txt를 재설치하고) venv Python이 ≥ 3.11인지 확인하십시오.

감지 실패 / 익명 응답

시작 로그(stderr)에 어떤 기본 URL이 프로브되었고 왜 거부되었는지 표시됩니다. _edge/tenant_info에 연결할 수 없으면 .envATLASSIAN_CLOUD_ID를 설정하십시오.

Python을 처음 접하는 개발자를 위한 참고 사항

  • venv(.venv/)는 Python과 이 프로젝트의 패키지가 포함된 프로젝트 로컬 복사본입니다: node_modules와 동일하지만 인터프리터 자체도 그 안에 있습니다. 그래서 Claude Code에 .venv/bin/python을 절대 경로로 제공해야 합니다. 대체할 전역 설치가 없습니다.

  • asyncio.run(...) 이 필요한 이유는 Python의 async 함수는 호출만으로 실행되지 않기 때문입니다. 호출하면 코루틴 객체가 반환되며, 누군가가 이를 구동해야 합니다. Node처럼 주변 이벤트 루프가 없습니다. asyncio.run()은 루프를 만들고 하나의 코루틴을 완료까지 실행한 다음 루프를 정리합니다. MCP 서버는 mcp.run()을 통해 내부적으로 이 작업을 수행합니다. --check 모드는 명시적으로 수행합니다.

  • 데코레이터(@mcp.tool)는 아래에 정의된 함수를 받아 등록/래핑하는 함수로, 정의 시점에 적용되는 미들웨어 팩토리와 같습니다. FastMCP의 데코레이터는 함수 이름, 타입 힌트, docstring을 읽어 Claude가 보는 MCP 도구 스키마를 생성합니다. docstring이 곧 도구의 API 문서입니다.

  • python -m jira_mcp 는 패키지의 __main__.py를 실행합니다. Python에서 npm bin 항목에 가장 가까운 것입니다. uv sync가 프로젝트를 venv에 설치했기 때문에 어떤 디렉터리에서도 작동합니다.

F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    D
    maintenance
    Enables fetching and viewing Jira issue details directly through Claude Desktop using secure API token authentication. Provides comprehensive issue information including status, assignee, priority, and descriptions in both human-readable and structured formats.
    10
    489
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

  • Catch up on Slack without reading it. Unreads, threads, search. Browser-session or hosted OAuth.

View all MCP Connectors

Latest Blog Posts

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/Satttoshi/jira-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server