gitlab_get_user_contributions_summary
Summarize a user's contributions, including commits, issues, MRs, and project involvement within a specified timeframe. Ideal for performance reviews, team tracking, and project health analysis.
Instructions
Summarize user's recent contributions across issues, MRs, and commits
Get a comprehensive overview of a user's activity and contributions over a specified time period, aggregating data from multiple sources.
Returns contribution summary including:
Commit statistics: count, additions, deletions
Issue activity: created, closed, commented
MR activity: created, merged, reviewed
Project involvement: active repositories
Trend analysis: activity patterns over time
Use cases:
Performance reviews and reports
Team contribution tracking
Identifying active contributors
Project health monitoring
Parameters:
user_id: Numeric user ID
username: Username string (use either user_id or username)
since: Start date for analysis (YYYY-MM-DD)
until: End date for analysis (YYYY-MM-DD)
project_id: Optional project scope filter
Example: Get user contributions for last month
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Optional project scope filter | |
| since | No | Start date for analysis (YYYY-MM-DD) | |
| until | No | End date for analysis (YYYY-MM-DD) | |
| user_id | No | Numeric user ID | |
| username | No | Username string |
Implementation Reference
- src/mcp_gitlab/tool_handlers.py:682-697 (handler)The main handler function that parses arguments and calls the GitLabClient method to retrieve user contributions summary.def handle_get_user_contributions_summary(client: GitLabClient, arguments: Optional[Dict[str, Any]]) -> Dict[str, Any]: """Handle getting user contributions summary""" user_id = get_argument(arguments, "user_id") username = get_argument(arguments, "username") since = get_argument(arguments, "since") until = get_argument(arguments, "until") project_id = get_argument(arguments, "project_id") return client.get_user_contributions_summary( user_id=user_id, username=username, since=since, until=until, project_id=project_id )
- Defines the tool schema including input parameters, types, descriptions, and requirements.types.Tool( name=TOOL_GET_USER_CONTRIBUTIONS_SUMMARY, description=desc.DESC_GET_USER_CONTRIBUTIONS_SUMMARY, inputSchema={ "type": "object", "properties": { "username": {"type": "string", "description": "Username string"}, "since": {"type": "string", "description": "Start date (YYYY-MM-DD)", "default": "30 days ago"}, "until": {"type": "string", "description": "End date (YYYY-MM-DD)", "default": "today"} }, "required": ["username"] } ),
- src/mcp_gitlab/tool_handlers.py:1076-1076 (registration)Maps the tool name to its handler function in the TOOL_HANDLERS dictionary used by the server.TOOL_GET_USER_CONTRIBUTIONS_SUMMARY: handle_get_user_contributions_summary,
- src/mcp_gitlab/constants.py:254-254 (helper)Constant defining the exact tool name string used throughout the codebase.TOOL_GET_USER_CONTRIBUTIONS_SUMMARY = "gitlab_get_user_contributions_summary"