jira-mcp
Enables AI agents to interact with Jira Cloud and Confluence through natural language, performing JQL searches, issue management, and Confluence page creation.
README
@choing.dev/jira-mcp
Jira Cloud & Confluence를 AI 에이전트에서 바로 사용할 수 있게 해주는 MCP (Model Context Protocol) 서버입니다.
Claude, Cursor 등 MCP를 지원하는 AI 도구에서 JQL 검색, 이슈 생성/수정/전환, 댓글 작성, Confluence 페이지 생성까지 자연어로 수행할 수 있습니다.
주요 기능
| 도구 | 설명 |
|---|---|
jql_search |
JQL로 이슈 검색 (v3 페이지네이션 지원) |
get_issue |
이슈 상세 조회 |
create_issue |
이슈 생성 (Task, Bug, Story, Epic 등) |
update_issue |
이슈 필드 수정 (제목, 설명, 담당자, 라벨 등) |
get_transitions |
가능한 상태 전환 목록 조회 |
transition_issue |
이슈 상태 전환 (예: To Do → In Progress) |
add_comment |
이슈에 댓글 추가 |
list_projects |
프로젝트 목록 조회 |
get_myself |
현재 사용자 정보 조회 |
confluence_create_page |
Confluence 페이지 생성 |
빠른 시작
1. 환경변수 설정
export JIRA_INSTANCE_URL="https://your-domain.atlassian.net"
export JIRA_USER_EMAIL="your-email@example.com"
export JIRA_API_KEY="your-api-token"
API 토큰 발급: Atlassian API 토큰 관리에서 발급받을 수 있습니다.
2. 설치 및 실행
npx @choing.dev/jira-mcp
또는 글로벌 설치:
npm install -g @choing.dev/jira-mcp
jira-mcp
AI 도구 설정
Cursor
.cursor/mcp.json 파일에 추가:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "@choing.dev/jira-mcp"],
"env": {
"JIRA_INSTANCE_URL": "https://your-domain.atlassian.net",
"JIRA_USER_EMAIL": "your-email@example.com",
"JIRA_API_KEY": "your-api-token"
}
}
}
}
Claude Desktop
claude_desktop_config.json에 추가:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "@choing.dev/jira-mcp"],
"env": {
"JIRA_INSTANCE_URL": "https://your-domain.atlassian.net",
"JIRA_USER_EMAIL": "your-email@example.com",
"JIRA_API_KEY": "your-api-token"
}
}
}
}
도구 상세
jql_search
JQL 쿼리로 이슈를 검색합니다. Jira REST API v3의 POST /search/jql을 사용합니다.
"내 프로젝트의 진행 중인 버그를 검색해줘"
→ jql_search { jql: "project = PROJ AND status = 'In Progress' AND issuetype = Bug" }
| 파라미터 | 필수 | 설명 |
|---|---|---|
jql |
O | JQL 쿼리 문자열 |
maxResults |
최대 결과 수 (기본: 50) | |
fields |
반환할 필드 목록 | |
nextPageToken |
다음 페이지 토큰 | |
expand |
추가 정보 (changelog, renderedFields 등) |
get_issue
이슈 키 또는 ID로 상세 정보를 조회합니다.
"PROJ-123 이슈 내용 보여줘"
→ get_issue { issueIdOrKey: "PROJ-123" }
create_issue
새 이슈를 생성합니다.
"PROJ 프로젝트에 로그인 버그 이슈 만들어줘"
→ create_issue { projectKey: "PROJ", issueType: "Bug", summary: "로그인 실패 버그" }
| 파라미터 | 필수 | 설명 |
|---|---|---|
projectKey |
O | 프로젝트 키 |
issueType |
O | 이슈 유형 (Task, Bug, Story, Epic) |
summary |
O | 이슈 제목 |
description |
이슈 설명 (텍스트 → ADF 자동 변환) | |
assignee |
담당자 계정 ID | |
labels |
라벨 목록 | |
priority |
우선순위 (Highest, High, Medium, Low, Lowest) | |
parentKey |
상위 이슈 키 (하위 작업 생성 시) | |
customFields |
커스텀 필드 객체 |
update_issue
이슈 필드를 수정합니다. description은 ADF(Atlassian Document Format) 객체입니다.
"PROJ-123 제목을 '수정된 제목'으로 바꿔줘"
→ update_issue { issueIdOrKey: "PROJ-123", summary: "수정된 제목" }
get_transitions / transition_issue
이슈 상태를 전환합니다. 먼저 get_transitions로 가능한 전환을 확인한 후 transition_issue를 호출합니다.
"PROJ-123을 In Progress로 변경해줘"
→ get_transitions { issueIdOrKey: "PROJ-123" }
→ transition_issue { issueIdOrKey: "PROJ-123", transitionId: "21" }
add_comment
이슈에 댓글을 추가합니다. 텍스트를 입력하면 ADF 형식으로 자동 변환됩니다.
"PROJ-123에 '확인 완료' 댓글 달아줘"
→ add_comment { issueIdOrKey: "PROJ-123", body: "확인 완료" }
list_projects
접근 가능한 Jira 프로젝트 목록을 조회합니다.
"내 프로젝트 목록 보여줘"
→ list_projects {}
get_myself
현재 인증된 사용자 정보를 조회합니다. 담당자 배정 시 accountId 확인에 유용합니다.
confluence_create_page
Confluence에 새 페이지를 생성합니다. Confluence REST API v2를 사용합니다.
"TEAM 스페이스에 회의록 페이지 만들어줘"
→ confluence_create_page { spaceKey: "TEAM", title: "2026-03-10 회의록", bodyHtml: "<h2>안건</h2><p>...</p>" }
개발
# 의존성 설치
npm install
# 개발 모드 (tsx)
npm run dev
# 빌드
npm run build
# 빌드 후 실행
npm start
환경변수
| 변수 | 필수 | 설명 |
|---|---|---|
JIRA_INSTANCE_URL |
O | Jira 인스턴스 URL (예: https://your-domain.atlassian.net) |
JIRA_USER_EMAIL |
O | Atlassian 계정 이메일 |
JIRA_API_KEY |
O | Atlassian API 토큰 |
기술 스택
- TypeScript – 타입 안전한 코드
- MCP SDK (
@modelcontextprotocol/sdk) – Model Context Protocol 구현 - Jira REST API v3 – 이슈, 프로젝트, 전환 관리
- Confluence REST API v2 – 페이지 생성
- stdio 전송 – MCP 클라이언트와 표준 입출력 통신
라이선스
MIT © choing.dev
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.