Sprint Management Tools¶
This document provides comprehensive documentation for all 8 sprint management tools available in the Gira MCP server. These tools enable agile sprint planning, execution, and retrospective analysis with comprehensive metrics and team coordination.
🏃♂️ Tool Overview¶
Tool | Description | Category |
---|---|---|
list_sprints | List sprints with optional filtering | Query |
get_sprint | Get detailed information about a specific sprint | Query |
create_sprint | Create a new sprint | Create |
start_sprint | Start a planned sprint | Lifecycle |
complete_sprint | Complete an active sprint | Lifecycle |
add_tickets_to_sprint | Add tickets to a sprint | Association |
remove_tickets_from_sprint | Remove tickets from a sprint | Association |
get_sprint_tickets | Get all tickets in a sprint | Query |
get_sprint_metrics | Get detailed metrics for a sprint | Analytics |
📋 Query Tools¶
list_sprints¶
List sprints with optional filtering capabilities.
Parameters:
- status
(string, optional): Filter by status (planned
, active
, completed
)
- team
(string, optional): Filter by team name
- limit
(integer, optional): Maximum sprints to return (1-50)
Returns:
Array of sprint summaries containing:
- id
: Sprint identifier (e.g., SPRINT-2024-01-15)
- name
: Sprint name
- status
: Current status
- goal
: Sprint goal or objective
- start_date
: Sprint start date
- end_date
: Sprint end date
- duration_days
: Sprint duration in days
- team
: Associated team
- ticket_count
: Number of tickets in sprint
- completed_tickets
: Number of completed tickets
- progress_percentage
: Completion percentage (0-100)
- total_story_points
: Total estimated story points
- completed_story_points
: Completed story points
- created_at
: Creation timestamp
- updated_at
: Last update timestamp
Examples:
// List active sprints
{"status": "active"}
// List sprints for specific team
{"team": "backend-team"}
// Get recent sprints
{"limit": 10}
// List all completed sprints
{"status": "completed"}
Security: Read-only operation, rate limited to 30 calls per minute.
get_sprint¶
Get detailed information about a specific sprint.
Parameters:
- sprint_id
(string, required): Sprint ID to retrieve
Returns:
Detailed sprint object containing:
- id
: Sprint identifier
- name
: Sprint name
- goal
: Sprint goal or objective
- status
: Current status
- start_date
: Sprint start date
- end_date
: Sprint end date
- actual_start_date
: Actual start date (if started)
- actual_end_date
: Actual end date (if completed)
- duration_days
: Planned duration in days
- team
: Associated team
- capacity
: Team capacity for the sprint
- ticket_count
: Total tickets in sprint
- completed_tickets
: Completed tickets count
- in_progress_tickets
: In-progress tickets count
- todo_tickets
: Todo tickets count
- progress_percentage
: Completion percentage
- total_story_points
: Total estimated story points
- completed_story_points
: Completed story points
- remaining_story_points
: Remaining story points
- velocity
: Current velocity (story points per day)
- burndown_data
: Daily progress data
- custom_fields
: Additional custom data
- created_at
: Creation timestamp
- updated_at
: Last update timestamp
Examples:
// Get sprint details
{"sprint_id": "SPRINT-2024-01-15"}
// ID normalization is automatic
{"sprint_id": "2024-01-15"} // Becomes SPRINT-2024-01-15
Error Handling: - Returns error if sprint not found - Validates sprint ID format
Security: Read-only operation, no rate limiting.
get_sprint_tickets¶
Get all tickets associated with a sprint.
Parameters:
- sprint_id
(string, required): Sprint ID to get tickets for
- status
(string, optional): Filter tickets by status
- include_subtasks
(boolean, optional): Include subtasks, default: true
- sort_by
(string, optional): Sort field (priority
, story_points
, status
)
- limit
(integer, optional): Maximum tickets to return
Returns:
Object containing:
- sprint
: Sprint summary information
- tickets
: Array of associated tickets
- total_count
: Total number of tickets
- status_breakdown
: Count of tickets by status
- story_points_breakdown
: Story points by status
- progress_summary
: Progress statistics
Examples:
// Get all tickets in sprint
{"sprint_id": "SPRINT-2024-01-15"}
// Get only in-progress tickets
{"sprint_id": "SPRINT-2024-01-15", "status": "in_progress"}
// Get tickets sorted by priority
{"sprint_id": "SPRINT-2024-01-15", "sort_by": "priority"}
Security: Read-only operation.
get_sprint_metrics¶
Get detailed metrics and analytics for a sprint.
Parameters:
- sprint_id
(string, required): Sprint ID to analyze
Returns:
Comprehensive metrics object containing:
- sprint_info
: Basic sprint information
- progress_metrics
: Completion and velocity metrics
- burndown_chart
: Daily progress data points
- velocity_metrics
: Story points completed per day
- team_performance
: Individual contributor metrics
- scope_changes
: Tickets added/removed during sprint
- completion_forecast
: Projected completion date
- recommendations
: AI-generated insights
Examples:
Security: Read-only operation, may be rate limited for complex analytics.
✨ Creation Tools¶
create_sprint¶
Create a new sprint for planning and execution.
Parameters:
- name
(string, required): Sprint name (1-100 characters)
- goal
(string, optional): Sprint goal or objective
- start_date
(string, required): Sprint start date (YYYY-MM-DD)
- end_date
(string, optional): Sprint end date (auto-calculated from duration if not provided)
- duration_days
(integer, optional): Sprint duration in days, default: 14
- team
(string, optional): Associated team name
- capacity
(integer, optional): Team capacity (story points)
- custom_fields
(object, optional): Custom field values
Returns:
Created sprint object with:
- id
: Newly assigned sprint ID
- success
: True if created successfully
- sprint
: Full sprint details
Examples:
// Basic 2-week sprint
{
"name": "Q1 Sprint 3",
"goal": "Complete user authentication features",
"start_date": "2024-02-15",
"team": "backend-team"
}
// Custom duration sprint
{
"name": "Hotfix Sprint",
"goal": "Critical bug fixes",
"start_date": "2024-02-01",
"duration_days": 7,
"capacity": 40
}
// Sprint with explicit end date
{
"name": "Release Sprint",
"goal": "Final testing and deployment",
"start_date": "2024-03-01",
"end_date": "2024-03-14",
"team": "full-stack-team",
"capacity": 80
}
Validation: - Name must be 1-100 characters - Start date must be in YYYY-MM-DD format - Duration must be 1-30 days - End date must be after start date - Capacity must be positive integer
Security: Requires confirmation if configured, audit logged.
🔄 Lifecycle Tools¶
start_sprint¶
Start a planned sprint and begin tracking progress.
Parameters:
- sprint_id
(string, required): Sprint ID to start
Returns:
- success
: True if sprint started successfully
- started_at
: Actual start timestamp
- sprint
: Updated sprint details
Examples:
Validation:
- Sprint must be in planned
status
- Start date must be today or in the past
- Cannot start multiple sprints for same team simultaneously
Security: Audit logged, validates sprint permissions.
complete_sprint¶
Complete an active sprint and generate completion metrics.
Parameters:
- sprint_id
(string, required): Sprint ID to complete
- completion_notes
(string, optional): Notes about sprint completion
Returns:
- success
: True if sprint completed successfully
- completed_at
: Actual completion timestamp
- completion_metrics
: Final sprint metrics
- incomplete_tickets
: List of tickets not completed
- sprint
: Updated sprint details
Examples:
// Complete sprint
{
"sprint_id": "SPRINT-2024-01-15",
"completion_notes": "Delivered all core features, minor UX improvements moved to next sprint"
}
Validation:
- Sprint must be in active
status
- Validates completion criteria
Security: High-impact operation, requires confirmation, audit logged.
🔗 Association Tools¶
add_tickets_to_sprint¶
Add tickets to a sprint for planning and execution.
Parameters:
- sprint_id
(string, required): Sprint ID to add tickets to
- ticket_ids
(array[string], required): List of ticket IDs to add
- comment
(string, optional): Comment about the addition
Returns:
- success
: True if tickets were added successfully
- added_count
: Number of tickets successfully added
- already_in_sprint
: Tickets that were already in the sprint
- not_found
: Tickets that couldn't be found
- capacity_warning
: Warning if sprint capacity exceeded
- added_tickets
: List of successfully added ticket summaries
Examples:
// Add multiple tickets to sprint
{
"sprint_id": "SPRINT-2024-01-15",
"ticket_ids": ["GCM-123", "GCM-456", "GCM-789"],
"comment": "Core features for this sprint"
}
// Add single high-priority ticket
{
"sprint_id": "SPRINT-2024-01-15",
"ticket_ids": ["GCM-999"],
"comment": "Critical bug fix added mid-sprint"
}
Validation:
- Sprint must exist and be in planned
or active
status
- Ticket IDs are normalized
- Checks for capacity constraints
- Validates that tickets exist and aren't in other active sprints
Security: Audit logged, validates sprint and ticket permissions.
remove_tickets_from_sprint¶
Remove tickets from a sprint.
Parameters:
- sprint_id
(string, required): Sprint ID to remove tickets from
- ticket_ids
(array[string], required): List of ticket IDs to remove
- comment
(string, optional): Comment about the removal
- move_to_backlog
(boolean, optional): Move to backlog instead of unassigning, default: true
Returns:
- success
: True if tickets were removed successfully
- removed_count
: Number of tickets successfully removed
- not_in_sprint
: Tickets that weren't in the sprint
- not_found
: Tickets that couldn't be found
- removed_tickets
: List of successfully removed ticket summaries
Examples:
// Remove tickets from sprint
{
"sprint_id": "SPRINT-2024-01-15",
"ticket_ids": ["GCM-123", "GCM-456"],
"comment": "Moving to next sprint due to capacity constraints"
}
// Remove and unassign completely
{
"sprint_id": "SPRINT-2024-01-15",
"ticket_ids": ["GCM-789"],
"move_to_backlog": false,
"comment": "Removing from sprint planning entirely"
}
Security: Audit logged, validates sprint and ticket permissions.
📊 Sprint Analytics & Metrics¶
Burndown Charts¶
Track daily progress with story points or ticket count burndown: - Ideal Burndown: Theoretical linear progress - Actual Burndown: Real progress with daily snapshots - Scope Changes: Tickets added/removed during sprint
Velocity Metrics¶
- Current Velocity: Story points completed per day
- Average Velocity: Historical team velocity
- Velocity Trend: Improvement or decline over time
- Completion Forecast: Projected sprint end based on current velocity
Team Performance¶
- Individual Contributions: Story points per team member
- Collaboration Metrics: Pair programming and knowledge sharing
- Blockers and Impediments: Items preventing progress
- Cycle Time: Average time from start to completion
Sprint Health Indicators¶
- Scope Creep: Percentage of tickets added mid-sprint
- Completion Rate: Percentage of planned work completed
- Quality Metrics: Bug reports and technical debt
- Team Satisfaction: Retrospective feedback scores
🔄 Sprint Lifecycle Management¶
Sprint Status Progression¶
Sprints follow this lifecycle: 1. planned - Sprint created and being planned 2. active - Sprint is running with active work 3. completed - Sprint finished, metrics calculated
Planning Best Practices¶
Sprint Creation: - Set clear, measurable goals - Plan realistic capacity based on team availability - Include buffer time for unexpected work - Align sprint goals with epic objectives
Ticket Planning: - Estimate story points before adding to sprint - Balance different types of work (features, bugs, tech debt) - Consider dependencies between tickets - Plan for team member availability
Capacity Management: - Track team capacity in story points - Monitor velocity trends - Adjust sprint scope based on capacity - Account for holidays and time off
🔍 Advanced Sprint Queries¶
Sprint Reporting Patterns¶
// Get sprint progress dashboard
{
"sprint_id": "SPRINT-2024-01-15"
}
// Analyze team velocity trends
{
"status": "completed",
"team": "backend-team",
"limit": 6
}
// Monitor active sprint health
{
"status": "active"
}
Cross-Sprint Analysis¶
// Compare sprint performance
{
"status": "completed",
"limit": 10
}
// Track team improvement
{
"team": "frontend-team",
"status": "completed"
}
🔒 Security & Best Practices¶
Rate Limiting¶
- list_sprints: 30 calls/minute
- get_sprint: No limit (read-only)
- get_sprint_tickets: 20 calls/minute
- get_sprint_metrics: 10 calls/minute (complex analytics)
- create_sprint: 10 calls/minute
- start_sprint: 5 calls/minute
- complete_sprint: 5 calls/minute
- add_tickets_to_sprint: 15 calls/minute
- remove_tickets_from_sprint: 15 calls/minute
Confirmation Requirements¶
These operations require confirmation when require_confirmation=true
:
- create_sprint
- start_sprint
- complete_sprint
- add_tickets_to_sprint (for large batches)
- remove_tickets_from_sprint (for large batches)
Audit Logging¶
All sprint operations are logged with: - Timestamp - Operation name - Sprint ID and affected tickets - Parameters (if verbose logging enabled) - Success/failure status - Performance metrics
Input Validation¶
- Sprint IDs are normalized (SPRINT- prefix added if missing)
- Date formats are validated (YYYY-MM-DD)
- Duration constraints are enforced (1-30 days)
- Capacity must be positive integers
- Ticket assignments are validated
Error Handling¶
Common error scenarios: - NotFoundError: Sprint or tickets don't exist - ValidationError: Invalid parameters or dates - ConflictError: Sprint scheduling conflicts - CapacityError: Sprint capacity exceeded - StateError: Invalid sprint state for operation
📈 Sprint Performance Analysis¶
Key Performance Indicators (KPIs)¶
- Sprint Goal Achievement: Percentage of sprint goals met
- Velocity Consistency: Variation in velocity between sprints
- Scope Stability: Percentage of scope changes mid-sprint
- Cycle Time: Average time from start to completion per ticket
Retrospective Metrics¶
- What Went Well: Positive outcomes and successful practices
- What Could Improve: Areas for improvement
- Action Items: Specific improvements for next sprint
- Team Satisfaction: Qualitative feedback scores
Predictive Analytics¶
- Completion Forecasting: When sprint will likely finish
- Capacity Planning: Optimal ticket load for team
- Risk Assessment: Likelihood of sprint goal achievement
- Resource Optimization: Suggestions for better sprint planning
For ticket management within sprints, see Ticket Tools. For epic-sprint relationships, see Epic Tools. For sprint visualization, see Board Tools.