GitScrum / Docs

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

ActionPurposeRequired Parameters
listList all labels in the workspacecompany_slug
createCreate a new label with title and colorcompany_slug, title, color
updateModify label title or colorlabelslug, companyslug
attachAttach a label to a tasklabelslug, taskuuid, project_slug
detachRemove a label from a tasklabelslug, taskuuid, project_slug
toggleToggle a label on/off for a tasklabelslug, 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

ParameterTypeDescription
company_slugstringWorkspace 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 colors

Creating 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

ParameterTypeDescription
company_slugstringWorkspace identifier (from the workspace tool)
titlestringLabel name (e.g. "bug", "frontend", "urgent", "tech-debt")
colorstringHex color code without the # prefix (e.g. FF0000, 3B82F6, 10B981)

Common Label Patterns

Teams typically establish labels along one or more of these dimensions:

DimensionExample LabelsColors
Typebug, feature, improvement, researchRed, Blue, Green, Purple
Areafrontend, backend, mobile, infraTeal, Indigo, Orange, Gray
Prioritycritical, high, medium, lowRed, Orange, Yellow, Green
Teamdesign, engineering, QA, devopsPink, Blue, Cyan, Slate
Statusblocked, needs-review, readyRed, 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

ParameterTypeDescription
label_slugstringLabel slug (from list response)
company_slugstringWorkspace identifier

Optional Parameters

ParameterTypeDescription
titlestringNew label title
colorstringNew 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

ParameterTypeDescription
label_slugstringLabel slug (from list response)
task_uuidstringTask UUID (from any task listing or get response)
project_slugstringProject 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 task

Detaching 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

ParameterTypeDescription
label_slugstringLabel slug (from list response)
task_uuidstringTask UUID
project_slugstringProject 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

ParameterTypeDescription
label_slugstringLabel slug (from list response)
task_uuidstringTask UUID
project_slugstringProject 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_uuid

Labeling 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 results

Context 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.