Skip to main content
Glama
brnbio
by brnbio

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)

claude mcp add project-planner -- npx @brnbio/project-planner-mcp

Manuell in ~/.claude.json

{
  "mcpServers": {
    "project-planner": {
      "command": "npx",
      "args": ["@brnbio/project-planner-mcp"]
    }
  }
}

Dann Claude Code neustarten.


Related MCP server: Laravel Cloud MCP Server

Usage

Schritt 1: Projekt analysieren

Navigiere in dein Laravel-Projekt und starte Claude Code:

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

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

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)

npm login
npm publish --access public

Lizenz

MIT

Available Tools

3 tools
exportA

Exportiert die finalen Tickets als JSON.

Zeigt nochmal die Übersicht und fragt nach Bestätigung/Änderungen.

Output: tickets_final.json im Projektverzeichnis

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoBestätigung für Export
modificationsNoÄnderungen an Tickets (optional)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the interactive confirmation step and the output file. However, it does not specify behavior when confirm=false (e.g., whether export is skipped) or whether the file is overwritten, which are important for a mutation-like export tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, front-loaded sentences. The main purpose is stated first, followed by workflow and output path. No redundant words or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 optional params, no output schema), the description covers the essential aspects: purpose, interactive confirmation, and output. It lacks details on return values or error handling, but these are minor for a simple export tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% as both parameters have descriptions. The description adds minimal extra meaning beyond the schema; it reinforces that modifications are changes to tickets and confirm is for a confirmation step, but does not clarify detailed usage (e.g., how modifications are applied).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Exportiert die finalen Tickets als JSON' (exports final tickets as JSON), with a specific output file. This distinguishes it from sibling tools inspect and plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use after finalizing tickets, as it mentions showing an overview and asking for confirmation. However, it does not explicitly state when to use this tool instead of alternatives like inspect or plan, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspectA

Scannt das aktuelle Laravel-Projekt und erfasst den IST-Zustand.

Analysiert:

  • Models und deren Relations

  • Migrations (Datenbankstruktur)

  • Controllers und deren Methods

  • Routes

  • Vue Pages und Components

Fragt dann nach:

  • Aktueller Stand aus deiner Sicht

  • Zielzustand (was soll erreicht werden)

Output: project_context.json

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoPfad zum Projekt (default: aktuelles Verzeichnis).
targetStateYesWas soll erreicht werden?
currentStateYesDeine Beschreibung des aktuellen Stands

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool scans and analyzes specific project areas, then asks for current and target state, and finally outputs project_context.json. The verb 'Scannt' implies read-only analysis, and the process is clearly described, though it does not explicitly mention whether it overwrites existing files or requires permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with bullet lists for the analysis areas and the questions asked. Every sentence contributes meaningful information, and the overall length is appropriate for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's input (via questions), the analysis scope (listed project components), and the output file. While the exact structure of project_context.json is not specified, the listed analysis areas give a strong indication of its contents. For a 3-parameter tool with no output schema, this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds context by explaining that currentState and targetState are asked as follow-up questions, matching the schema, but it does not provide additional format or syntax details beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scans the current Laravel project and captures its state, listing specific components (models, migrations, controllers, routes, Vue components). This specific verb-resource combination distinguishes it from sibling tools plan and export, which clearly have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when an inventory of the current project state is needed before planning, but it does not explicitly state when to use inspect versus plan or export. There are no exclusions or alternative tool references, leaving the usage context implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

planA

Erstellt Tickets basierend auf dem project_context.

Analysiert:

  • Gap zwischen IST und SOLL

  • Benötigte Änderungen an DB, Backend, Frontend

  • Dependencies zwischen Tasks

Generiert Tickets mit:

  • 4h oder 8h Schätzung

  • Labels (Backend, Frontend, Testing, Database)

  • Technische Checkliste

  • Betroffene Dateien/Pfade

Output: tickets_draft.json

ParametersJSON Schema
NameRequiredDescriptionDefault
clarificationsNoAntworten auf Rückfragen aus dem vorherigen Durchlauf

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses key behavioral aspects: it analyzes IST/SOLL gap, DB/backend/frontend changes, dependencies, generates tickets with estimates, labels, checklists, and affected files, and outputs to tickets_draft.json. This provides solid insight into what happens when invoked, though it does not mention side effects like file writing explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the primary action. Bullet points efficiently list analysis areas and ticket attributes. Every line contributes meaningful information without unnecessary filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with moderate complexity and no output schema, the description covers the input source (project_context), the analysis steps, the output format (tickets_draft.json), and the optional clarifications parameter. It omits details about error handling or edge cases, but the provided information is sufficient for an agent to understand the tool's role and expected outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'clarifications' is fully described in the schema as 'Antworten auf Rückfragen aus dem vorherigen Durchlauf' (answers to follow-up questions from the previous run). Schema coverage is 100%, so the description adds no additional semantic value beyond what the schema already provides, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb and resource: 'Erstellt Tickets basierend auf dem project_context' (creates tickets based on the project context). It also distinguishes itself from siblings 'inspect' and 'export' by focusing on ticket generation, not inspection or export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by describing analysis of gaps, changes, and dependencies, but it does not explicitly state when to use this tool versus alternatives. No when-not conditions or alternative tool references are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.1.0
    • First observedexport
    • First observedinspect
    • First observedplan

TDQS

A4.2/5.0
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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/brnbio/project-planner-mcp'

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