Skip to main content
Glama
jakedx6
by jakedx6

get_project_insights

Analyze project data to identify progress, bottlenecks, team performance, documentation health, and AI readiness with actionable recommendations.

Instructions

Get deep analytics and insights for a specific project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesThe project ID to analyze
insight_typesNoTypes of insights to generate
include_recommendationsNoWhether to include actionable recommendations

Implementation Reference

  • The main execution handler for the get_project_insights tool. Parses input arguments using Zod schema, fetches project and context data from Supabase, generates specific insights based on requested types using helper functions, adds recommendations if requested, computes overall health score, and returns structured insights.
    export const getProjectInsights = requireAuth(async (args: any) => { const { project_id, insight_types, include_recommendations } = GetProjectInsightsSchema.parse(args) logger.info('Getting project insights', { project_id, insight_types }) const project = await supabaseService.getProject(project_id) const projectContext = await supabaseService.getProjectContext(project_id) const insights: any = { project_overview: { id: project.id, name: project.name, status: project.status, created_at: project.created_at, updated_at: project.updated_at } } // Generate requested insights for (const insightType of insight_types) { switch (insightType) { case 'progress': insights.progress_analysis = analyzeProjectProgress(projectContext) break case 'bottlenecks': insights.bottleneck_analysis = identifyProjectBottlenecks(projectContext) break case 'team_performance': insights.team_performance = analyzeTeamPerformance(projectContext) break case 'documentation_health': insights.documentation_health = analyzeDocumentationHealth(projectContext) break case 'ai_readiness': insights.ai_readiness = assessProjectAIReadiness(projectContext) break } } if (include_recommendations) { insights.recommendations = generateProjectRecommendations(insights, projectContext) } insights.overall_health_score = calculateOverallHealthScore(insights) return insights })
  • Zod schema used for input validation and parsing within the handler function.
    const GetProjectInsightsSchema = z.object({ project_id: z.string().uuid(), insight_types: z.array(z.enum(['progress', 'bottlenecks', 'team_performance', 'documentation_health', 'ai_readiness'])).default(['progress', 'bottlenecks']), include_recommendations: z.boolean().default(true)
  • MCPTool object definition registering the tool with name, description, and JSON input schema for MCP protocol compatibility.
    export const getProjectInsightsTool: MCPTool = { name: 'get_project_insights', description: 'Get deep analytics and insights for a specific project', inputSchema: { type: 'object', properties: { project_id: { type: 'string', format: 'uuid', description: 'The project ID to analyze' }, insight_types: { type: 'array', items: { type: 'string', enum: ['progress', 'bottlenecks', 'team_performance', 'documentation_health', 'ai_readiness'] }, default: ['progress', 'bottlenecks'], description: 'Types of insights to generate' }, include_recommendations: { type: 'boolean', default: true, description: 'Whether to include actionable recommendations' } }, required: ['project_id'] } }
  • Local registration mapping tool name 'get_project_insights' to its handler function within context aggregation handlers.
    export const contextAggregationHandlers = { get_smart_context: getSmartContext, get_workspace_overview: getWorkspaceOverview, get_project_insights: getProjectInsights, find_related_content: findRelatedContent, generate_context_summary: generateContextSummary }
  • src/index.ts:143-155 (registration)
    Global registration in main MCP server: spreads contextAggregationHandlers (including get_project_insights) into the allHandlers object used for tool execution.
    this.allHandlers = { ...projectHandlers, ...taskHandlers, ...documentHandlers, ...conversationHandlers, ...contextAggregationHandlers, ...workflowAutomationHandlers, ...intelligentSearchHandlers, ...analyticsInsightsHandlers, ...initiativeHandlers, ...promptToProjectTools.reduce((acc, tool) => ({ ...acc, [tool.name]: tool.handler }), {}), ...debugHandlers, }

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/jakedx6/helios9-MCP-Server'

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