Skip to main content
Glama

Englisch | 한국어 | 日本語 | 中文

MonkeyPlanner

Local-first Aufgabenverwaltung für Ihre KI-Coding-Agenten. Mit einem Klick genehmigen; Ihre Agenten erledigen den Rest. Keine Cloud. Keine Telemetrie. Für immer kostenlos, für immer MIT.

Funktioniert mit Claude Code · Claude Desktop · Cursor · Continue · jedem MCP-kompatiblen Client.

MonkeyPlanner Demo

Schnellstart

# Docker (recommended)
docker run -p 8080:8080 -v $(pwd)/data:/data ghcr.io/kjm99d/monkeyplanner:latest

# then wire up your agent
monkey-planner mcp install --for claude-code     # or --for cursor / --for claude-desktop

Öffnen Sie http://localhost:8080 — das integrierte Willkommens-Board führt Sie durch den Rest.

Related MCP server: mcp-kanban

Funktionen

Issue- & Board-Verwaltung

  • Kanban-Board — Drag & Drop, horizontales Scrollen, Filtern, Sortieren und Umschalten der Tabellenansicht

  • Issue-Erstellung — Titel, Markdown-Inhalt und benutzerdefinierte Eigenschaften

  • Benutzerdefinierte Eigenschaften — Sechs unterstützte Typen:

    • Text

    • Zahl

    • Auswahl (Select)

    • Mehrfachauswahl (Multi-select)

    • Datum

    • Kontrollkästchen (Checkbox)

Genehmigungs-Gate

  • Ausstehend → Genehmigt über einen dedizierten Genehmigungs-Endpunkt (nicht über generisches PATCH möglich)

  • Genehmigungswarteschlange — Massengenehmigung aller ausstehenden Issues über alle Boards hinweg

  • Genehmigt → In Bearbeitung → Erledigt — Flexible Statusübergänge

  • Status „Abgelehnt“ — Protokollierung eines Ablehnungsgrundes

Agenten-Funktionen

  • Feld für Agenten-Anweisungen — Geben Sie detaillierte Anweisungen für MCP-Agenten

  • Erfolgskriterien — Verwalten Sie Abschlussbedingungen als Checkliste

  • Kommentare — Protokollieren Sie den Fortschritt und kommunizieren Sie pro Issue

  • Abhängigkeiten — Definieren Sie blockierende Beziehungen zwischen Issues

Datenvisualisierung

  • Kalender — Monatsraster + tägliche Aktivität (Anzahl der erstellten, genehmigten und abgeschlossenen Issues)

  • Dashboard — Statistik-Karten + wöchentliches Aktivitätsdiagramm

  • Seitenleiste — Board-Liste, Issue-Anzahl und kürzlich bearbeitete Elemente

Benutzererfahrung

  • Globale Suche — Schnelle Suche mit Cmd+K

  • Tastaturkürzel

    • h — Zum Dashboard

    • a — Zur Genehmigungswarteschlange

    • ? — Hilfe zu Tastaturkürzeln anzeigen

    • Cmd+S — Speichern

    • Escape — Modal/Dialog schließen

  • Einklappbare Seitenleiste — Maximierung des Bildschirmplatzes

  • Dunkelmodus — Theme-Umschalter

  • Internationalisierung — Koreanisch, Englisch, Japanisch und Chinesisch

Automatisierung & Integrationen

  • Webhooks — Unterstützung für Discord, Slack und Telegram

    • Ereignisse: issue.created, issue.approved, issue.status_changed, issue.updated, issue.deleted, comment.created

  • Echtzeit-UI-Synchronisierung (SSE) — Änderungen via MCP/CLI werden automatisch in offenen Browser-Tabs reflektiert, kein Neuladen erforderlich

  • JSON-Export — Export aller Issue-Daten

  • Rechtsklick-Kontextmenü — Schnelle Aktionen

  • Issue-Vorlagen — localStorage-Persistenz pro Board

MCP-Server (KI-Agenten-Integration)

Dreizehn Tools für die Automatisierung durch KI-Agenten:

  1. list_boards — Alle Boards auflisten

  2. list_issues — Issues abfragen (filtern nach boardId, Status)

  3. get_issue — Issue-Details inklusive Anweisungen, Kriterien und Kommentaren

  4. create_issue — Ein neues Issue erstellen

  5. approve_issue — Genehmigen: Ausstehend → Genehmigt

  6. claim_issue — Übernehmen: Genehmigt → In Bearbeitung

  7. submit_qa — Zur QA einreichen: In Bearbeitung → QA

  8. complete_issue — Abschließen: QA → Erledigt (optionaler Kommentar)

  9. reject_issue — Ablehnen: QA → In Bearbeitung mit erforderlichem Grund

  10. add_comment — Einen Kommentar zu einem Issue hinzufügen

  11. update_criteria — Ein Erfolgskriterium abhaken oder abwählen

  12. search_issues — Issues nach Titel suchen

  13. get_version — MCP-Server-Version abrufen (für Diagnosen)

Tech-Stack

Backend

  • Sprache: Go 1.26

  • Router: chi/v5

  • Datenbank: SQLite / PostgreSQL (konfigurierbar)

  • Migrationen: goose/v3

  • Eingebettete Dateien: embed.FS (Deployment als einzelne Binary)

Frontend

  • Framework: React 18

  • Sprache: TypeScript

  • Bundler: Vite 6

  • CSS: Tailwind CSS

  • State-Management: React Query (TanStack)

  • Drag and Drop: @dnd-kit/core, @dnd-kit/sortable

  • Icons: lucide-react

  • Diagramme: recharts

  • i18n: react-i18next

  • Markdown: react-markdown + rehype-sanitize

MCP

  • Protokoll: JSON-RPC 2.0 über stdio

  • Ziele: Claude Code, Claude Desktop

Erste Schritte

Voraussetzungen

  • Go 1.26 oder neuer

  • Node.js 18 oder neuer

  • npm oder yarn

Installation & Ausführung

1. Klonen und initialisieren

git clone https://github.com/kjm99d/MonkeyPlanner.git
cd monkey-planner
make init

2. Production-Build (einzelne Binary)

make build
./bin/monkey-planner

Der Server läuft unter http://localhost:8080 mit eingebettetem Frontend.

3. Entwicklungsmodus (separate Prozesse)

Terminal 1 — Backend:

make run-backend

Terminal 2 — Frontend (Vite Dev-Server, :5173):

make run-frontend

Das Frontend leitet /api-Anfragen automatisch an :8080 weiter.

Umgebungsvariablen

# Server address (default: :8080)
export MP_ADDR=":8080"

# Database connection string
# SQLite (default: sqlite://./data/monkey.db)
export MP_DSN="sqlite://./data/monkey.db"

# PostgreSQL example
export MP_DSN="postgres://user:password@localhost:5432/monkey_planner"

MCP-Server-Einrichtung

Empfohlen: Automatische Konfiguration via CLI

# Claude Code (writes .mcp.json in the current directory)
monkey-planner mcp install --for claude-code

# Claude Desktop (writes the OS-native config file)
monkey-planner mcp install --for claude-desktop

# Cursor (writes .cursor/mcp.json)
monkey-planner mcp install --for cursor

Flags: --dry-run für eine Vorschau, --scope user für einen globalen Eintrag (~/.mcp.json), --force zum Überschreiben, --base-url <url> für einen nicht-standardmäßigen Server.

Starten Sie den Client danach neu, damit die Konfiguration neu eingelesen wird.

Manuelle Konfiguration

Funktioniert identisch für Claude Code (.mcp.json), Claude Desktop (OS-native Konfiguration) und Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "monkey-planner": {
      "command": "/path/to/monkey-planner",
      "args": ["mcp"],
      "env": {
        "MP_BASE_URL": "http://localhost:8080"
      }
    }
  }
}

Die Binary muss den HTTP-Server erreichen können (eingestellt über MP_BASE_URL). Belassen Sie es beim Standardwert, wenn beides auf derselben Maschine läuft.

Beispiele für die MCP-Tool-Nutzung

AI: List all boards
→ list_boards()

AI: Find issues related to "authentication"
→ search_issues(query="authentication")

AI: Approve the first pending issue, claim it, work on it, and submit for QA
→ approve_issue() → claim_issue() → submit_qa()

Workflow — Reales Nutzungsszenario

Unten sehen Sie einen echten Workflow zur Behebung eines Fehlers im Sprachumschalter, der zeigt, wie Mensch und KI-Agent über MonkeyPlanner zusammenarbeiten.

Status-Fluss

Pending → Approved → InProgress → QA → Done
                         ↑              │ (reject with reason)
                         └──────────────┘

Schritt-für-Schritt

1. Issue erstellen — Mensch findet einen Fehler, bittet KI um Registrierung

Human: "The language selector dropdown doesn't appear when clicking the button. Create an issue."
AI:    create_issue(boardId, title, body, instructions)  →  status: Pending

2. Genehmigen — Mensch prüft und genehmigt

Human: (clicks Approve on the board or tells AI)
AI:    approve_issue(issueId)  →  status: Approved

3. Arbeit beginnen — KI übernimmt das Issue und beginnt mit dem Coding

AI:    claim_issue(issueId)  →  status: InProgress
       - Reads code, identifies root cause
       - Implements fix, runs tests
       - Commits changes

4. Zur QA einreichen — KI ist fertig und reicht es zur Überprüfung ein

AI:    submit_qa(issueId, comment: "commit abc1234 — fixed click handler")
       →  status: QA
       add_comment(issueId, "Commit info: ...")

5. Überprüfung — Mensch testet den Fix

Human: Tests in browser, finds the dropdown is clipped by sidebar
       →  reject_issue(issueId, reason: "Dropdown is hidden behind sidebar")
       →  status: InProgress  (back to step 3)

Human: Tests again after fix, everything works
       →  complete_issue(issueId)  →  status: Done

6. Feedback-Schleife — Kommunikation über Kommentare während des gesamten Prozesses

Human: add_comment("Dropdown is clipped on the left side, fix it")
AI:    get_issue() → reads comment → fixes → commit → submit_qa()
Human: Tests → complete_issue()  →  Done ✓

Wichtige Erkenntnisse

  • Mensch kontrolliert die Gates: Genehmigung, QA-Bestanden/Ablehnung, Abschluss

  • KI erledigt die Arbeit: Code-Analyse, Implementierung, Tests, Commits

  • Kommentare sind der Kommunikationskanal: Beide Seiten nutzen add_comment, um Feedback auszutauschen

  • QA-Schleife verhindert vorzeitigen Abschluss: Issues müssen die menschliche Überprüfung bestehen, bevor sie auf „Erledigt“ gesetzt werden

API-Referenz

OpenAPI 3.0 Spezifikation: backend/docs/swagger.yaml

Wichtige Endpunkte

Boards

GET    /api/boards                  # List boards
POST   /api/boards                  # Create board
PATCH  /api/boards/{id}             # Update board
DELETE /api/boards/{id}             # Delete board

Issues

GET    /api/issues                  # List issues (filter: boardId, status, parentId)
POST   /api/issues                  # Create issue
GET    /api/issues/{id}             # Issue detail + child issues
PATCH  /api/issues/{id}             # Update issue (status, properties, title, etc.)
DELETE /api/issues/{id}             # Delete issue
POST   /api/issues/{id}/approve     # Approve issue (Pending → Approved)

Kommentare

GET    /api/issues/{issueId}/comments    # List comments
POST   /api/issues/{issueId}/comments    # Add comment
DELETE /api/comments/{commentId}         # Delete comment

Eigenschaften (Benutzerdefinierte Attribute)

GET    /api/boards/{boardId}/properties      # List property definitions
POST   /api/boards/{boardId}/properties      # Create property
PATCH  /api/boards/{boardId}/properties/{propId}  # Update property
DELETE /api/boards/{boardId}/properties/{propId}  # Delete property

Webhooks

GET    /api/boards/{boardId}/webhooks           # List webhooks
POST   /api/boards/{boardId}/webhooks           # Create webhook
PATCH  /api/boards/{boardId}/webhooks/{whId}    # Update webhook
DELETE /api/boards/{boardId}/webhooks/{whId}    # Delete webhook

Kalender

GET /api/calendar           # Monthly stats (year, month required)
GET /api/calendar/day       # Daily issue list (date required)

Für vollständige Schema-Details siehe backend/docs/swagger.yaml.

Projektstruktur

monkey-planner/
├── backend/
│   ├── cmd/monkey-planner/
│   │   ├── main.go              # Entry point (HTTP server)
│   │   └── mcp.go               # MCP server (JSON-RPC stdio)
│   ├── internal/
│   │   ├── domain/              # Domain models (Issue, Board, etc.)
│   │   ├── service/             # Business logic
│   │   ├── storage/             # Database layer (SQLite/PostgreSQL)
│   │   ├── http/                # HTTP handlers & router
│   │   └── migrations/          # goose migration files
│   ├── web/                     # Embedded frontend (embed.FS)
│   ├── docs/
│   │   └── swagger.yaml         # OpenAPI 3.0 spec
│   ├── go.mod
│   └── go.sum
│
├── frontend/
│   ├── src/
│   │   ├── components/          # Reusable components
│   │   ├── features/            # Page & feature components
│   │   │   ├── home/           # Dashboard
│   │   │   ├── board/          # Board & Kanban
│   │   │   ├── issue/          # Issue detail
│   │   │   ├── calendar/       # Calendar
│   │   │   └── approval/       # Approval queue
│   │   ├── api/                 # API hooks & client
│   │   ├── design/              # Tailwind tokens
│   │   ├── i18n/                # Translations (en.json, ko.json, ja.json, zh.json)
│   │   ├── App.tsx              # Router
│   │   ├── index.css            # Global styles
│   │   └── main.tsx
│   ├── package.json
│   ├── vite.config.ts
│   ├── tsconfig.json
│   └── tailwind.config.js
│
├── .mcp.json                    # Claude Code MCP config
├── Makefile                     # Build & dev commands
├── .githooks/                   # Git hooks
└── data/                        # SQLite database (default)

Tests

Backend-Tests

make test-backend

Frontend-Tests

make test-frontend

Barrierefreiheitstests

make test-a11y

Alle Tests

make test

Häufige Befehle

# Initial setup after cloning
make init

# Production build
make build

# Run production server
./bin/monkey-planner

# Development mode
make run-backend        # Terminal 1
make run-frontend       # Terminal 2

# Clean build artifacts
make clean

Regeln für Statusübergänge

Pending
  ↓ (approve endpoint)
Approved
  ↓ (PATCH status)
InProgress
  ↓ (PATCH status)
Done

Pending → Approved: POST /api/issues/{id}/approve (dedicated endpoint only)
Approved ↔ InProgress ↔ Done: Free transitions via PATCH
Pending: Cannot be re-entered from other statuses
Rejected: Separate rejection state with reason tracking

Lizenz

MIT

Mitwirken

Issues und Pull Requests sind willkommen.

Kontakt

Für Fragen oder Feedback zum Projekt öffnen Sie bitte ein GitHub-Issue.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
9Releases (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

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides a database-backed kanban board with 40+ tools for AI agents to track issues, features, todos, epics, and diary entries across projects, including status workflows, relationships, and semantic search.
    45
    78
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An AI-native kanban board MCP server where agents pull tasks via the Model Context Protocol. It provides tools for task discovery, claiming, progress updates, and review workflows.
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

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/kjm99d/MonkeyPlanner'

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