Skip to main content
Glama
jakedx6
by jakedx6

get_team_productivity

Analyze team productivity patterns and performance by measuring task completion, collaboration, and other dimensions across specified time ranges and projects.

Instructions

Analyze team productivity patterns and performance

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
team_membersNoSpecific team member IDs to analyze (optional)
project_idNoProject context for analysis (optional)
time_rangeNoTime range for analysismonth
productivity_dimensionsNoDimensions of productivity to measure

Implementation Reference

  • The core handler function for the 'get_team_productivity' tool. Validates input schema, fetches team data, analyzes productivity across multiple dimensions (task_completion, collaboration, etc.), calculates overall score, generates insights and improvement suggestions.
    export const getTeamProductivity = requireAuth(async (args: any) => { const { team_members, project_id, time_range, productivity_dimensions } = GetTeamProductivitySchema.parse(args) logger.info('Analyzing team productivity', { team_members, project_id, time_range }) // Get team data const teamData = await getTeamData(team_members, project_id, time_range) const productivity: any = { time_range, team_size: teamData.members.length, project_context: project_id, analyzed_at: new Date().toISOString(), dimensions: {} } // Analyze each productivity dimension for (const dimension of productivity_dimensions) { try { switch (dimension) { case 'task_completion': productivity.dimensions.task_completion = analyzeTaskCompletion(teamData) break case 'collaboration': productivity.dimensions.collaboration = analyzeCollaboration(teamData) break case 'code_quality': productivity.dimensions.code_quality = analyzeCodeQuality(teamData) break case 'documentation': productivity.dimensions.documentation = analyzeDocumentation(teamData) break case 'mentoring': productivity.dimensions.mentoring = analyzeMentoring(teamData) break case 'innovation': productivity.dimensions.innovation = analyzeInnovation(teamData) break } } catch (error) { logger.error(`Failed to analyze ${dimension}:`, error) productivity.dimensions[dimension] = { error: 'Analysis failed' } } } // Calculate overall productivity score productivity.overall_score = calculateOverallProductivityScore(productivity.dimensions) // Generate team insights productivity.insights = generateTeamInsights(productivity.dimensions, teamData) productivity.improvement_suggestions = generateImprovementSuggestions(productivity.dimensions) return productivity })
  • Zod validation schema for the get_team_productivity tool inputs: team_members (optional array), project_id (optional), time_range (enum with default), productivity_dimensions (array of enums with default).
    const GetTeamProductivitySchema = z.object({ team_members: z.array(z.string()).optional(), project_id: z.string().optional(), time_range: z.enum(['week', 'month', 'quarter']).default('month'), productivity_dimensions: z.array(z.enum(['task_completion', 'collaboration', 'code_quality', 'documentation', 'mentoring', 'innovation'])).default(['task_completion', 'collaboration']) })
  • MCPTool registration/definition for get_team_productivity, including name, description, and inputSchema matching the Zod schema.
    export const getTeamProductivityTool: MCPTool = { name: 'get_team_productivity', description: 'Analyze team productivity patterns and performance', inputSchema: { type: 'object', properties: { team_members: { type: 'array', items: { type: 'string' }, description: 'Specific team member IDs to analyze (optional)' }, project_id: { type: 'string', description: 'Project context for analysis (optional)' }, time_range: { type: 'string', enum: ['week', 'month', 'quarter'], default: 'month', description: 'Time range for analysis' }, productivity_dimensions: { type: 'array', items: { type: 'string', enum: ['task_completion', 'collaboration', 'code_quality', 'documentation', 'mentoring', 'innovation'] }, default: ['task_completion', 'collaboration'], description: 'Dimensions of productivity to measure' } } } }
  • Collection export including the getTeamProductivityTool for analytics insights tools registry.
    export const analyticsInsightsTools = { getProjectAnalyticsTool, getTeamProductivityTool, getWorkspaceHealthTool, generateCustomReportTool }
  • Handlers registry mapping 'get_team_productivity' to its handler function getTeamProductivity.
    export const analyticsInsightsHandlers = { get_project_analytics: getProjectAnalytics, get_team_productivity: getTeamProductivity, get_workspace_health: getWorkspaceHealth, generate_custom_report: generateCustomReport }

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