Skip to main content
Glama

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 install

2. .env 파일 생성

cp .env.example .env

.env 파일을 열고 다음 항목을 입력하세요:

필수:

변수

가져오는 방법

GITHUB_TOKEN

github.com/settings/tokens → Generate classic token → repo + workflow 체크

SHELL_ENV

개발 환경: wsl2, macos, linux, git-bash, 또는 powershell

REPOS_ROOT

저장소가 위치한 절대 경로, 예: /home/you/projects

선택 사항 (하지만 권장):

변수

가져오는 방법

JIRA_API_TOKEN

id.atlassian.com/manage-profile/security/api-tokens

JIRA_EMAIL

Atlassian 계정 이메일

JIRA_BASE_URL

작업 공간 URL, 예: https://yourteam.atlassian.net

NOTION_TOKEN

notion.so/my-integrations → 통합(Integration) 생성 → 토큰 복사

SLACK_TOKEN

api.slack.com/apps → 앱 생성 → channels:history, search:read 권한이 있는 Bot Token

ANTHROPIC_API_KEY

티켓 텍스트 기반 AI 저장소 감지와 스마트 Slack 답변 초안 작성 활성화

WSL_DISTRO

SHELL_ENV=wsl2인 경우에만 — 배포판 이름 (예: Ubuntu)

3. 서버 시작

npm run dev

다음과 같은 화면이 보여야 합니다:

CoolPlugz Core MCP server listening on :3100

4. Claude Code에 연결 (최초 1회)

claude mcp add coolplugz --transport http http://localhost:3100/mcp

5. 사용하기

Claude Code를 열고 다음과 같이 말하세요:

Show my dashboard
Start 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

사용 가능한 도구

도구

기능

get_dashboard

상태, PR, 차단 항목이 포함된 모든 작업 표시

start_task

Jira 티켓의 모든 컨텍스트를 가져와 구현 프롬프트 반환

push_branch

브랜치를 GitHub에 푸시 — 인증, 포크 등 모든 것 처리

verify_and_submit

푸시 검증, PR 생성, CI 폴링, 통과 시 자동 완료 처리

check_comments

해결되지 않은 PR 리뷰 코멘트를 가져와 처리

complete_task

검증 후 작업 완료 처리

get_task_state

스토어 + GitHub API에서 실제 상태 표시

check_conflicts

병합 충돌 감지 및 해결 단계 제공

add_insight

향후 모든 프롬프트에 포함될 사용자 지정 지침 추가

morning_report

완료된 작업, PR, CI 결과, Slack 초안 메시지가 포함된 형식화된 상태 보고서 생성

log_run

실행 시작/종료 추적 — 각 예약 실행의 실제 데이터로 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 (성격)

코드 스타일, 커밋 규칙 (feat(PROJ-142): ...), 커뮤니케이션 규칙

[P] Experiment (실험)

자율 실행 권한, 루프 엔지니어링 지침, 안전 제약 조건

[F] Fence (경계)

절대 삭제 금지, main에 푸시 금지, 비밀 커밋 금지

[Q] Quality (품질)

타입 안전성, 최소 변경, 보안 기본값

[D] Developer insights (개발자 인사이트)

사용자 지정 지침 (add_insight에서)

[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 — 스토어의 모든 항목 표시

환경 변수 참조

필수

변수

기능

가져오는 방법

GITHUB_TOKEN

브랜치 푸시, PR 생성, 저장소 상태 읽기, CI 폴링

github.com/settings/tokens → Generate classic token → repo + workflow 범위 체크

SHELL_ENV

환경에서 셸 명령을 실행하는 방법을 CoolPlugz에 알려줌

다음 중 하나: wsl2, macos, linux, git-bash, powershell

REPOS_ROOT

저장소가 로컬에 클론된 위치

절대 경로, 예: /home/you/projects 또는 C:\Users\you\repos

Jira (티켓 컨텍스트 활성화)

변수

기능

가져오는 방법

JIRA_API_TOKEN

티켓 설명, 수락 기준, 코멘트 가져오기

id.atlassian.com/manage-profile/security/api-tokens → API 토큰 생성

JIRA_EMAIL

Jira 인증 (Basic auth = email:token)

Atlassian 계정 이메일

JIRA_BASE_URL

Jira 인스턴스 URL

예: https://yourteam.atlassian.net

GitHub (위의 GITHUB_TOKEN으로 이미 포함)

GITHUB_TOKEN이 모든 것을 처리합니다: 저장소 읽기, 브랜치 푸시, PR 생성, CI 상태 폴링, 리뷰 코멘트 가져오기, 포크 감지.

필요한 범위: repo (전체 저장소 접근) + workflow (CI 트리거/읽기)

Notion (스펙 가져오기 활성화)

변수

기능

가져오는 방법

NOTION_TOKEN

연결된 Notion 문서를 CRISPE 프롬프트에 참조 컨텍스트로 가져옴

notion.so/my-integrations → 통합(Integration) 생성 → "Internal Integration Secret" 복사 → 대상 페이지를 통합과 공유

Slack (멘션 추적 + 초안 답변 활성화)

변수

기능

가져오는 방법

SLACK_TOKEN

Slack에서 티켓 멘션 추적, AI 답변 초안 작성

api.slack.com/apps → Create New App → OAuth & Permissions → 범위 추가: channels:history, search:read → Install to workspace → Bot User OAuth Token (xoxb-...) 복사

AI 기능 (선택 사항)

변수

기능

가져오는 방법

ANTHROPIC_API_KEY

티켓 텍스트 기반 스마트 저장소 감지 + AI 작성 Slack 답변 초안 지원

console.anthropic.com → API Keys → Create Key

작업 공간 (선택 사항)

변수

기능

필요 시점

WSL_DISTRO

경로 변환을 위한 WSL2 배포판 이름

SHELL_ENV=wsl2인 경우에만 (예: Ubuntu)

PORT

MCP 서버 포트

기본값: 3100 — 포트가 사용 중이면 변경

데이터 저장

모든 데이터는 ~/.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

F
license - not found
Not graded
quality - not tested
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

View all related MCP servers

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.

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/adaOctopus/coreflows-mcp'

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