Skip to main content
Glama

List the review comments on a build's diffs or on a branch

list_comments
Read-onlyIdempotent

Review comments left on screens, each carrying its diffResultId, buildId/buildNumber and story (storyId, viewport, browser), author (human name or 'agent'), body, createdAt, and anchor - where on the candidate image it points: null (whole diff), {type:'point',x,y}, {type:'rect',x,y,w,h}, or {type:'path',points,closed}, all normalized 0..1 to the candidate image. Two ways to ask. By build (commitSha/prNumber/buildId): that build's own comments plus the open comments left on earlier builds of its branch (carried: true), because an open comment stays with its branch until someone resolves it. By branch: every open comment on that branch, whatever build it was left on. When you start or resume work on a git branch, call this with that branch (and projectId when you can reach several projects) and address each open comment from a person before you continue. A comment you left for the reviewer is omitted until a person replies in its thread; includeAgentNotes adds those.

Input Schema

NameRequiredDescriptionDefault
branchNoRead every open comment on this git branch instead of resolving a build.
buildIdNoResolve this exact build id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.
includeAgentNotesNoWith branch: also include open comments you (an agent) left that no person has replied to.

Output Schema

NameRequiredDescriptionDefault
commentsYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedInput schema / properties / branch
      Added value: +{
      +  "description": "Read every open comment on this git branch instead of resolving a build.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / includeAgentNotes
      Added value: +{
      +  "description": "With branch: also include open comments you (an agent) left that no person has replied to.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / comments / items / properties / browser
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / comments / items / properties / buildId
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / comments / items / properties / buildNumber
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / comments / items / properties / carried
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / comments / items / properties / storyId
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / comments / items / properties / viewport
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / comments / items / required
      Previous value: -[
      -  "diffResultId",
      -  "id",
      -  "authorType",
      -  "authorName",
      -  "side",
      -  "parentId",
      -  "anchor",
      -  "body",
      -  "createdAt",
      -  "resolved"
      -]New value: +[
      +  "diffResultId",
      +  "id",
      +  "authorType",
      +  "authorName",
      +  "side",
      +  "parentId",
      +  "anchor",
      +  "body",
      +  "createdAt",
      +  "resolved",
      +  "buildId",
      +  "buildNumber",
      +  "storyId",
      +  "viewport",
      +  "browser",
      +  "carried"
      +]
    • addedOutput schema / properties / openReviewComments
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
      +  "properties": {
      +    "branches": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "branch": {
      +            "type": "string"
      +          },
      +          "lastActivityAt": {
      +            "type": "string"
      +          },
      +          "open": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "branch",
      +          "open",
      +          "lastActivityAt"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "branchesTotal": {
      +      "type": "number"
      +    },
      +    "hint": {
      +      "type": "string"
      +    },
      +    "projectId": {
      +      "type": "string"
      +    },
      +    "total": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "branches",
      +    "branchesTotal",
      +    "projectId",
      +    "hint"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / properties / comments / items / properties / anchor / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "type": {
      -            "const": "point",
      -            "type": "string"
      -          },
      -          "x": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "y": {
      -            "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
      -          }
      -        },
      -        "required": [
      -          "type",
      -          "x",
      -          "y"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "h": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 1,
      -            "type": "number"
      -          },
      -          "type": {
      -            "const": "rect",
      -            "type": "string"
      -          },
      -          "w": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 1,
      -            "type": "number"
      -          },
      -          "x": {
      -            "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
      -          },
      -          "y": {
      -            "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
      -          }
      -        },
      -        "required": [
      -          "type",
      -          "x",
      -          "y",
      -          "w",
      -          "h"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "closed": {
      -            "type": "boolean"
      -          },
      -          "points": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "x": {
      -                  "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
      -                },
      -                "y": {
      -                  "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
      -                }
      -              },
      -              "required": [
      -                "x",
      -                "y"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 512,
      -            "minItems": 2,
      -            "type": "array"
      -          },
      -          "type": {
      -            "const": "path",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type",
      -          "points",
      -          "closed"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "type": {
      +            "const": "point",
      +            "type": "string"
      +          },
      +          "x": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "x",
      +          "y"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "h": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 1,
      +            "type": "number"
      +          },
      +          "type": {
      +            "const": "rect",
      +            "type": "string"
      +          },
      +          "w": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 1,
      +            "type": "number"
      +          },
      +          "x": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "y": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "x",
      +          "y",
      +          "w",
      +          "h"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "closed": {
      +            "type": "boolean"
      +          },
      +          "points": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "x": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "y": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "x",
      +                "y"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 512,
      +            "minItems": 2,
      +            "type": "array"
      +          },
      +          "type": {
      +            "const": "path",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "points",
      +          "closed"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / projectId
      Added value: +{
      +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
      +  "format": "uuid",
      +  "type": "string"
      +}
  4. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources