Skip to main content
Glama

get_project_statistics

Retrieve detailed project statistics, including overview and analytics, by inputting the project ID. Designed for WeWork MCP Server to support project management and decision-making.

Instructions

Lấy thống kê tổng quan về dự án Args: project_id: ID của dự án Returns: Thống kê chi tiết về dự án

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes

Implementation Reference

  • The primary handler function for the 'get_project_statistics' MCP tool. It is decorated with @mcp.tool() for automatic registration. The function fetches project details and task analysis from WeWorkClient, computes statistics such as total tasks, status breakdown, assignee distribution, task types, and completion rate, handling empty data and errors gracefully.
    @mcp.tool() def get_project_statistics(project_id: str) -> Dict[str, Any]: """ Lấy thống kê tổng quan về dự án Args: project_id: ID của dự án Returns: Thống kê chi tiết về dự án """ try: if not wework_client: return {'error': 'WeWork client not initialized'} logger.info(f"Getting statistics for project ID: {project_id}") # Lấy thông tin dự án project_info = wework_client.get_project_info(project_id) if not project_info: return { 'error': f'Không tìm thấy dự án với ID: {project_id}', 'success': False } # Phân tích tasks df = wework_client.get_project_analysis(project_id) if df.empty: return { 'success': True, 'project_name': project_info['name'], 'project_id': project_id, 'statistics': { 'total_tasks': 0, 'task_breakdown': {}, 'assignee_breakdown': {}, 'completion_rate': 0 } } # Tính các thống kê với kiểm tra column tồn tại total_tasks = len(df) status_counts = df['Trạng thái'].value_counts().to_dict() if 'Trạng thái' in df.columns else {} assignee_counts = df['Người thực hiện'].value_counts().to_dict() if 'Người thực hiện' in df.columns else {} task_type_counts = df['Loại công việc'].value_counts().to_dict() if 'Loại công việc' in df.columns else {} # Tính completion rate completed = status_counts.get('Hoàn thành', 0) completion_rate = (completed / total_tasks * 100) if total_tasks > 0 else 0 return { 'success': True, 'project_name': project_info['name'], 'project_id': project_id, 'statistics': { 'total_tasks': total_tasks, 'task_breakdown': status_counts, 'assignee_breakdown': assignee_counts, 'task_type_breakdown': task_type_counts, 'completion_rate': round(completion_rate, 2), 'summary': { 'completed': status_counts.get('Hoàn thành', 0), 'in_progress': status_counts.get('Đang thực hiện', 0), 'failed': status_counts.get('Thất bại', 0) } } } except Exception as e: logger.error(f"Error in get_project_statistics: {e}") return {'error': str(e), 'success': False}

Other Tools

Related Tools

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/FOX2920/Aplus-MCP'

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