Skip to main content
Glama

github_add_labels_to_issue

DestructiveIdempotent

Add labels to GitHub issues via a governed connector that routes only through the project's authenticated account. Ensures authorized, idempotent updates.

Instructions

Github connector operation add_labels_to_issue (platform tool github.add_labels_to_issue).

Routes only through the exact project/account governed connector authority.

Args: arguments: JSON string of arguments for the connector operation. project_id: Authenticated Project UUID. project_ref: Exact project correlation reference. connector_account_ref: Project-bound connector account alias. idempotency_key: Stable business-action identity. effect: Claimed read or write effect; Spring verifies it. approval_ref: Approved platform task UUID when resuming a write.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
effectNo
argumentsNo{}
project_idNo
project_refNo
approval_refNo
idempotency_keyNo
connector_account_refNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.1.1
    • addedInput schema / properties / approval_ref
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Approval Ref"
      +}
    • addedInput schema / properties / connector_account_ref
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Connector Account Ref"
      +}
    • addedInput schema / properties / effect
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Effect"
      +}
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Idempotency Key"
      +}
    • addedInput schema / properties / project_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Project Id"
      +}
    • addedInput schema / properties / project_ref
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Project Ref"
      +}
  2. First observedv0.1.0

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, signaling a mutating operation, so the bar for added value is lower. The description adds real context by explaining that `effect` is a 'Claimed read or write effect; Spring verifies it' and that `approval_ref` is needed 'when resuming a write' — disclosing a verification/approval gate for writes. However, it does not disclose what adding labels does to the existing label set, any auth/rate-limit implications, or idempotency semantics beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: identity and routing are front-loaded, followed by a clean one-line-per-parameter list with no fluff. It loses a point because roughly 80 words are spent on generic platform plumbing parameters rather than on the operation's actual semantics, which is where the space would have been most valuable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is not the description's job, but the domain payload is a black box: there is no example of an arguments JSON, no mention of which fields are required for the underlying GitHub call, and no differentiation from the label-removal sibling. An agent reading this description would document the platform envelope (project, connector, approval) but still be unable to construct a valid operation call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, and it does add per-parameter meaning that the schema lacks: `project_ref` is 'Exact project correlation reference,' `idempotency_key` is 'Stable business-action identity,' and `effect` is 'Claimed read or write effect; Spring verifies it.' However, the critical parameter `arguments` is glossed only as 'JSON string of arguments for the connector operation' — the agent still cannot know what keys to supply (owner, repo, issue_number, labels) to actually invoke the GitHub operation. Compensation is partial at best.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with "Github connector operation `add_labels_to_issue` (platform tool `github.add_labels_to_issue`)`," which restates the tool's name without explaining what the operation actually does. It never states that the tool adds labels to a GitHub issue, what labels are affected, or what the effect on the target issue is. The routing statement about governed connector authority is peripheral context, not a purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. Sibling tools such as github_remove_label_from_issue, github_update_issue, and github_create_issue exist, but the description neither differentiates this tool from them nor states any condition for selection. The only contextual sentence, 'Routes only through the exact project/account governed connector authority,' is a routing constraint, not a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools