jira-helper
Enables natural language interaction with Jira Cloud tickets, including listing, searching, creating, and updating issues through a set of MCP tools.
README
Jira 티켓 관리 CLI
Jira Cloud REST API로 내 티켓을 조회·검색·상태 전환하는 간단한 CLI 도구입니다.
설정
-
가상환경 만들기 및 의존성 설치 (권장)
macOS 등에서 시스템 Python이 PEP 668(externally-managed-environment)인 경우, 가상환경을 쓰는 것이 안전합니다.
cd ~/jira-helper python3 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt가상환경을 쓰지 않는다면:
pip install -r requirements.txt # 또는 pip install requests python-dotenv -
환경 변수
.env.example을 복사해.env생성 (프로젝트 내 사용) 또는~/.config/jira-helper/.env(전역 사용)- Jira Cloud URL, 이메일, API 토큰 입력
cp .env.example .env # .env 편집: JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKENAPI 토큰 발급: Atlassian API 토큰에서 생성 (비밀번호 대신 사용)
사용법
가상환경을 켠 뒤 실행:
cd ~/jira-helper
source .venv/bin/activate # Windows: .venv\Scripts\activate
python jira_cli.py list
가상환경 없이 한 번에 실행하려면 프로젝트의 Python을 직접 지정:
~/jira-helper/.venv/bin/python ~/jira-helper/jira_cli.py list
명령 예시
# 내 미완료 티켓 목록 (기본)
python jira_cli.py list
# 내 완료 티켓만
python jira_cli.py list --status done
# 전체(미완료+완료)
python jira_cli.py list --status all
# 티켓 상세 보기
python jira_cli.py show PROJ-123
# JQL로 검색
python jira_cli.py search "project = MYPROJ AND status = 'In Progress'"
python jira_cli.py search "assignee = currentUser() ORDER BY updated DESC" -n 10
# 티켓 착수 (In Progress로 전환)
python jira_cli.py start PROJ-123
# 티켓 상태 변경 (Resolved, Closed 등)
python jira_cli.py transition PROJ-123 Resolved
# 티켓 생성 (프로젝트, 제목; --type, -d, --assign-me 선택)
python jira_cli.py create PROJ "새 작업 제목"
python jira_cli.py create PROJ "버그 요약" --type Bug -d "재현 절차" --assign-me
# CLOSET Bug는 config 기본값 적용. 덮어쓰기: --custom-fields '{"customfield_10648":{"id":"12601"}}'
# 티켓 수정 (제목·설명·담당자)
python jira_cli.py edit PROJ-123 -s "새 제목"
python jira_cli.py edit PROJ-123 -d "새 설명" --assign-me
쉘 별칭 (선택)
~/.zshrc에 추가하면 jira list처럼 쓸 수 있습니다. 가상환경의 Python을 쓰려면:
alias jira='~/jira-helper/.venv/bin/python ~/jira-helper/jira_cli.py'
가상환경 없이 시스템 Python을 쓰는 경우:
alias jira='python ~/jira-helper/jira_cli.py'
다른 프로젝트에서 사용하기
어느 디렉터리에서나 jira 명령을 쓰려면 전역 설치와 전역 설정을 쓰면 됩니다.
1. 전역 설치
pipx (권장: 전용 가상환경으로 설치되어 다른 패키지와 격리됨):
pipx install ~/jira-helper
# 또는 GitHub 클론 후
git clone https://github.com/your-id/jira-helper.git && pipx install ./jira-helper
# 개발 중 변경 반영하려면: pipx install -e ~/jira-helper
pip (기존 가상환경에 설치):
cd ~/jira-helper
pip install -e .
설치 후 jira 명령이 PATH에 등록됩니다.
2. 설정 로드 순서
CLI는 아래 순서로 설정 파일을 찾습니다.
- JIRA_ENV 환경 변수에 지정한 파일 경로
- 현재 디렉터리의
.env - ~/.config/jira-helper/.env (전역 기본값)
다른 프로젝트에서도 같은 Jira를 쓸 때는 전역 설정 하나만 두면 됩니다.
mkdir -p ~/.config/jira-helper
cp ~/jira-helper/.env.example ~/.config/jira-helper/.env
# ~/.config/jira-helper/.env 편집
특정 프로젝트만 다른 Jira(다른 URL/계정)를 쓰려면 그 프로젝트 디렉터리에 .env를 두면, 그 디렉터리에서 실행할 때만 그 설정이 사용됩니다.
3. 사용 예
cd ~/any-project
jira list
jira show PROJ-123
MCP 서버로 사용하기 (Cursor 등)
MCP(Model Context Protocol) 서버로 등록하면 Cursor에서 "지라 티켓 목록 조회해줘", **"PROJ-123 티켓 보여줘"**처럼 자연어로 요청할 수 있습니다.
전역 MCP (모든 Cursor 프로젝트에서 사용)
-
pipx로 전역 설치 (한 번만):
pipx install -e ~/jira-helperjira,jira-mcp명령이 PATH에 등록됩니다. -
전역 설정 파일 (
~/.config/jira-helper/.env):mkdir -p ~/.config/jira-helper cp ~/jira-helper/.env.example ~/.config/jira-helper/.env # ~/.config/jira-helper/.env 에 JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN 입력MCP 서버는 현재 디렉터리
.env가 없으면 이 파일을 사용합니다. -
Cursor 전역 MCP 설정 (
~/.cursor/mcp.json):mcpServers에 다음을 추가합니다."jira-helper": { "command": "jira-mcp" }Cursor를 재시작하면 모든 워크스페이스에서 jira-helper MCP를 쓸 수 있습니다.
프로젝트별 MCP (이 프로젝트에서만)
이 프로젝트에서만 MCP를 쓰려면 프로젝트 가상환경의 Python으로 mcp_server.py를 직접 실행합니다. (전역 설치 없음)
-
의존성 설치
cd ~/jira-helper pip install -e . # (mcp는 기본 의존성에 포함됨) -
Cursor에 MCP 서버 등록 (프로젝트
.cursor/mcp.json){ "mcpServers": { "jira-helper": { "command": "~/jira-helper/.venv/bin/python", "args": ["~/jira-helper/mcp_server.py"] } } }다른 경로에 클론했다면 해당 경로로 바꾸세요.
제공 도구
| 도구 | 설명 |
|---|---|
| jira_list | 내게 할당된 티켓 목록 (status: open/done/all, max_results) |
| jira_show | 티켓 한 건 상세 (issue_key) |
| jira_search | JQL 검색 (jql, max_results) |
| jira_transition | 티켓 상태 변경 (issue_key, target_status: In Progress/Resolved/Closed 등) |
| jira_create | 티켓 생성 (project_key, summary, issuetype, description, assign_to_self, custom_fields_json) |
| jira_edit | 티켓 수정 (issue_key, summary, description, assign_to_self) |
Bug 등 필수 커스텀 필드가 있는 프로젝트(예: CLOSET)
config/required_fields.json에 기본값이 있으면 자동 적용됩니다. 옵션 값·덮어쓰기 방법은 docs/MCP_REQUIRED_FIELDS.md 참고.
설정은 CLI와 동일하게 JIRA_ENV, .env(현재 디렉터리), ~/.config/jira-helper/.env 순으로 로드됩니다.
Cursor에서 티켓 참조하기
코드 작업 시 "PROJ-123 티켓 기준으로 수정해줘"처럼 말하면, 이 CLI로 show PROJ-123 결과를 참고해 작업할 수 있습니다.
MCP 서버를 켜 두면 Cursor가 직접 jira_show 등을 호출해 티켓 내용을 가져올 수 있습니다.
원하면 .cursor/rules에 Jira 티켓 번호를 커밋/브랜치에 포함하는 규칙도 추가할 수 있습니다.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.