Skip to main content
Glama

drive.comments.list

Lists comments on a Google Drive file, with pagination and filters for deleted comments or modified time, so you can review file feedback and replies.

Instructions

Lists a file's comments. For more information, see Manage comments and replies. Required: The fields parameter must be set. To return the exact fields you need, see Return specific fields [HTTP GET]. Returns the requested resource as JSON — request bodies are built from the typed parameters (typed flags win over the params map), or read whole from body_file Siblings over the same resource: create, delete, get, update.

Input Schema

NameRequiredDescriptionDefault
queryNoExtra KEY=VALUE query pairs for endpoints whose parameters Discovery does not describe.
fileIdYes[URL path segment] The ID of the file.
paramsNoParameter map merged into the request; typed parameters win.
dry_runNoReturn the request that would be sent, without sending it.
pageSizeNo[query parameter] The maximum number of comments to return. The service may return fewer than this value. If unspecified, at most 20 comments will be returned. The maximum value 20
body_fileNoRead the request body from this file ('-' for stdin) instead of building one from the parameters.
pageTokenNo[query parameter] The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response.
includeDeletedNo[query parameter] Whether to include deleted comments. Deleted comments will not include their original content.false
startModifiedTimeNo[query parameter] The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time).

Output Schema

NameRequiredDescriptionDefault
kindNo
commentsNo
nextPageTokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / fileId / description
      Previous value: -"The ID of the file."New value: +"[URL path segment] The ID of the file."
    • addedInput schema / properties / includeDeleted / default
      Added value: +"false"
    • changedInput schema / properties / includeDeleted / description
      Previous value: -"Whether to include deleted comments. Deleted comments will not include their original content."New value: +"[query parameter] Whether to include deleted comments. Deleted comments will not include their original content."
    • addedInput schema / properties / pageSize / default
      Added value: +"20"
    • changedInput schema / properties / pageSize / description
      Previous value: -"The maximum number of comments to return. The service may return fewer than this value. If unspecified, at most 20 comments will be returned. The maximum value "New value: +"[query parameter] The maximum number of comments to return. The service may return fewer than this value. If unspecified, at most 20 comments will be returned. The maximum value "
    • addedInput schema / properties / pageSize / format
      Added value: +"int32"
    • addedInput schema / properties / pageSize / maximum
      Added value: +100
    • addedInput schema / properties / pageSize / minimum
      Added value: +1
    • changedInput schema / properties / pageToken / description
      Previous value: -"The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response."New value: +"[query parameter] The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response."
    • changedInput schema / properties / startModifiedTime / description
      Previous value: -"The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time)."New value: +"[query parameter] The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time)."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "comments": {
      +      "items": {
      +        "properties": {
      +          "anchor": {
      +            "type": "string"
      +          },
      +          "assigneeEmailAddress": {
      +            "type": "string"
      +          },
      +          "author": {
      +            "properties": {
      +              "displayName": {
      +                "type": "string"
      +              },
      +              "emailAddress": {
      +                "type": "string"
      +              },
      +              "kind": {
      +                "type": "string"
      +              },
      +              "me": {
      +                "type": "boolean"
      +              },
      +              "permissionId": {
      +                "type": "string"
      +              },
      +              "photoLink": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "content": {
      +            "type": "string"
      +          },
      +          "createdTime": {
      +            "type": "string"
      +          },
      +          "deleted": {
      +            "type": "boolean"
      +          },
      +          "htmlContent": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "kind": {
      +            "type": "string"
      +          },
      +          "mentionedEmailAddresses": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "modifiedTime": {
      +            "type": "string"
      +          },
      +          "quotedFileContent": {
      +            "properties": {
      +              "mimeType": {
      +                "type": "string"
      +              },
      +              "value": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "replies": {
      +            "items": {
      +              "properties": {
      +                "action": {
      +                  "type": "string"
      +                },
      +                "assigneeEmailAddress": {
      +                  "type": "string"
      +                },
      +                "author": {
      +                  "properties": {
      +                    "displayName": {
      +                      "type": "string"
      +                    },
      +                    "emailAddress": {
      +                      "type": "string"
      +                    },
      +                    "kind": {
      +                      "type": "string"
      +                    },
      +                    "me": {
      +                      "type": "boolean"
      +                    },
      +                    "permissionId": {
      +                      "type": "string"
      +                    },
      +                    "photoLink": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "content": {
      +                  "type": "string"
      +                },
      +                "createdTime": {
      +                  "type": "string"
      +                },
      +                "deleted": {
      +                  "type": "boolean"
      +                },
      +                "htmlContent": {
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "type": "string"
      +                },
      +                "kind": {
      +                  "type": "string"
      +                },
      +                "mentionedEmailAddresses": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "modifiedTime": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "resolved": {
      +            "type": "boolean"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "kind": {
      +      "type": "string"
      +    },
      +    "nextPageToken": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

C2.8/5.0
Behavior3/5

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

No annotations are supplied, so the description must carry the full behavioral burden. It does disclose that this is a read-only HTTP GET returning JSON, which is genuinely the key trait. However, the sentence about request bodies being "built from the typed parameters" or read from `body_file` is irrelevant and mildly misleading for a GET list operation, and it never mentions auth scope requirements or that results are paged.

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

Conciseness2/5

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

The useful content is one sentence at the front; the rest is documentation links plus generic body-construction boilerplate that has no meaning for a GET. The wrong `fields`-required claim is also presented with more emphasis than the actual behavior, so signal-to-noise is poor despite the short length.

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

Completeness3/5

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

An output schema exists, so return-shape explanation isn't needed, and the per-parameter schema text covers paging and filtering. What's missing is context an agent still needs: that this is a safe read, whether comments are returned with replies inline, and how the mandatory `fields` claim should actually be satisfied. Adequate but with real gaps for a 9-parameter, nested-object tool.

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

Parameters2/5

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

Schema description coverage is 100%, so the typed parameters (pageSize, pageToken, includeDeleted, startModifiedTime) are already fully documented and would normally earn a baseline 3. The description instead injects a claim that `fields` is required, but no `fields` property exists in the schema — it would have to be smuggled through `params` or `query`, which the description never explains. That actively misdirects the agent and pushes this below baseline.

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?

"Lists a file's comments" gives a specific verb and resource, and the closing line explicitly enumerates the sibling operations over the same resource (create, delete, get, update), so an agent can place it in the CRUD family without opening other schemas. It falls short of 5 only because it doesn't contrast itself against the most confusable sibling, drive.replies.list, which reads nested comment threads.

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 only routing guidance is a bare list of sibling names ("create, delete, get, update") with no conditions attached — it never says when to choose list versus get or how it relates to replies.list. The one concrete instruction ("The `fields` parameter must be set") is a prerequisite, not usage guidance, and it points at a parameter that does not exist in the schema.

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