Skip to main content
Glama

List Inbox Reviews

list_inbox_reviews
Read-onlyIdempotent

List Google Business Profile reviews of the connected locations, newest first. Returns { reviews, total, hasMore, nextCursor }; each review has the location, reviewer name, star rating, text, the location's current reply (or null), its inbox status and capabilities.canReply. Filter by rating and by whether the review already has a reply, plus the usual inbox filters. Page with cursor while hasMore is true. The inbox syncs every 10 minutes per account; refresh_inbox asks for a sync now. Needs the inbox.read permission, which every role holds.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_inbox_reviews"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoItems per page (default 25)
sinceNoISO 8601 date-time. Only items created on the platform at or after it; for conversations, only those with a message at or after it. Omit for items of any date
cursorNonextCursor from the previous page. Omit for the first page; nextCursor is null on the last page
searchNoFree text to search the items for
ratingsNoOnly reviews with these star ratings
repliedNotrue for reviews that already have a reply, false for those without one
statusesNoOnly items with these inbox statuses. Omit for every status
platformsNoOnly these platforms
accountIdsNoOnly these accounts, by the id from list_accounts. Omit for every account
workspaceIdNoWorkspace to act in: an id from list_workspaces. Omit to act in the workspace list_workspaces marks current. Use the same workspaceId for every call about the same workspace, since ids from one workspace (accounts, posts, uploads) do not exist in another

Output Schema

NameRequiredDescriptionDefault
resultYesAn object with reviews, total, hasMore and nextCursor (null on the last page). Each review is An InboxReview: id, accountId, platform (GOOGLE_BUSINESS), accountName, platformReviewId, reviewer { name, avatarUrl, isAnonymous }, rating (1 to 5), text, reply ({ text, updatedAt } or null), createdAt, updatedAt, status, repliedAt, maxReplyLength and capabilities { canReply }.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • changedInput schema / properties / accountIds / description
      Previous value: -"Only these accounts, by the id from list_accounts, up to 50. Omit for every account"New value: +"Only these accounts, by the id from list_accounts. Omit for every account"
    • changedInput schema / properties / limit / description
      Previous value: -"Items per page, 1 to 100 (default 25)"New value: +"Items per page (default 25)"
    • changedInput schema / properties / ratings / description
      Previous value: -"Only reviews with these star ratings, 1 to 5"New value: +"Only reviews with these star ratings"
    • changedInput schema / properties / search / description
      Previous value: -"Free text to search for, up to 200 characters"New value: +"Free text to search the items for"
    • changedInput schema / properties / since / description
      Previous value: -"ISO 8601 date-time; only items created on the platform at or after it"New value: +"ISO 8601 date-time. Only items created on the platform at or after it; for conversations, only those with a message at or after it. Omit for items of any date"
    • changedInput schema / properties / statuses / description
      Previous value: -"Only these statuses: UNREAD, READ or DONE. Omit for all"New value: +"Only items with these inbox statuses. Omit for every status"
    • addedOutput schema / properties / result / additionalProperties
      Added value: +true
    • addedOutput schema / properties / result / properties
      Added value: +{
      +  "hasMore": {
      +    "type": [
      +      "boolean",
      +      "null"
      +    ]
      +  },
      +  "nextCursor": {
      +    "description": "Pass as `cursor` for the next page. Null on the last page",
      +    "type": [
      +      "string",
      +      "null"
      +    ]
      +  },
      +  "reviews": {
      +    "anyOf": [
      +      {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "accountId": {
      +              "description": "The account `id` from GET /social-accounts",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "accountName": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "capabilities": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": true,
      +                  "properties": {
      +                    "canReply": {
      +                      "type": [
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "createdAt": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "id": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "maxReplyLength": {
      +              "description": "In UTF-8 bytes",
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "platform": {
      +              "description": "One of: FACEBOOK, INSTAGRAM, THREADS, TIKTOK, TWITTER, BLUESKY, LINKEDIN, PINTEREST, YOUTUBE, MASTODON, TELEGRAM, GOOGLE_BUSINESS, TUMBLR, WORDPRESS",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "platformReviewId": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "rating": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "repliedAt": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "reply": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": true,
      +                  "properties": {
      +                    "text": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "updatedAt": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "reviewer": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": true,
      +                  "properties": {
      +                    "avatarUrl": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "isAnonymous": {
      +                      "type": [
      +                        "boolean",
      +                        "null"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "status": {
      +              "description": "One of: UNREAD, READ, DONE",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "text": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "updatedAt": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "total": {
      +    "description": "Items matching the filters across every page",
      +    "type": [
      +      "number",
      +      "null"
      +    ]
      +  }
      +}
    • addedOutput schema / properties / result / type
      Added value: +"object"
    • addedOutput schema / required
      Added value: +[
      +  "result"
      +]
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes beyond them with operational facts an agent could not otherwise know: the 10-minute sync cadence per account, the inbox.read permission and that every role holds it. The only deduction is that the return-shape sentence partly restates what the output schema already provides.

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?

Front-loaded with the resource and ordering, then filters, then pagination, then sync/permission caveats — a sensible information hierarchy with no filler sentences. Slightly dense and the return-field enumeration overlaps the output schema.

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

Completeness5/5

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

For a 10-parameter read tool with a full output schema, the description covers everything an agent needs to call it correctly: what it lists, ordering, filter dimensions, pagination loop, freshness, and permissions. Nothing essential is left to inference.

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?

Schema description coverage is 100%, so every parameter including ratings, replied, statuses, cursor and workspaceId is already documented. The description confirms the key filters (rating, replied, 'usual inbox filters') and cursor usage but adds no syntax or format detail beyond the schema — baseline 3.

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+resource+scope: 'List Google Business Profile reviews of the connected locations, newest first.' This separates it cleanly from the sibling list_inbox_comments/conversations/mentions without the agent needing to open a schema, and the default ordering is stated up front.

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?

Gives concrete filtering and paging guidance ('Filter by rating and by whether the review already has a reply', 'Page with cursor while hasMore is true') and names the sibling refresh_inbox for the case where 10-minute sync is too slow. It stops short of an explicit when-not-to-use statement versus the other inbox list tools, which is largely implied by the resource name.

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