Skip to main content
Glama

Core MCP

MCP-Tools, die Jira-Tickets über Claude Code in PRs verwandeln. Holt Kontext von Jira, GitHub, Notion und Slack, erstellt strukturierte Prompts, übernimmt git push/PR/CI – alles autonom.

Einrichtung (5 Minuten)

1. Installieren

git clone https://github.com/adaOctopus/coolplugz-core.git
cd coolplugz-core
npm install

2. Erstelle deine .env

cp .env.example .env

Öffne .env und fülle aus:

Erforderlich:

Variable

Wo du sie bekommst

GITHUB_TOKEN

github.com/settings/tokens → Klassisches Token generieren → repo + workflow aktivieren

SHELL_ENV

Deine Entwicklungsumgebung: wsl2, macos, linux, git-bash oder powershell

REPOS_ROOT

Absoluter Pfad, unter dem deine Repos liegen, z. B. /home/you/projects

Optional (aber empfohlen):

Variable

Wo du sie bekommst

JIRA_API_TOKEN

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

JIRA_EMAIL

Deine Atlassian-Konto-E-Mail

JIRA_BASE_URL

Deine Workspace-URL, z. B. https://yourteam.atlassian.net

NOTION_TOKEN

notion.so/my-integrations → Integration erstellen → Token kopieren

SLACK_TOKEN

api.slack.com/apps → App erstellen → Bot-Token mit channels:history, search:read

ANTHROPIC_API_KEY

Ermöglicht KI-gestützte Repo-Erkennung aus Tickettext und intelligente Slack-Antwortentwürfe

WSL_DISTRO

Nur wenn SHELL_ENV=wsl2 – dein Distro-Name (z. B. Ubuntu)

3. Starte den Server

npm run dev

Du solltest sehen:

CoolPlugz Core MCP server listening on :3100

4. Verbinde dich mit Claude Code (einmalig)

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

5. Verwende es

Öffne Claude Code und sage:

Show my dashboard
Start PROJ-142

Das war's. CoolPlugz übernimmt den Rest.


Related MCP server: github-workflow-mcp

Was passiert, wenn du es verwendest

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

Verfügbare Tools

Tool

Was es tut

get_dashboard

Zeigt alle deine Aufgaben mit Status, PRs und Blockern

start_task

Holt den gesamten Kontext für ein Jira-Ticket und gibt den Implementierungs-Prompt zurück

push_branch

Schiebt deinen Branch zu GitHub – übernimmt Auth, Forks, alles

verify_and_submit

Verifiziert Push, erstellt PR, pollt CI, schließt automatisch ab, wenn grün

check_comments

Holt ungelöste PR-Review-Kommentare, um sie zu bearbeiten

complete_task

Markiert eine Aufgabe nach Verifizierung als erledigt

get_task_state

Zeigt den tatsächlichen Zustand aus dem Store + GitHub API

check_conflicts

Erkennt Merge-Konflikte und gibt Lösungsschritte

add_insight

Fügt eine benutzerdefinierte Anweisung hinzu, die in alle zukünftigen Prompts aufgenommen wird

morning_report

Erstellt einen formatierten Statusbericht mit abgeschlossenen Aufgaben, PRs, CI-Ergebnissen und Slack-Entwurfsnachrichten

log_run

Verfolgt Start/Ende des Laufs – versorgt morning_report mit echten Daten aus jedem geplanten Lauf

Benutzerdefinierte Anweisungen

Sage Claude Code, Anweisungen hinzuzufügen, die CoolPlugz in jeden zukünftigen Prompt aufnimmt:

"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"

Globale Insights gelten für alle Aufgaben. Aufgabenbezogene Insights gelten für ein Ticket. Gespeichert in ~/.coolplugz/data.json und bleiben über Sitzungen hinweg erhalten.

Wie der Prompt-Builder funktioniert

Jeder start_task erstellt einen strukturierten Prompt mit dem CRISPE-Framework:

Section

Was darin enthalten ist

[C] Capacity

Rolle, Repo, Branch, Workspace-Setup (WSL2/macOS/Linux), lokale Pfade

[R] Insight

Vollständige Ticketbeschreibung, Akzeptanzkriterien, Jira-Kommentare, Notion-Spezifikationen, Slack-Kontext, PR-Review-Kommentare

[I] Statement

Die spezifische Implementierungsanweisung

[S] Personality

Codestil, Commit-Konventionen (feat(PROJ-142): ...), Kommunikationsregeln

[P] Experiment

Autonome Ausführungsberechtigungen, Loop-Engineering-Anweisungen, Sicherheitsbeschränkungen

[F] Fence

Nie löschen, nie auf main pushen, nie Geheimnisse committen

[Q] Quality

Typsicherheit, chirurgische Änderungen, Sicherheitsstandards

[D] Developer insights

Deine benutzerdefinierten Anweisungen (von add_insight)

[E] Error context

Details zu früheren Fehlern bei Wiederholungen

Loop-Engineering

Jede Tool-Antwort enthält strukturierte Metadaten anstelle von Freitext-Checklisten:

State: EXECUTING → Goal: DONE
Next: push_branch({ jiraKey: "PROJ-142", branch: "proj-142-impl", repo: "org/repo" })

Claude Code liest dies und ruft automatisch das nächste Tool auf. Die Zustandsmaschine:

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)

Autopilot-Prompt

Sobald alles verbunden ist, füge diesen Prompt in Claude Code ein, um deine Tickets im Autopilot-Modus auszuführen – durch Jira loopen, Code schreiben, PRs pushen und Slack-Updates posten:

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

Plane es ein (läuft auch, wenn dein Laptop zu ist)

Füge dies in Claude Code ein, um einen täglichen Zeitplan einzurichten, der deine Tickets automatisch ausführt:

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

Bericht jederzeit ansehen

Du kannst den Bericht auch manuell in Claude Code aufrufen:

Call morning_report with mode "today" and slack_channels ["standup", "engineering"]

Modi:

  • latest — zeigt die Ergebnisse des letzten Laufs (Standard)

  • today — zeigt alle heute aktualisierten Aufgaben

  • full — zeigt alles im Store

Referenz der Umgebungsvariablen

Erforderlich

Variable

Was es tut

Wie du es bekommst

GITHUB_TOKEN

Schiebt Branches, öffnet PRs, liest Repo-Zustand, pollt CI

github.com/settings/tokens → Klassisches Token generieren → repo + workflow Bereiche aktivieren

SHELL_ENV

Sagt CoolPlugz, wie Shell-Befehle in deiner Umgebung ausgeführt werden

Einer von: wsl2, macos, linux, git-bash, powershell

REPOS_ROOT

Wo deine Repos lokal geklont sind

Absoluter Pfad, z. B. /home/you/projects oder C:\Users\you\repos

Jira (ermöglicht Ticket-Kontext)

Variable

Was es tut

Wie du es bekommst

JIRA_API_TOKEN

Holt Ticketbeschreibung, Akzeptanzkriterien, Kommentare

id.atlassian.com/manage-profile/security/api-tokens → API-Token erstellen

JIRA_EMAIL

Authentifiziert mit Jira (Basic Auth = E-Mail:Token)

Deine Atlassian-Konto-E-Mail

JIRA_BASE_URL

Deine Jira-Instanz-URL

z. B. https://yourteam.atlassian.net

GitHub (bereits durch GITHUB_TOKEN oben abgedeckt)

Der GITHUB_TOKEN übernimmt alles: Repos lesen, Branches pushen, PRs öffnen, CI-Status pollen, Review-Kommentare abrufen, Forks erkennen.

Benötigte Bereiche: repo (voller Repo-Zugriff) + workflow (CI auslösen/lesen)

Notion (ermöglicht Spezifikationsabruf)

Variable

Was es tut

Wie du es bekommst

NOTION_TOKEN

Zieht verlinkte Notion-Dokumente als Referenzkontext in den CRISPE-Prompt

notion.so/my-integrations → Integration erstellen → „Internal Integration Secret“ kopieren → Zielseiten mit der Integration teilen

Slack (ermöglicht Erwähnungsverfolgung + Entwurfsantworten)

Variable

Was es tut

Wie du es bekommst

SLACK_TOKEN

Verfolgt Erwähnungen deiner Tickets in Slack, erstellt KI-Antwortentwürfe

api.slack.com/apps → Neue App erstellen → OAuth & Berechtigungen → Bereiche hinzufügen: channels:history, search:read → Im Workspace installieren → Bot User OAuth Token kopieren (xoxb-...)

KI-Funktionen (optional)

Variable

Was es tut

Wie du es bekommst

ANTHROPIC_API_KEY

Ermöglicht intelligente Repo-Erkennung aus Tickettext + KI-erstellte Slack-Antworten

console.anthropic.com → API-Schlüssel → Schlüssel erstellen

Workspace (optional)

Variable

Was es tut

Wann benötigt

WSL_DISTRO

Ihr WSL2-Distroname für die Pfadübersetzung

Nur wenn SHELL_ENV=wsl2 (z. B. Ubuntu)

PORT

MCP-Server-Port

Standard: 3100 — ändern, wenn der Port belegt ist

Datenspeicherung

Alle Daten liegen in ~/.coolplugz/data.json — Aufgaben, Kontext-Snapshots, Repo-Zuordnungen, Erkenntnisse, Prompt-Verlauf. Keine Datenbank erforderlich. Löschen Sie die Datei, um neu zu beginnen.

Architektur

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

Lizenz

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