Project Planner MCP
by brnbio
README.md
# Project Planner MCP
MCP-Server für strukturierte Laravel-Projektplanung. Scannt dein Projekt, erstellt Tickets, exportiert als JSON.
```
inspect → plan → export → GitLab/Todoist
```
## Installation
### Via Claude Code (empfohlen)
```bash
claude mcp add project-planner -- npx @brnbio/project-planner-mcp
```
### Manuell in `~/.claude.json`
```json
{
"mcpServers": {
"project-planner": {
"command": "npx",
"args": ["@brnbio/project-planner-mcp"]
}
}
}
```
Dann Claude Code neustarten.
---
## Usage
### Schritt 1: Projekt analysieren
Navigiere in dein Laravel-Projekt und starte Claude Code:
```bash
cd /pfad/zu/deinem/laravel-projekt
claude
```
Dann:
```
> Analysiere das Projekt.
> Aktueller Stand: Auth funktioniert, Dashboard ist leer
> Ziel: User können Zeiten erfassen und sehen eine Wochen-Übersicht
```
Claude nutzt `inspect` und scannt automatisch:
- Models + Relations
- Migrations (DB-Schema)
- Controllers + Methods
- Routes
- Vue Pages & Components
**Output:** `project_context.json`
### Schritt 2: Tickets planen
```
> Plane die Umsetzung
```
Claude analysiert den Gap zwischen IST und SOLL, stellt Rückfragen:
- Welche Entitäten werden benötigt?
- Wie hängen sie zusammen?
- Was ist der MVP?
Dann generiert er Tickets mit 4h/8h Schätzungen.
**Output:** `tickets_draft.json`
### Schritt 3: Tickets exportieren
```
> Exportiere die Tickets
```
Review der Ticket-Liste, dann Bestätigung.
**Output:** `tickets_final.json`
```json
[
{
"title": "TimeEntry Model + Migration",
"description": "Erstelle TimeEntry Model mit user_id, started_at, ended_at, description.\n\n## Checkliste\n- [ ] Migration erstellen\n- [ ] Model mit Fillables\n- [ ] Factory erstellen\n- [ ] Relation zu User",
"estimate": "4h",
"labels": ["Backend", "Database"]
}
]
```
### Schritt 4: Issues erstellen (optional)
Mit deinen bestehenden MCPs:
```
> Erstelle GitLab Issues aus tickets_final.json
> Erstelle Todoist Tasks aus tickets_final.json
```
---
## Tools
| Tool | Input | Output |
|------|-------|--------|
| `inspect` | currentState, targetState | `project_context.json` |
| `plan` | (clarifications) | `tickets_draft.json` |
| `export` | confirm: true | `tickets_final.json` |
---
## Output-Dateien
Alle Dateien landen im Projektverzeichnis und können versioniert werden:
```
dein-laravel-projekt/
├── project_context.json # IST + SOLL + Analyse
├── tickets_draft.json # Entwürfe
├── tickets_final.json # Finale Tickets
└── ...
```
**Tipp:** Füge die JSON-Dateien zum Git hinzu als Planungs-Dokumentation.
---
## Ticket-Schema
```typescript
interface Ticket {
title: string;
description: string; // Mit Markdown-Checkliste
estimate: "4h" | "8h";
labels: ("Backend" | "Frontend" | "Testing" | "Database")[];
}
```
---
## Tech Stack
Optimiert für:
- Laravel 12 + Inertia.js v2
- Vue 3 Composition API
- PestPHP
- Tailwind CSS
---
## Publishing (für Maintainer)
```bash
npm login
npm publish --access public
```
---
## Lizenz
MIT
TDQS
A4.2/5.0
Scored across 3 tools
Disambiguation5/5
Each tool has a distinct phase: inspect captures the current state, plan creates tickets from that context, and export finalizes them. No overlap in purpose; they form a clear sequence.
Naming Consistency5/5
All tool names are single-word verbs in lowercase (inspect, plan, export), following a consistent imperative style. The naming clearly indicates the action each performs.
Tool Count5/5
With only 3 tools, the set is tightly scoped to the planning workflow. Each tool is necessary and the pipeline is complete without unnecessary extras.
Completeness5/5
The tools cover the entire lifecycle from analyzing the project to generating and exporting tickets. The export tool also handles confirmation/changes, closing the loop with no obvious gaps.
Maintenance
ActivityInactive
ResponsivenessNo issues