Skip to main content
Glama

chat.spaces.messages.reactions.list

Lists reactions to a Google Chat message so you can retrieve and inspect emoji responses, with optional filters and pagination.

Instructions

Lists reactions to a message. For an example, see List reactions for a message. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.reactions.readonly - https://www.googleapis.com/auth/chat.messages.reactions - https://www.googleapis.com/auth/chat.messages.readonly - https://www.googleapi [HTTP GET]. Returns the requested resource as JSON — request bodies are built from the typed parameters (typed flags win over the paramsmap), or read whole frombody_file` Siblings over the same resource: create, delete.

Input Schema

NameRequiredDescriptionDefault
queryNoExtra KEY=VALUE query pairs for endpoints whose parameters Discovery does not describe.
filterNo[query parameter] Optional. A query filter. You can filter reactions by [emoji](https://developers.google.com/workspace/chat/api/reference/rest/v1/Emoji) (either `emoji.unicode`
paramsNoParameter map merged into the request; typed parameters win.
parentYes[URL path segment] Required. The message users reacted to. Format: `spaces/{space}/messages/{message}`
dry_runNoReturn the request that would be sent, without sending it.
pageSizeNo[query parameter] Optional. The maximum number of reactions returned. The service can return fewer reactions than this value. If unspecified, the default value is 25. The maximum
body_fileNoRead the request body from this file ('-' for stdin) instead of building one from the parameters.
pageTokenNo[query parameter] Optional. (If resuming from a previous query.) A page token received from a previous list reactions call. Provide this to retrieve the subsequent page. When pag

Output Schema

NameRequiredDescriptionDefault
reactionsNo
nextPageTokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / filter / description
      Previous value: -"Optional. A query filter. You can filter reactions by [emoji](https://developers.google.com/workspace/chat/api/reference/rest/v1/Emoji) (either `emoji.unicode` "New value: +"[query parameter] Optional. A query filter. You can filter reactions by [emoji](https://developers.google.com/workspace/chat/api/reference/rest/v1/Emoji) (either `emoji.unicode` "
    • changedInput schema / properties / pageSize / description
      Previous value: -"Optional. The maximum number of reactions returned. The service can return fewer reactions than this value. If unspecified, the default value is 25. The maximum"New value: +"[query parameter] Optional. The maximum number of reactions returned. The service can return fewer reactions than this value. If unspecified, the default value is 25. The maximum"
    • addedInput schema / properties / pageSize / format
      Added value: +"int32"
    • changedInput schema / properties / pageToken / description
      Previous value: -"Optional. (If resuming from a previous query.) A page token received from a previous list reactions call. Provide this to retrieve the subsequent page. When pag"New value: +"[query parameter] Optional. (If resuming from a previous query.) A page token received from a previous list reactions call. Provide this to retrieve the subsequent page. When pag"
    • changedInput schema / properties / parent / description
      Previous value: -"Required. The message users reacted to. Format: `spaces/{space}/messages/{message}`"New value: +"[URL path segment] Required. The message users reacted to. Format: `spaces/{space}/messages/{message}`"
    • addedInput schema / properties / parent / pattern
      Added value: +"^spaces/[^/]+/messages/[^/]+$"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "nextPageToken": {
      +      "type": "string"
      +    },
      +    "reactions": {
      +      "items": {
      +        "properties": {
      +          "emoji": {
      +            "properties": {
      +              "customEmoji": {
      +                "properties": {
      +                  "emojiName": {
      +                    "type": "string"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "payload": {
      +                    "type": "object"
      +                  },
      +                  "temporaryImageUri": {
      +                    "type": "string"
      +                  },
      +                  "uid": {
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "unicode": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "user": {
      +            "properties": {
      +              "avatarUrl": {
      +                "type": "string"
      +              },
      +              "displayName": {
      +                "type": "string"
      +              },
      +              "domainId": {
      +                "type": "string"
      +              },
      +              "email": {
      +                "type": "string"
      +              },
      +              "isAnonymous": {
      +                "type": "boolean"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "type": {
      +                "enum": [
      +                  "TYPE_UNSPECIFIED",
      +                  "HUMAN",
      +                  "BOT"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the disclosure burden. It usefully states the HTTP method is GET, lists required user-authentication scopes, and notes that the response is JSON, though it does not explicitly describe pagination behavior or rate limits.

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 purpose is front-loaded, and the auth-scope information is relevant. However, the generic 'request bodies are built...' and body_file language is boilerplate for a GET list operation and does not earn its place.

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?

The description includes the essential auth scopes, HTTP GET semantics, sibling alternatives, and an example link, while an output schema covers return values and the input schema covers parameters. It is largely complete, though it could more explicitly state that the operation is read-only and side-effect-free.

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 the schema already documents all eight parameters. The description mentions generic request-building behavior for typed parameters and body_file, but adds no list-specific meaning beyond what the schema provides.

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?

The description states a specific verb and resource: 'Lists reactions to a message.' It also explicitly distinguishes this from the sibling create and delete operations over the same resource, so an agent can identify the tool's role without opening the schema.

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?

The description names the sibling operations as create and delete, giving clear alternative context. However, it does not explicitly say when to use this list operation versus other related message tools, nor does it state exclusions.

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

Deploy Server

Other Tools