Skip to main content
Glama

List imported guest reviews and their saved replies, drafts, and send status

reviews.list
Read-onlyIdempotent

List imported guest reviews and their saved replies, drafts, and send status. Returns status.canReply and status.reason for each review. Publication dates use UTC with start included and end excluded. Results match all supplied filters. Supply page.size and page.number. Set page.number to the returned page.next to continue with the same page.size. A next value of 0 marks the last page. The syncs field contains the last import time and any import error.

Input Schema

NameRequiredDescriptionDefault
endNoReview publication end date in UTC, excluded. Must be after start.
pageYesRequired page size and number. Start with {size: 20, number: 1}. Set number to the returned page.next to continue. Keep size unchanged. Stop at 0.
queryNoSearch text, up to 200 characters.
startNoReview publication start date in UTC, included. Supply with end.
sourceNoReview platform to include. Omit for all platforms.
urgencyNoSet urgent to return urgent reviews only.
replyStatusesNoReply statuses to include. Omit for all statuses.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / end
      Added value: +{
      +  "description": "Review publication end date in UTC, excluded. Must be after start.",
      +  "format": "date",
      +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +  "type": "string"
      +}
    • addedInput schema / properties / start
      Added value: +{
      +  "description": "Review publication start date in UTC, included. Supply with end.",
      +  "format": "date",
      +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / items / items / properties / status
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "canReply": {
      +      "type": "boolean"
      +    },
      +    "reason": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "canReply",
      +    "reason"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / page / description
      Previous value: -"Page size and number. Use page.next from the result to get more reviews."New value: +"Required page size and number. Start with {size: 20, number: 1}. Set number to the returned page.next to continue. Keep size unchanged. Stop at 0."
  3. Changed20 schema fields changed
    • addedInput schema / properties / page / additionalProperties
      Added value: +false
    • addedInput schema / properties / page / description
      Added value: +"Page size and number. Use page.next from the result to get more reviews."
    • addedInput schema / properties / page / properties / number / description
      Added value: +"Page number, starting at 1."
    • addedInput schema / properties / page / properties / number / exclusiveMinimum
      Added value: +0
    • addedInput schema / properties / page / properties / number / maximum
      Added value: +9007199254740991
    • changedInput schema / properties / page / properties / number / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / page / properties / size / description
      Added value: +"Number of results per page, from 1 to 100."
    • addedInput schema / properties / page / properties / size / maximum
      Added value: +100
    • addedInput schema / properties / page / properties / size / minimum
      Added value: +1
    • changedInput schema / properties / page / properties / size / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / query / description
      Added value: +"Search text, up to 200 characters."
    • addedInput schema / properties / replyStatuses / description
      Added value: +"Reply statuses to include. Omit for all statuses."
    • addedInput schema / properties / source / description
      Added value: +"Review platform to include. Omit for all platforms."
    • addedInput schema / properties / urgency / description
      Added value: +"Set urgent to return urgent reviews only."
    • addedOutput schema / properties / result / properties / items / items / properties / guestName
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / items / items / properties / publishedAt
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / items / items / properties / repliedAt
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / items / items / properties / replyError
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / items / items / properties / replySendText
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / properties / syncs
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "type": "string"
      +          },
      +          "message": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message"
      +        ],
      +        "type": "object"
      +      },
      +      "erroredAt": {
      +        "type": "string"
      +      },
      +      "source": {
      +        "type": "string"
      +      },
      +      "syncedAt": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  4. Changed1 schema field changed
    • addedOutput schema / properties / result / properties / items / items / properties / draftText
      Added value: +{
      +  "type": "string"
      +}
  5. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so safety is covered. The description adds context annotations cannot: UTC date boundaries with start included/end excluded, conjunctive filter matching, the pagination termination rule, and what the syncs field reports (last import time and errors).

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

Conciseness5/5

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

Front-loads purpose, then return fields, then date filtering, then pagination protocol. Every sentence carries a distinct fact; no repetition of the title or annotations.

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?

With an output schema present, the description needn't enumerate return shapes, and it still calls out status.canReply/status.reason and the syncs field. Pagination and date semantics are fully covered; only filter-specific behaviors (e.g., how query matching works) are left implicit.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, and the description adds meaning beyond field-level docs: it explains how page.size/page.number interact with the returned page.next cursor and that size must stay unchanged. It does not elaborate on query, source, urgency, or replyStatuses, which the schema already documents well.

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

Purpose4/5

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

Opens with a specific verb+resource: list imported guest reviews along with replies, drafts, and send status. That immediately distinguishes it from bookings/guests/units siblings, none of which handle reviews, but there is no explicit statement of scope differences from those siblings.

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

Usage Guidelines4/5

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

Explains results match all supplied filters (AND semantics) and gives operational guidance: supply page.size and page.number, continue by setting page.number to returned page.next, and treat next=0 as the last page. It lacks explicit when-not-to-use or prerequisite guidance, but for a list tool with no direct sibling alternative, this is clear context.

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.

Resources