Skip to main content
Glama

create_issue_note

Add a note to a GitLab issue, optionally as a reply to an existing discussion thread. Requires note permission and returns the created note or errors if the issue or thread is missing.

Instructions

Add a note to an issue, optionally replying to a discussion thread. Use this to add a note to an existing issue, optionally as a reply to a discussion; use update_issue for issue fields and create_note only when the generic endpoint is required. The operation creates remote discussion content, requires note permission, and returns the note or a missing-issue/thread/permission error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesThe content of the note or reply
jmespathNoOptional JMESPath expression filtering the JSON result before return.
issue_iidYesThe IID of an issue
created_atNoDate the note was created at (ISO 8601 format)
project_idYesProject ID or complete URL-encoded path to project
discussion_idNoThe ID of a thread. If provided, replies to that thread; otherwise creates a top-level note

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.1.66
    • addedInput schema / properties / jmespath
      Added value: +{
      +  "description": "Optional JMESPath expression filtering the JSON result before return.",
      +  "type": "string"
      +}
  2. Changed1 schema field changedv2.1.62
    • changedInput schema / required
      Previous value: -[
      -  "body",
      -  "project_id",
      -  "issue_iid"
      -]New value: +[
      +  "project_id",
      +  "issue_iid",
      +  "body"
      +]
  3. Addedv2.1.18
  4. Removedv2.1.14
  5. Addedv2.1.11
  6. Removedv2.1.10
  7. Changed3 schema fields changedv2.1.9
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / discussion_id / description
      Previous value: -"The ID of a thread"New value: +"The ID of a thread. If provided, replies to that thread; otherwise creates a top-level note"
    • changedInput schema / required
      Previous value: -[
      -  "body"
      -]New value: +[
      +  "body",
      +  "project_id",
      +  "issue_iid"
      +]
  8. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only include openWorldHint, which is a minimal hint about side effects. The description carries the burden and discloses that the operation 'creates remote discussion content', requires note permission, and returns the note or a missing-issue/thread/permission error. This goes beyond the sparse annotation and gives the agent a clear behavioral model, including side effects, authorization, and error cases.

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 three sentences, but the second sentence partially repeats the first ('add a note to an existing issue, optionally as a reply to a discussion') before adding the guidance. It is still concise and front-loaded with the primary action, though the redundancy prevents a perfect score.

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

Completeness4/5

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

Given the tool's moderate complexity (6 parameters, no output schema, minimal annotations), the description covers the core purpose, usage guidance, permission requirement, and error outcomes. It doesn't explain the jmespath or created_at parameters, but the schema already defines them, and the description is otherwise sufficient for an agent to call it correctly.

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?

The input schema already documents all 6 parameters with descriptions (100% coverage). The description adds no parameter-specific detail beyond what the schema provides; the only related phrase, 'optionally replying to a discussion thread', merely restates what discussion_id already says in the schema. With full schema coverage, a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Add a note to an issue, optionally replying to a discussion thread', which is a specific verb+resource action. It explicitly differentiates from siblings by naming update_issue for issue fields and create_note for the generic endpoint, so an agent can immediately distinguish this tool from related ones without inspecting schemas.

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

Usage Guidelines5/5

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

It provides explicit when-to-use guidance: 'Use this to add a note to an existing issue, optionally as a reply to a discussion; use update_issue for issue fields and create_note only when the generic endpoint is required.' This also covers when not to use it and names the alternatives, leaving no ambiguity.

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