Skip to main content
Glama

mcp__gemini__planner_pro

Plan projects interactively using templates, detect dependencies, and track progress efficiently. Ideal for managing timelines, team sizes, and project complexities in software development.

Instructions

Interactive project planning with templates, dependency detection, and progress tracking

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
complexityNoProject complexitymedium
project_descriptionYesProject description
project_typeNoProject typesoftware
team_sizeNoTeam size
timelineNoTarget timeline

Implementation Reference

  • The handler function that executes the tool's core logic: parses arguments, loads project templates based on type, generates detailed project plans via AI prompts, performs dependency analysis, saves the plan to storage, and returns a formatted response with plan ID and analysis.
    handler: async (args) => { const { project_description, project_type = 'software', timeline, team_size = 1, complexity = 'medium' } = args; validateString(project_description, 'project_description'); const timer = performanceMonitor.startTimer('planner_pro'); // Load project templates const templates = { software: { phases: ['Planning', 'Design', 'Development', 'Testing', 'Deployment'], standardTasks: ['Requirements gathering', 'Architecture design', 'Core development', 'Testing & QA', 'Documentation', 'Deployment setup'] }, web: { phases: ['Discovery', 'Design', 'Frontend', 'Backend', 'Integration', 'Launch'], standardTasks: ['User research', 'UI/UX design', 'Frontend development', 'Backend API', 'Database design', 'Testing', 'Launch'] }, mobile: { phases: ['Research', 'Design', 'Development', 'Testing', 'Store Submission'], standardTasks: ['Market research', 'UI design', 'Core development', 'Platform testing', 'App store optimization'] }, ai: { phases: ['Data Collection', 'Model Development', 'Training', 'Validation', 'Deployment'], standardTasks: ['Data gathering', 'Feature engineering', 'Model architecture', 'Training pipeline', 'Model validation', 'Production deployment'] } }; const template = templates[project_type] || templates.software; const planningPrompt = `Create a comprehensive project plan using the following framework: **Project**: ${project_description} **Type**: ${project_type} **Timeline**: ${timeline || 'To be determined'} **Team Size**: ${team_size} **Complexity**: ${complexity} **Template Framework**: Phases: ${template.phases.join(' → ')} Standard Tasks: ${template.standardTasks.join(', ')} Create a detailed plan including: 1. **Executive Summary** - Project goals and objectives - Success criteria - Key deliverables 2. **Phase Breakdown** - Detailed tasks for each phase - Dependencies between tasks - Resource requirements - Risk assessment 3. **Timeline & Milestones** - Estimated duration for each phase - Critical path analysis - Key milestone dates 4. **Resource Planning** - Team composition and roles - Skill requirements - External dependencies 5. **Risk Management** - Potential risks and mitigation strategies - Contingency planning - Quality gates 6. **Success Metrics** - KPIs and measurement criteria - Progress tracking methods - Review and adjustment points Make the plan actionable with specific tasks, clear dependencies, and realistic timelines for a team of ${team_size}.`; const plan = await aiClient.call(planningPrompt, 'main', { complexity: complexity === 'enterprise' ? 'complex' : 'medium', maxTokens: 4000 }); // Generate dependency analysis const dependencyPrompt = `Analyze the project plan and create a dependency matrix: ${plan} Provide: 1. Critical path identification 2. Task dependencies (what depends on what) 3. Potential bottlenecks 4. Parallel execution opportunities 5. Risk factors for delays`; const dependencies = await aiClient.call(dependencyPrompt, 'analysis'); // Save plan to storage const planData = { id: Date.now().toString(), project_description, project_type, timeline, team_size, complexity, plan, dependencies, created: new Date().toISOString(), status: 'draft' }; const storage_data = await storage.read('plans'); if (!storage_data.plans) storage_data.plans = []; storage_data.plans.push(planData); await storage.write('plans', storage_data); timer.end(); return `📋 **Enhanced Project Plan** (${project_type}) **Plan ID**: ${planData.id} **Complexity**: ${complexity} **Team Size**: ${team_size} ${plan} --- 🔗 **Dependency Analysis** ${dependencies} **Plan saved to storage for future reference and tracking.**`; }
  • Defines the input schema (parameters) for the tool, including required project_description and optional parameters like project_type, timeline, team_size, and complexity.
    parameters: { project_description: { type: 'string', description: 'Project description', required: true }, project_type: { type: 'string', description: 'Project type', default: 'software' }, timeline: { type: 'string', description: 'Target timeline' }, team_size: { type: 'number', description: 'Team size', default: 1 }, complexity: { type: 'string', description: 'Project complexity', default: 'medium' } },
  • Registers the tool 'mcp__gemini__planner_pro' as an object with description, parameters schema, and handler function within the enhanced-tools.js module, likely exported for MCP tool registration.
    'mcp__gemini__planner_pro': { description: 'Interactive project planning with templates, dependency detection, and progress tracking', parameters: { project_description: { type: 'string', description: 'Project description', required: true }, project_type: { type: 'string', description: 'Project type', default: 'software' }, timeline: { type: 'string', description: 'Target timeline' }, team_size: { type: 'number', description: 'Team size', default: 1 }, complexity: { type: 'string', description: 'Project complexity', default: 'medium' } }, handler: async (args) => { const { project_description, project_type = 'software', timeline, team_size = 1, complexity = 'medium' } = args; validateString(project_description, 'project_description'); const timer = performanceMonitor.startTimer('planner_pro'); // Load project templates const templates = { software: { phases: ['Planning', 'Design', 'Development', 'Testing', 'Deployment'], standardTasks: ['Requirements gathering', 'Architecture design', 'Core development', 'Testing & QA', 'Documentation', 'Deployment setup'] }, web: { phases: ['Discovery', 'Design', 'Frontend', 'Backend', 'Integration', 'Launch'], standardTasks: ['User research', 'UI/UX design', 'Frontend development', 'Backend API', 'Database design', 'Testing', 'Launch'] }, mobile: { phases: ['Research', 'Design', 'Development', 'Testing', 'Store Submission'], standardTasks: ['Market research', 'UI design', 'Core development', 'Platform testing', 'App store optimization'] }, ai: { phases: ['Data Collection', 'Model Development', 'Training', 'Validation', 'Deployment'], standardTasks: ['Data gathering', 'Feature engineering', 'Model architecture', 'Training pipeline', 'Model validation', 'Production deployment'] } }; const template = templates[project_type] || templates.software; const planningPrompt = `Create a comprehensive project plan using the following framework: **Project**: ${project_description} **Type**: ${project_type} **Timeline**: ${timeline || 'To be determined'} **Team Size**: ${team_size} **Complexity**: ${complexity} **Template Framework**: Phases: ${template.phases.join(' → ')} Standard Tasks: ${template.standardTasks.join(', ')} Create a detailed plan including: 1. **Executive Summary** - Project goals and objectives - Success criteria - Key deliverables 2. **Phase Breakdown** - Detailed tasks for each phase - Dependencies between tasks - Resource requirements - Risk assessment 3. **Timeline & Milestones** - Estimated duration for each phase - Critical path analysis - Key milestone dates 4. **Resource Planning** - Team composition and roles - Skill requirements - External dependencies 5. **Risk Management** - Potential risks and mitigation strategies - Contingency planning - Quality gates 6. **Success Metrics** - KPIs and measurement criteria - Progress tracking methods - Review and adjustment points Make the plan actionable with specific tasks, clear dependencies, and realistic timelines for a team of ${team_size}.`; const plan = await aiClient.call(planningPrompt, 'main', { complexity: complexity === 'enterprise' ? 'complex' : 'medium', maxTokens: 4000 }); // Generate dependency analysis const dependencyPrompt = `Analyze the project plan and create a dependency matrix: ${plan} Provide: 1. Critical path identification 2. Task dependencies (what depends on what) 3. Potential bottlenecks 4. Parallel execution opportunities 5. Risk factors for delays`; const dependencies = await aiClient.call(dependencyPrompt, 'analysis'); // Save plan to storage const planData = { id: Date.now().toString(), project_description, project_type, timeline, team_size, complexity, plan, dependencies, created: new Date().toISOString(), status: 'draft' }; const storage_data = await storage.read('plans'); if (!storage_data.plans) storage_data.plans = []; storage_data.plans.push(planData); await storage.write('plans', storage_data); timer.end(); return `📋 **Enhanced Project Plan** (${project_type}) **Plan ID**: ${planData.id} **Complexity**: ${complexity} **Team Size**: ${team_size} ${plan} --- 🔗 **Dependency Analysis** ${dependencies} **Plan saved to storage for future reference and tracking.**`; } },

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/emmron/gemini-mcp'

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