CoolPlugz
Core MCP
Jira 티켓을 Claude Code를 통해 PR로 전환하는 MCP 도구입니다. Jira, GitHub, Notion, Slack에서 컨텍스트를 가져오고, 구조화된 프롬프트를 구성하며, git push/PR/CI를 모두 자동으로 처리합니다.
설정 (5분)
1. 설치
git clone https://github.com/adaOctopus/coolplugz-core.git
cd coolplugz-core
npm install2. .env 파일 생성
cp .env.example .env.env 파일을 열고 다음 항목을 입력하세요:
필수:
변수 | 가져오는 방법 |
| github.com/settings/tokens → Generate classic token → |
| 개발 환경: |
| 저장소가 위치한 절대 경로, 예: |
선택 사항 (하지만 권장):
변수 | 가져오는 방법 |
| |
| Atlassian 계정 이메일 |
| 작업 공간 URL, 예: |
| notion.so/my-integrations → 통합(Integration) 생성 → 토큰 복사 |
| api.slack.com/apps → 앱 생성 → |
| 티켓 텍스트 기반 AI 저장소 감지와 스마트 Slack 답변 초안 작성 활성화 |
|
|
3. 서버 시작
npm run dev다음과 같은 화면이 보여야 합니다:
CoolPlugz Core MCP server listening on :31004. Claude Code에 연결 (최초 1회)
claude mcp add coolplugz --transport http http://localhost:3100/mcp5. 사용하기
Claude Code를 열고 다음과 같이 말하세요:
Show my dashboardStart PROJ-142끝입니다. 나머지는 CoolPlugz가 처리합니다.
Related MCP server: github-workflow-mcp
사용 시 어떤 일이 일어나나요
You: "Start PROJ-142"
CoolPlugz:
├── Fetches Jira ticket (description, acceptance criteria, comments)
├── Checks GitHub for existing branches/PRs
├── Pulls linked Notion specs
├── Finds relevant Slack mentions
├── Figures out which repo (from ticket links or fuzzy matching)
├── Builds a CRISPE implementation prompt
└── Returns loop metadata → Claude Code knows exactly what to do next
Claude Code: writes the code, runs tests
You: (or Claude Code automatically calls push_branch)
CoolPlugz:
├── Pushes via token-authenticated HTTPS (no SSH needed)
├── Handles fork detection/creation automatically
└── Returns next action → verify_and_submit
CoolPlugz (verify_and_submit):
├── Verifies push landed on GitHub (via API, not trusting output)
├── Opens PR with correct title/body
├── Polls CI for up to 5 minutes
├── If CI passes + no review comments → auto-marks DONE
├── If CI fails → fetches failure logs, tells Claude Code to fix
└── If review comments → fetches them, tells Claude Code to address사용 가능한 도구
도구 | 기능 |
| 상태, PR, 차단 항목이 포함된 모든 작업 표시 |
| Jira 티켓의 모든 컨텍스트를 가져와 구현 프롬프트 반환 |
| 브랜치를 GitHub에 푸시 — 인증, 포크 등 모든 것 처리 |
| 푸시 검증, PR 생성, CI 폴링, 통과 시 자동 완료 처리 |
| 해결되지 않은 PR 리뷰 코멘트를 가져와 처리 |
| 검증 후 작업 완료 처리 |
| 스토어 + GitHub API에서 실제 상태 표시 |
| 병합 충돌 감지 및 해결 단계 제공 |
| 향후 모든 프롬프트에 포함될 사용자 지정 지침 추가 |
| 완료된 작업, PR, CI 결과, Slack 초안 메시지가 포함된 형식화된 상태 보고서 생성 |
| 실행 시작/종료 추적 — 각 예약 실행의 실제 데이터로 morning_report 지원 |
사용자 지정 지침
Claude Code에 CoolPlugz가 향후 모든 프롬프트에 포함할 지침을 추가하도록 지시하세요:
"Add an insight: always use pnpm, never npm or yarn"
"Add an insight: this repo uses Tailwind, no inline styles"
"Add an insight for PROJ-142: the auth module uses Passport.js"글로벌 인사이트는 모든 작업에 적용됩니다. 작업 범위 인사이트는 단일 티켓에 적용됩니다. ~/.coolplugz/data.json에 저장되며 세션 간에 유지됩니다.
프롬프트 빌더 작동 방식
모든 start_task는 CRISPE 프레임워크를 사용하여 구조화된 프롬프트를 구성합니다:
섹션 | 내용 |
[C] Capacity (역량) | 역할, 저장소, 브랜치, 작업 공간 설정 (WSL2/macOS/Linux), 로컬 경로 |
[R] Insight (통찰) | 전체 티켓 설명, 수락 기준, Jira 코멘트, Notion 스펙, Slack 컨텍스트, PR 리뷰 코멘트 |
[I] Statement (진술) | 구체적인 구현 지침 |
[S] Personality (성격) | 코드 스타일, 커밋 규칙 ( |
[P] Experiment (실험) | 자율 실행 권한, 루프 엔지니어링 지침, 안전 제약 조건 |
[F] Fence (경계) | 절대 삭제 금지, main에 푸시 금지, 비밀 커밋 금지 |
[Q] Quality (품질) | 타입 안전성, 최소 변경, 보안 기본값 |
[D] Developer insights (개발자 인사이트) | 사용자 지정 지침 ( |
[E] Error context (오류 컨텍스트) | 재시도 시 이전 실패 세부 정보 |
루프 엔지니어링
모든 도구 응답은 자유 텍스트 체크리스트 대신 구조화된 메타데이터를 전달합니다:
State: EXECUTING → Goal: DONE
Next: push_branch({ jiraKey: "PROJ-142", branch: "proj-142-impl", repo: "org/repo" })Claude Code는 이를 읽고 다음 도구를 자동으로 호출합니다. 상태 머신:
IDLE → start_task → EXECUTING → push_branch → PUSHED → verify_and_submit
→ CI passed, no comments → DONE ✅
→ CI failed → fix code → push_branch → verify_and_submit (loop)
→ Review comments → fix → push_branch → verify_and_submit (loop)자동 조종 프롬프트
모든 것이 연결되면 이 프롬프트를 Claude Code에 붙여넣어 티켓을 자동 조종 모드로 실행하세요 — Jira를 순환하고, 코드를 작성하고, PR을 푸시하고, Slack 업데이트를 게시합니다:
You are my autonomous dev agent. Use the coolplugz MCP tools to work through my Jira tickets without asking me anything.
Your loop:
1. Call get_dashboard to see all tasks and their status
2. For any task in QUEUED or EXECUTING state, call start_task with its Jira key
3. Follow the loop metadata exactly — the _meta.loop in each response tells you the next tool to call
4. After writing code and running tests, call push_branch to push
5. Call verify_and_submit — it opens the PR, polls CI, and tells you what to do next
6. If CI fails, read the failure logs, fix the code, and push again
7. If there are review comments, call check_comments, address them, push again
8. When done with a task, move to the next one from the dashboard
9. After completing all tasks, post a summary of what you did
Rules:
- Never ask me for confirmation — just do it
- Never push to main — always use feature branches
- Never commit secrets or .env files
- If you get stuck after 3 retries, mark it blocked and move on
- Commit messages follow: feat(TICKET-KEY): description예약 실행 (노트북이 닫혀 있어도 실행)
Claude Code에 다음을 붙여넣어 티켓을 자동으로 실행하는 일일 일정을 설정하세요:
Set up a scheduled task using /schedule that runs every weekday:
- 6:00 AM: Morning run
1. Call log_run with action "start" and trigger "morning" — save the run_id
2. Call get_dashboard to see all tasks
3. For every QUEUED ticket, call start_task with its Jira key
4. Follow the loop metadata for each: code → push_branch → verify_and_submit
5. If CI fails, fix and retry up to 3 times
6. When all tasks are processed, call log_run with action "finish", the run_id, and all task_results
7. Call morning_report with mode "latest" and slack_channels ["standup", "engineering"]
8. Show me the full report output
- 12:00 PM: Midday check
1. Call log_run with action "start" and trigger "midday"
2. Call get_dashboard — for any task stuck in EXECUTING or CI_FAILED, retry it
3. For tasks with review comments, call check_comments, address them, push again
4. Call log_run with action "finish" with results
5. Call morning_report with mode "latest"
- 5:00 PM: End of day
1. Call log_run with action "start" and trigger "evening"
2. Call get_dashboard and process any remaining tasks
3. Call log_run with action "finish" with results
4. Call morning_report with mode "today" and slack_channels ["standup", "engineering", "product"]
5. Show me the full report — I want to see what got done today
Rules for all runs:
- Use the coolplugz MCP tools
- Never ask for confirmation — just do it
- Never push to main — always feature branches
- Never commit secrets or .env files
- If stuck after 3 retries, mark blocked and move on
- Commit messages: feat(TICKET-KEY): description
- Always call log_run start/finish so morning_report has real data언제든지 보고서 보기
Claude Code에서 보고서를 수동으로 호출할 수도 있습니다:
Call morning_report with mode "today" and slack_channels ["standup", "engineering"]모드:
latest— 가장 최근 실행 결과 표시 (기본값)today— 오늘 업데이트된 모든 작업 표시full— 스토어의 모든 항목 표시
환경 변수 참조
필수
변수 | 기능 | 가져오는 방법 |
| 브랜치 푸시, PR 생성, 저장소 상태 읽기, CI 폴링 | github.com/settings/tokens → Generate classic token → |
| 환경에서 셸 명령을 실행하는 방법을 CoolPlugz에 알려줌 | 다음 중 하나: |
| 저장소가 로컬에 클론된 위치 | 절대 경로, 예: |
Jira (티켓 컨텍스트 활성화)
변수 | 기능 | 가져오는 방법 |
| 티켓 설명, 수락 기준, 코멘트 가져오기 | id.atlassian.com/manage-profile/security/api-tokens → API 토큰 생성 |
| Jira 인증 (Basic auth = email:token) | Atlassian 계정 이메일 |
| Jira 인스턴스 URL | 예: |
GitHub (위의 GITHUB_TOKEN으로 이미 포함)
GITHUB_TOKEN이 모든 것을 처리합니다: 저장소 읽기, 브랜치 푸시, PR 생성, CI 상태 폴링, 리뷰 코멘트 가져오기, 포크 감지.
필요한 범위: repo (전체 저장소 접근) + workflow (CI 트리거/읽기)
Notion (스펙 가져오기 활성화)
변수 | 기능 | 가져오는 방법 |
| 연결된 Notion 문서를 CRISPE 프롬프트에 참조 컨텍스트로 가져옴 | notion.so/my-integrations → 통합(Integration) 생성 → "Internal Integration Secret" 복사 → 대상 페이지를 통합과 공유 |
Slack (멘션 추적 + 초안 답변 활성화)
변수 | 기능 | 가져오는 방법 |
| Slack에서 티켓 멘션 추적, AI 답변 초안 작성 | api.slack.com/apps → Create New App → OAuth & Permissions → 범위 추가: |
AI 기능 (선택 사항)
변수 | 기능 | 가져오는 방법 |
| 티켓 텍스트 기반 스마트 저장소 감지 + AI 작성 Slack 답변 초안 지원 | console.anthropic.com → API Keys → Create Key |
작업 공간 (선택 사항)
변수 | 기능 | 필요 시점 |
| 경로 변환을 위한 WSL2 배포판 이름 |
|
| MCP 서버 포트 | 기본값: |
데이터 저장
모든 데이터는 ~/.coolplugz/data.json에 저장됩니다 — 작업, 컨텍스트 스냅샷, 저장소 매핑, 인사이트, 프롬프트 기록. 데이터베이스가 필요 없습니다. 파일을 삭제하면 처음부터 다시 시작합니다.
아키텍처
src/
├── index.ts # MCP server (Express + StreamableHTTP)
├── config.ts # Reads tokens from .env
├── store.ts # JSON file store (~/.coolplugz/data.json)
├── lib/
│ ├── loopState.ts # State machine
│ └── response.ts # mcpText() and mcpLoop() builders
├── context/
│ ├── jira.ts # Jira fetcher (Basic auth)
│ ├── github.ts # GitHub state (branches, PRs, CI)
│ ├── notion.ts # Notion doc fetcher
│ ├── slack.ts # Slack mentions + AI draft replies
│ ├── repoResolver.ts # Auto-detect repo from ticket content
│ └── assemble.ts # CRISPE prompt builder
├── orchestrator/
│ └── githubApi.ts # GitHub API helpers
└── tools/
├── orchestrator.ts # start_task, verify_and_submit, etc.
├── pushBranch.ts # Token-authenticated push + fork handling
├── getDashboard.ts # Text dashboard
└── addInsight.ts # Custom instruction management라이선스
MIT
This server cannot be installed
Maintenance
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
- AlicenseCqualityDmaintenanceConnects Jira with Claude, enabling users to search issues, view issue details, update issues, add comments, and retrieve project information through natural language commands.1651MIT
- FlicenseAqualityBmaintenanceAutomates GitHub workflows (branch creation, testing, commit/push, PR) through natural language instructions in Claude Code.8
- FlicenseNot gradedqualityBmaintenanceEnables AI-powered GitHub automation by connecting Claude AI with GitHub APIs for managing issues and pull requests.
- FlicenseAqualityDmaintenanceEnables Claude to create, manage, and clean up git worktrees automatically, including dependency installation and GitHub PR creation.5
Related MCP Connectors
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
AI code review for GitHub PRs with an MCP autofix loop for Claude Code and Cursor
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/adaOctopus/coreflows-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server