Skip to main content
Glama

Lightbringer

Get review

get_review
Read-only

Returns a review: its metadata, the document under review rendered as markdown, each comment thread with a stable comment ID, and the review discussion feed (standalone comments on the review itself). Attorney redlines are included as suggested changes, each with the original text, the proposed replacement, and an optional rationale. Proposed amendments embedded in the document (agent-drafted changes to a block) are listed in artifact.amendments and in a trailing text block: each carries the baseline text, the proposed text, a redline with / tags, and a unified patch; the document body itself shows the baseline at the amended block. The document is artifact.markdown in the structured result and is also returned as its own text block. When it cannot be rendered through this API, a short notice takes its place and artifact.status / artifact.reason say so.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
review_idYesThe review identifier

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
reviewYes
threadsYes
artifactYes
discussionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / review / properties / target / enum
      Previous value: -[
      -  "document",
      -  "report"
      -]New value: +[
      +  "document",
      +  "report",
      +  "strategy"
      +]
  2. Changed33 schema fields changed
    • addedOutput schema / properties / artifact / properties / amendments
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "baseline": {
      +        "type": "string"
      +      },
      +      "block": {
      +        "type": "string"
      +      },
      +      "commentElementId": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "patch": {
      +        "type": "string"
      +      },
      +      "proposed": {
      +        "type": "string"
      +      },
      +      "redline": {
      +        "type": "string"
      +      },
      +      "section": {
      +        "type": "string"
      +      },
      +      "source": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "section",
      +      "block",
      +      "baseline",
      +      "proposed",
      +      "redline",
      +      "patch"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / artifact / properties / markdown / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / artifact / properties / markdown / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / artifact / required
      Previous value: -[
      -  "status",
      -  "markdown"
      -]New value: +[
      +  "status",
      +  "markdown",
      +  "amendments"
      +]
    • removedOutput schema / properties / discussion / items / properties / author / properties / id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / discussion / items / properties / author / properties / id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / discussion / items / properties / author / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / discussion / items / properties / author / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / review / properties / agentDocId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / agentDocId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / review / properties / awaiting / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / awaiting / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / review / properties / caseDocument / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "documentId": {
      -        "type": "string"
      -      },
      -      "refNum": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "title": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "documentId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "documentId": {
      +        "type": "string"
      +      },
      +      "refNum": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "title": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "documentId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / review / properties / closedAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / closedAt / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / review / properties / contacts / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "attorney": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "id": {
      -                "type": "string"
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "patentSpecialists": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "id": {
      -                  "type": "string"
      -                },
      -                "name": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "productSpecialist": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "id": {
      -                "type": "string"
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "attorney": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "id": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "patentSpecialists": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "id": {
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "productSpecialist": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "id": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / review / properties / documentId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / documentId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / review / properties / instructions
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / review / properties / myStatus / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / myStatus / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / review / properties / participants / items / properties / comment / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / participants / items / properties / comment / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / review / properties / participants / items / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / participants / items / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / review / properties / participants / items / properties / respondedAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / review / properties / participants / items / properties / respondedAt / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / review / properties / subject / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "refNum": {
      -        "type": "string"
      -      },
      -      "title": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "refNum"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "refNum": {
      +        "type": "string"
      +      },
      +      "title": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "refNum"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / review / properties / url
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / threads / items / properties / anchor / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "block": {
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "inline",
      -        "type": "string"
      -      },
      -      "quotedText": {
      -        "type": "string"
      -      },
      -      "section": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "section",
      -      "block",
      -      "quotedText"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "section",
      -        "type": "string"
      -      },
      -      "section": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "section"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "detached",
      -        "type": "string"
      -      },
      -      "path": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "block": {
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "inline",
      +        "type": "string"
      +      },
      +      "quotedText": {
      +        "type": "string"
      +      },
      +      "section": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "section",
      +      "block",
      +      "quotedText"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "kind": {
      +        "const": "section",
      +        "type": "string"
      +      },
      +      "section": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "section"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "kind": {
      +        "const": "detached",
      +        "type": "string"
      +      },
      +      "path": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties / threads / items / properties / comments / items / properties / author / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / comments / items / properties / author / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / threads / items / properties / comments / items / properties / suggestedChange / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appliedAt": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "original": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "rationale": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "replacement": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "replacement"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appliedAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "original": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "rationale": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "replacement": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "replacement"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed6 schema fields changed
    • addedInput schema / properties / review_id / maxLength
      Added value: +64
    • addedInput schema / properties / review_id / minLength
      Added value: +1
    • addedInput schema / properties / review_id / pattern
      Added value: +"^[A-Za-z0-9_-]+$"
    • addedOutput schema / properties / artifact
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "markdown": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "reason": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "rendered",
      +        "notice",
      +        "unavailable"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "markdown"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / discussion
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "author": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "name": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "comment": {
      +        "type": "string"
      +      },
      +      "createdAt": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "author",
      +      "comment",
      +      "createdAt"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "review",
      -  "threads"
      -]New value: +[
      +  "review",
      +  "threads",
      +  "discussion",
      +  "artifact"
      +]
  4. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuine behavioral context beyond that: a rendering failure degrades to a notice with artifact.status/artifact.reason, and the document body intentionally shows the baseline at amended blocks. Much of the remaining text describes return shape that the output schema already carries, keeping this at a 4 rather than 5.

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

Conciseness3/5

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

Front-loads the core purpose in the first clause, but then runs as one long dense paragraph that restates return fields (artifact.markdown, artifact.amendments, trailing text block) likely already covered by the output schema. Several clauses could be cut without losing agent-relevant information.

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 an output schema exists, the description needn't explain return values, yet it does so thoroughly and additionally covers the degraded-render case, so an agent knows what to expect on failure. The remaining gap is usage context — no guidance on sourcing review_id or handling invalid IDs — which keeps it short of a 5.

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?

Only one parameter (review_id) with 100% schema description coverage, so the schema fully documents it. The description adds no format, sourcing, or lookup guidance for the identifier, which is the baseline 3 case where structured fields do the heavy lifting.

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?

States a specific verb and resource ('Returns a review') and then enumerates the exact payload: metadata, markdown document, comment threads with stable IDs, discussion feed, attorney redlines, and embedded amendments. This clearly separates it from sibling list_reviews (enumeration) and respond_to_review (mutation).

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?

The description explains what comes back but never says when to call it, when not to, or what alternative to use. There is no mention of how to obtain a review_id (e.g., via list_reviews) or how it relates to respond_to_review, leaving the agent to infer all routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.