Project Planner MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Project Planner MCPAnalyze the project and plan tickets for time tracking features."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Project Planner MCP
MCP-Server für strukturierte Laravel-Projektplanung. Scannt dein Projekt, erstellt Tickets, exportiert als JSON.
inspect → plan → export → GitLab/TodoistInstallation
Via Claude Code (empfohlen)
claude mcp add project-planner -- npx @brnbio/project-planner-mcpManuell 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
claudeDann:
> Analysiere das Projekt.
> Aktueller Stand: Auth funktioniert, Dashboard ist leer
> Ziel: User können Zeiten erfassen und sehen eine Wochen-ÜbersichtClaude 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 UmsetzungClaude 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 TicketsReview 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.jsonTools
Tool | Input | Output |
| currentState, targetState |
|
| (clarifications) |
|
| confirm: true |
|
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 publicLizenz
MIT
Available Tools
3 toolsexportA
Exportiert die finalen Tickets als JSON.
Zeigt nochmal die Übersicht und fragt nach Bestätigung/Änderungen.
Output: tickets_final.json im Projektverzeichnis
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Bestätigung für Export | |
| modifications | No | Änderungen an Tickets (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Pfad zum Projekt (default: aktuelles Verzeichnis) | . |
| targetState | Yes | Was soll erreicht werden? | |
| currentState | Yes | Deine Beschreibung des aktuellen Stands |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| clarifications | No | Antworten auf Rückfragen aus dem vorherigen Durchlauf |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v1.1.0- First observed
export - First observed
inspect - First observed
plan
TDQS
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.
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.
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.
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
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
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for generating rough-draft project plans from natural-language prompts.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for Linear project management and issue tracking
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceMCP server for managing Markdown-Driven Task Management (MDTM) files with task, parent task, environment, and workflow management, enabling structured development workflows.30173MIT- FlicenseBqualityCmaintenanceMCP server for Laravel Cloud to manage projects, environments, deployments, and other resources.98-
- FlicenseNot gradedqualityCmaintenanceMCP server for managing a project backlog as Markdown files in Git, enabling AI agents to read, create, and update tasks programmatically.2-
- FlicenseNot gradedqualityCmaintenanceA project and task manager MCP server built with Laravel, enabling AI to manage projects and tasks through tools, resources, and prompts.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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