Skip to main content
Glama

Lightbringer

Read review in Lightbringer

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. A validation review (type ENTRY_PLAN_VALIDATION) asks which countries a European patent is validated in: the document lists the recommended and selected countries, and the validation field carries them as codes for set_validation_countries.

Input Schema

NameRequiredDescriptionDefault
review_idYesThe review identifier

Output Schema

NameRequiredDescriptionDefault
reviewYes
threadsYes
artifactYes
discussionYes
validationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / validation
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "available": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "code": {
      +                    "type": "string"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "unitaryPatentMember": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "code",
      +                  "name"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "recommended": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "code": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "unitaryPatentMember": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "code",
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "selected": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "code": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "unitaryPatentMember": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "code",
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "validated": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "code": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "unitaryPatentMember": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "code",
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "recommended",
      +        "selected",
      +        "validated"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  2. Changed1 schema field changed
    • changedOutput schema / properties / review / properties / target / enum
      Previous value: -[
      -  "document",
      -  "report"
      -]New value: +[
      +  "document",
      +  "report",
      +  "strategy"
      +]
  3. 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"
      +  }
      +]
  4. 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"
      +]
  5. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish read-only, non-destructive, closed-world behavior, so the bar is lower, yet the description adds real behavioral detail: rendering may fail and be replaced by a notice with artifact.status/reason, amendments are surfaced in two places simultaneously, and the document body deliberately shows baseline text at amended blocks. These are non-obvious traits an agent could not get from annotations.

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?

The first clause is well front-loaded, but the remainder is one dense ~190-word paragraph mixing return-value documentation, amendment semantics, failure modes, and a review-type special case. Much of the return-value detail duplicates what the output schema already declares, and the lack of any structural breaks makes it hard to scan.

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 return-value exposition is arguably surplus, but it is accurate and covers the tricky cases (unrenderable document, dual amendment representation, ENTRY_PLAN_VALIDATION reviews). What is missing is the small connective detail of how an agent obtains a review_id, which list_reviews presumably supplies.

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?

There is a single parameter, review_id, and the schema already documents it fully (100% coverage) with pattern and length constraints. The description adds nothing about the identifier's format or provenance (e.g., where to obtain one), so the baseline of 3 applies.

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?

Opens with a specific verb and resource ("Returns a review") and immediately enumerates the distinct payload components: metadata, document as markdown, comment threads with stable IDs, discussion feed, redlines, and amendments. This is clearly the single-review read tool, distinguishable from list_reviews and from the mutation siblings like respond_to_review.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the agent can infer this is the fetch-by-id counterpart to list_reviews, but no sentence says so or explains when to prefer it over list_reviews. The one explicit routing hint is that the validation field carries country codes "for set_validation_countries," which usefully links to a sibling, but only for that narrow case.

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.