Labels
Label management through MCP. Create, organize, and attach labels to tasks for categorization and filtering across your projects.
Open Source — GitScrum MCP Server is open source under the MIT license. Available on npm and GitHub. Model Context Protocol server for GitScrum — Claude, GitHub Copilot, Cursor, and any MCP-compatible client full operational access to your project management stack.
The label tool provides 6 actions for managing labels — the cross-project tagging system that gives your team flexible categorization beyond fixed workflows. Labels let you slice work by feature area, technology, priority, team, or any custom dimension your organization needs. Through the MCP Server, your AI assistant can create labels, attach them to tasks, toggle them on and off, and manage your entire labeling taxonomy.
Labels in GitScrum operate at the workspace level, meaning a label created in your workspace is available across all projects. This gives you a consistent vocabulary for categorizing work, whether a task lives in the Backend project, the Frontend project, or anywhere else. When you attach a label to a task, it becomes a filterable dimension — you can use the task filter action to find all tasks with a specific label across any project.
Actions Overview
| Action | Purpose | Required Parameters |
|---|---|---|
list | List all labels in the workspace | company_slug |
create | Create a new label with title and color | company_slug, title, color |
update | Modify label title or color | labelslug, companyslug |
attach | Attach a label to a task | labelslug, taskuuid, project_slug |
detach | Remove a label from a task | labelslug, taskuuid, project_slug |
toggle | Toggle a label on/off for a task | labelslug, taskuuid, project_slug |
Listing Labels
The list action returns all labels in the workspace. Each label in the response includes its slug, title, and color. Since labels are workspace-scoped, this single call gives you the full label taxonomy available across all projects.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
company_slug | string | Workspace identifier (from the workspace tool) |
Example Prompts
You: "List all available labels"
AI: Calls label action=list → returns all workspace labels with titles and colors
You: "What labels do we have set up?"
AI: Calls label action=list → presents the full label taxonomy
You: "Show me the label colors we're using"
AI: Calls label action=list → displays labels with their associated colorsCreating Labels
The create action builds a new label with a title and color. Both the title and color are required — every label must be visually distinct so team members can identify them at a glance on the Kanban board.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
company_slug | string | Workspace identifier (from the workspace tool) |
title | string | Label name (e.g. "bug", "frontend", "urgent", "tech-debt") |
color | string | Hex color code without the # prefix (e.g. FF0000, 3B82F6, 10B981) |
Common Label Patterns
Teams typically establish labels along one or more of these dimensions:
| Dimension | Example Labels | Colors |
|---|---|---|
| Type | bug, feature, improvement, research | Red, Blue, Green, Purple |
| Area | frontend, backend, mobile, infra | Teal, Indigo, Orange, Gray |
| Priority | critical, high, medium, low | Red, Orange, Yellow, Green |
| Team | design, engineering, QA, devops | Pink, Blue, Cyan, Slate |
| Status | blocked, needs-review, ready | Red, Yellow, Green |
Example Prompts
You: "Create a label 'bug' with red color FF0000"
AI: Calls label action=create with title="bug", color="FF0000"
You: "Create labels for our development workflow: 'frontend' in blue,
'backend' in green, 'mobile' in orange"
AI: Calls label action=create three times with distinct titles and colors
You: "Add a 'tech-debt' label with purple color"
AI: Calls label action=create with title="tech-debt", color="8B5CF6"
You: "Create a 'needs-review' label in yellow"
AI: Calls label action=create with title="needs-review", color="F59E0B"Updating Labels
The update action modifies an existing label's title or color. This is useful when you need to rename a label to better reflect its purpose or change its color for improved visual consistency.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
label_slug | string | Label slug (from list response) |
company_slug | string | Workspace identifier |
Optional Parameters
| Parameter | Type | Description |
|---|---|---|
title | string | New label title |
color | string | New hex color code without # |
Example Prompts
You: "Rename the 'bug' label to 'defect'"
AI: Calls label action=update with label_slug, title="defect"
You: "Change the 'urgent' label color to dark red"
AI: Calls label action=update with label_slug, color="DC2626"
You: "Update the 'frontend' label to 'client-side' and change the color to teal"
AI: Calls label action=update with title="client-side", color="14B8A6"Attaching Labels to Tasks
The attach action adds a label to a specific task. A task can have multiple labels simultaneously, enabling multi-dimensional categorization. For example, a task can be labeled both "bug" and "frontend" to indicate it's a front-end bug.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
label_slug | string | Label slug (from list response) |
task_uuid | string | Task UUID (from any task listing or get response) |
project_slug | string | Project identifier where the task lives |
Example Prompts
You: "Attach the 'bug' label to task [uuid]"
AI: Calls label action=attach with label_slug="bug", task_uuid, project_slug
You: "Label the login task as 'frontend' and 'urgent'"
AI: Calls label action=attach twice — once for each label
You: "Add the 'needs-review' label to all tasks in the Done column"
AI: Filters tasks by workflow column → calls label action=attach for each taskDetaching Labels from Tasks
The detach action removes a label from a specific task. The label itself remains in the workspace — only the association with the task is removed.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
label_slug | string | Label slug (from list response) |
task_uuid | string | Task UUID |
project_slug | string | Project identifier |
Example Prompts
You: "Remove the 'urgent' label from task [uuid]"
AI: Calls label action=detach with label_slug="urgent", task_uuid
You: "The login bug is fixed — remove the 'bug' label"
AI: Finds the task → calls label action=detach with label_slug="bug"Toggling Labels
The toggle action is a convenience action that combines attach and detach into a single call. If the label is currently on the task, toggle removes it. If the label is not on the task, toggle adds it. This is particularly useful when the AI assistant doesn't know the current state of the label on a task — it can toggle without first checking.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
label_slug | string | Label slug (from list response) |
task_uuid | string | Task UUID |
project_slug | string | Project identifier |
Example Prompts
You: "Toggle the 'blocked' label on task [uuid]"
AI: Calls label action=toggle → adds or removes the label based on current state
You: "Switch the 'needs-review' label on the deployment task"
AI: Calls label action=toggle with the appropriate label_slug and task_uuidLabeling Strategy
A well-designed label taxonomy makes filtering and reporting significantly more powerful. Here are recommended practices for teams adopting MCP-driven label management:
Keep labels flat and composable
Instead of creating deeply specific labels like "frontend-bug-critical", create independent labels ("frontend", "bug", "critical") and combine them on tasks. This gives you more flexible filtering — find all bugs, all frontend work, or specifically critical frontend bugs.
Establish naming conventions
Use lowercase, hyphenated names for consistency: tech-debt, needs-review, api-v2. This makes labels predictable when referencing them in AI conversations.
Use labels with task filtering
Labels unlock powerful filtering through the task filter action:
You: "Show me all tasks labeled 'tech-debt' in the Backend project"
AI: Calls task action=filter with labels="tech-debt"
You: "Find all 'blocked' tasks across the current sprint"
AI: Calls task action=filter with labels="blocked", sprint=[current sprint]
You: "How many 'bug' tasks are still open?"
AI: Calls task action=filter with labels="bug", status="todo"
→ counts the resultsContext Auto-Resolution
The label tool supports automatic context resolution. Since labels are workspace-scoped, the AI assistant only needs the companyslug to list and create labels. For task-level operations (attach, detach, toggle), the projectslug is also required because tasks live within specific projects.
Next Steps
- Tasks: Attach labels to tasks and use label-based filtering.
- Task Types: Configure task types for structural categorization alongside labels.
- Sprints: Filter sprint tasks by label for focused reviews.
- Quick Start: Set up the MCP server if you haven't already.