Jira 주간 리포터 MCP 서버
이 프로젝트는 Jira 인스턴스(클라우드 또는 서버/데이터 센터)에 연결하여 이슈 활동을 기반으로 주간 보고서를 생성하는 FastMCP 서버를 제공합니다. Jira와의 상호 작용을 위해 pycontribs-jira 라이브러리를 활용하며, 연결된 클라이언트의 LLM(Large Language Model)을 사용하여 생성된 보고서를 요약할 수도 있습니다.
✨ 특징
Jira 연결:
.env파일에 저장된 API 토큰을 사용하여 Jira에 안전하게 연결합니다.MCP 도구: 모델 컨텍스트 프로토콜을 통해 접근 가능한
generate_jira_report도구를 제공합니다.유연한 보고:
지난 7일 동안 업데이트된 문제만 보고합니다.
사용자 정의 JQL 쿼리를 지정할 수 있습니다.
특정 Jira 프로젝트 키로 보고서를 필터링할 수 있습니다.
반환되는 결과의 수를 제한합니다(구성 가능).
(선택 사항) LLM 요약: 클라이언트의 LLM(
ctx.sample()을 통해)을 사용하여 보고서에 대한 간결한 요약을 제공할 수 있습니다.비동기 처리:
asyncio.to_thread사용하여 비동기 FastMCP 서버 내에서 동기 Jira 라이브러리 호출을 올바르게 처리합니다.
Related MCP server: mcp-jira-server
📋 필수 조건
Python 3.10 이상.
패키지 관리를 위해서는
uv(권장) 또는pip합니다.Jira 인스턴스(클라우드, 서버 또는 데이터 센터)에 액세스합니다.
Jira API 토큰(서버/DC용 개인 액세스 토큰).
FastMCP CLI가 설치되어 시스템 PATH에 사용 가능합니다.
⚙️ 설정
저장소를 복제합니다(해당되는 경우):
지엑스피1
종속성 설치:
uv사용하는 것이 좋습니다.uv pip install fastmcp "jira[cli]" python-dotenv httpx anyio또는
pip사용하세요:pip install fastmcp "jira[cli]" python-dotenv httpx anyio.envjira_reporter_server.py와 같은 디렉터리 에.env라는 이름의 파일을 만듭니다. Jira 연결 정보를 추가합니다.# .env JIRA_URL=https://your-domain.atlassian.net # Your Jira Cloud URL or Self-Hosted URL JIRA_USERNAME=your_email@example.com # Your Jira login email JIRA_API_TOKEN=your_api_token_or_pat # Your generated API Token or PAT보안:
.env.gitignore파일에.env추가하세요.Jira Cloud: Atlassian 계정 설정에서 API 토큰을 생성합니다. API 토큰을 관리합니다 .
Jira 서버/데이터 센터: Jira 사용자 프로필 설정에서 개인 액세스 토큰(PAT)을 생성합니다. 개인 액세스 토큰 사용 .
▶️ 서버 실행(독립형)
테스트나 다른 목적으로 서버를 독립적으로 실행할 수 있습니다.
Python을 사용하여 직접:
python jira_reporter_server.pyFastMCP CLI 사용:
fastmcp run jira_reporter_server.pySSE로 실행하려면(예: 원격 액세스의 경우):
fastmcp run jira_reporter_server.py --transport sse --port 8001
🖥️ Claude Desktop과 함께 사용
Claude Desktop 애플리케이션 내에서 이 서버를 도구로 사용하려면:
필수 구성 요소 확인: 아래 구성에서는
fastmcp명령을 사용하므로fastmcp설치되어 있고 시스템의 PATH에서 액세스할 수 있는지 확인하세요.Claude 구성 파일 찾기:
claude_desktop_config.json파일을 찾으세요. 위치는 운영 체제에 따라 다릅니다.macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json(일반적으로C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json)Linux:
~/.config/Claude/claude_desktop_config.json(또는$XDG_CONFIG_HOME/Claude/)
구성 파일 편집: 텍스트 편집기에서
claude_desktop_config.json엽니다.서버 구성 추가: JSON 파일에서
"mcpServers"객체를 찾습니다(존재하지 않으면 빈 객체{}로 생성합니다).mcpServers파일에 다음 항목을 추가하고,"path/to/your/jira_reporter_server.py"스크립트의 절대 경로 로 변경하세요.{ "mcpServers": { // ... other servers might be here ... "jira_report": { "command": "fastmcp", "args": [ "run", "/path/to/your/jira_reporter_server.py" // <-- IMPORTANT: Use the full, absolute path here ] } // ... other servers might be here ... } // ... rest of your Claude config ... }"jira_report": Claude가 사용하는 내부 이름입니다. 원하는 경우 변경할 수 있습니다."command": "fastmcp": Claude에게fastmcp명령줄 도구를 사용하라고 알려줍니다."args": [...]: Claude에게fastmcp run /path/to/your/jira_reporter_server.py실행하라고 알려줍니다.
저장 및 다시 시작:
claude_desktop_config.json파일을 저장하고 Claude Desktop 애플리케이션을 다시 시작합니다.도구 호출: 이제 Python 스크립트(
Jira Weekly Reporter)에 정의된 서버 이름을 입력하여 Claude에서 도구를 사용할 수 있습니다. 예:@Jira Weekly Reporter generate jira report for project MYPROJ and summarize it
🛠️ MCP 도구 세부 정보
도구 이름:
generate_jira_report설명: JQL 쿼리를 기반으로 Jira 이슈 보고서를 생성합니다(기본값은 최근 업데이트). 클라이언트의 LLM을 사용하여 보고서를 요약할 수도 있습니다.
매개변수:
매개변수 | 유형 | 필수의 | 기본 | 설명 |
|
| 아니요 |
| 선택 사항인 JQL 쿼리입니다. 생략하면 기본값이 사용됩니다. |
|
| 아니요 |
| 검색 범위를 제한하기 위한 선택적 Jira 프로젝트 키(예: "PROJ")(
로 추가됨). |
|
| 아니요 |
| 원시 보고서 데이터에 포함할 문제의 최대 개수입니다. |
|
| 아니요 |
|
경우 서버는
을 통해 클라이언트의 LLM에 요약을 요청합니다. |
📦 서버 종속성
FastMCP 생성자에는 dependencies=["jira"] 포함되어 있습니다. 이는 fastmcp install 과 같은 도구에 격리된 환경을 생성할 때 서버가 제대로 작동하려면 jira 라이브러리가 필요하다는 것을 알려줍니다.
🤝 기여하기
기여를 환영합니다! 이슈를 제출하거나 풀 리퀘스트를 보내주세요.
📄 라이센스
MIT 라이센스