Skip to main content
Glama

Server Details

Give Claude only the Google Drive files you choose. Every action logged.

Ownership verified
Status
Healthy
OAuth
Not checked
Last Tested
Transport
Streamable HTTP
URL

Available Tools

25 tools
access_file_by_urlOpen File by LinkA
Read-onlyIdempotent
Inspect

When a user shares a Google Drive URL or asks you to access a specific file, use this tool. Accepts any Google Drive, Docs, Sheets or Slides URL and resolves it against the Google Drive API (https://developers.google.com/drive/api/reference/rest/v3). If the file is already accessible, returns its content. If not, returns a grant link the user can open to select it. If the user mentions the file's name, pass it as file_name_hint so the picker can search for it.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesA Google Drive, Docs, Sheets, or Slides URL
file_name_hintNoThe file's name if mentioned by the user. Extracted from conversation context. Used to pre-fill the file picker search.

Output Schema

ParametersJSON Schema
NameRequiredDescription
adviceNowhat to tell the user when the file could not be returned — relay this rather than paraphrasing
offsetNowhere this slice of the text starts, when the file was read in chunks
contentNothe file's text — this is what the tool exists to return, present whenever outcome is 'granted'
file_idNo
outcomeYeswhich outcome this is: 'granted' (file resolved, details populated), 'too_large' (file exists but must be read in chunks — see size_chars), 'not_shared' (ShareWatch has no grant for it yet — give the user action_url), 'not_a_drive_link' (the URL points somewhere other than Google Drive — relay advice, there is no action_url and no grant can help), or 'unrecognized' (nothing in the input looked like a Drive link or ID). All of these are successes; a genuine failure arrives as an error.
versionNoDrive's revision counter for the file at the time it was read
file_nameNo
mime_typeNo
truncatedNotrue when content is only part of the file — read the rest with read_file using offset
action_urlNothe page the user opens to grant access to this specific file; give them this link
size_charsNolength of the file's text, when it was too large to return inline
total_charsNototal length of the file's text, which may exceed what content holds
approx_tokensNorough token cost of the whole file, to help decide how to chunk it

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 destructiveHint. The description adds valuable conditional behavior: if the file is accessible it returns content, otherwise it returns a grant link. It also explains the file_name_hint parameter's role in the picker.

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?

The description is compact, front-loads the usage trigger, and every sentence adds necessary context about behavior or parameters. The API reference link is supplementary, not filler.

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?

Coupled with the annotations and output schema, the description covers what the tool does, when to use it, what inputs matter, and what happens in both accessible and inaccessible cases. Nothing critical is missing for correct invocation.

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 parameters are already well documented. The description restates that file_name_hint is used when the user mentions a file name, but does not add meaningful semantic detail beyond the schema.

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?

The description clearly states the tool resolves a user-provided Google Drive URL and returns either file content or a grant link. It is specific about the resource and action, though it does not explicitly contrast itself with sibling tools like read_file or request_file_access.

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 gives explicit triggers: when a user shares a Google Drive URL or asks to access a specific file. It does not state exclusions or name alternatives, but the URL-focused guidance is clear enough to route the agent correctly.

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

add_sheet_tabAdd Sheet TabA
Destructive
Inspect

Add a new tab to an existing Google Sheet. Use this when you need an additional sheet after creation. Returns the new tab's sheetId.

ParametersJSON Schema
NameRequiredDescriptionDefault
sheet_nameYesName for the new tab
spreadsheet_idYesThe spreadsheet ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
sheet_idYesGoogle's numeric ID for the new tab — required by the Sheets API for any later operation targeting it, and not derivable from the name
sheet_nameYes
spreadsheet_idYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already signal mutation and non-idempotency via readOnlyHint=false and destructiveHint=true. The description adds useful behavioral context: the target must be an existing Google Sheet, and the new tab's sheetId is returned, which goes beyond the schema.

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?

Two clean sentences: the action is front-loaded, the usage condition is explicit, and the return value is stated. There is no filler or redundancy.

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?

This is a low-complexity tool with only two required parameters, no nested objects, and an output schema present. The description covers the action, the prerequisite of an existing sheet, and the returned ID, making it complete for an agent.

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 both parameters are already fully documented in the schema. The description does not add additional semantic detail about spreadsheet_id or sheet_name, which is acceptable given the baseline.

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 opens with 'Add a new tab to an existing Google Sheet,' using a specific verb, resource, and scope. It clearly distinguishes itself from sibling creation tools like create_spreadsheet by noting this is for adding to an already-created sheet.

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?

It provides explicit usage context: 'Use this when you need an additional sheet after creation.' However, it does not name alternatives or give explicit when-not-to-use conditions, so some routing is left to inference.

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

block_fileBlock File AccessA
DestructiveIdempotent
Inspect

Block MCP access to a file. Use when a user says they shared a file by mistake or wants an agent's access stopped. Blocking gates access; it does not un-share the file, so the name and ID can still appear in listings. There is no unblock tool — the user restores access from the ShareWatch dashboard, so tell them that before blocking.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoWhy access is being revoked. Recorded in the audit log for administrators; NOT shown to the blocked caller, who sees only an opaque reference.
file_idYesThe file ID to block

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYeshow the block can be undone — there is no unblock tool, the user restores access from the ShareWatch dashboard
reasonNothe reason recorded on the block, shown to whoever reviews it in the dashboard
blockedYes
file_idYes
file_nameNoname of the file that was blocked

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as destructive and non-read-only, and the description adds substantial context beyond that: blocking does not un-share the file, the name and ID can still appear in listings, there is no unblock tool, and the user must restore access from the dashboard. This gives an agent a realistic model of the operation's side effects and recovery path.

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?

Three sentences, each earning its place: the action, the use case, and the critical caveat about irreversibility and the dashboard. The most important behavioral constraint is front-loaded.

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 two-parameter tool with a full input schema and output schema, this description covers the essential operational context: when to invoke it, what it does and does not do, and what the user must expect afterward. Nothing critical is missing.

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 both parameters. The description does not need to explain parameters further, and it does not add meaning beyond what the schema provides, which meets the baseline for fully covered schemas.

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?

States a specific action and resource: "Block MCP access to a file." It also differentiates the behavior from un-sharing or deleting by clarifying that the file name and ID remain in listings, which helps distinguish it from siblings like delete_file and set_file_read_only.

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?

Explicitly gives the trigger condition: "Use when a user says they shared a file by mistake or wants an agent's access stopped." It also warns there is no unblock tool and directs the user to the ShareWatch dashboard, but it does not name specific sibling alternatives or say when not to use this tool.

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

build_presentationBuild PresentationAInspect

Create a Google Slides deck from a structured outline. Unlike create_presentation, which takes raw slides, this one applies Google's own layouts, so it suits decks meant to look designed. Pick a layout per slide and fill only the slots that layout provides; Google positions everything via placeholders (no manual geometry). Layouts are Google's own PredefinedLayout names, so they match the Slides API you already know. Layout → slots: TITLE = title + subtitle (opening slide); SECTION_HEADER = title only (a divider — no subtitle); TITLE_AND_BODY = title + bullets OR body; TITLE_AND_TWO_COLUMNS = title + body/bullets (LEFT) + body_right/bullets_right (RIGHT) — fill both sides or the empty one shows as a blank box when edited; MAIN_POINT / BIG_NUMBER / TITLE_ONLY = title only; BLANK = nothing. Set bullets for lists (it wins over body when both are given); keep each slide to one idea. Workflow: build, then call describe_slides to catch dropped content / overflow / overlap, then preview_slides for a final visual check.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPresentation title
slidesYesSlides in order. Each picks a layout and fills its slots (title/subtitle/body/bullets/notes); Google positions everything via placeholders.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes

TDQS

A4.7/5.0
Behavior5/5

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

The annotations carry only low-information false hints (not read-only, not idempotent, not destructive), so the description shoulders the behavioral burden and delivers: bullets win over body, an unfilled two-column side renders as a blank box when edited, all positioning is placeholder-driven with no manual geometry, and unrecognized layouts are rejected. This is substantial behavioral disclosure beyond the annotations, with no contradiction.

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?

The description is long (~200 words) but the tool is genuinely complex — 11 layouts, 8 slide fields, precedence rules — and nearly every sentence earns its place. It is front-loaded (purpose, sibling contrast, core mechanic), then organized as a readable layout matrix before behavioral rules and workflow; minor redundancy exists where the early 'fill only the slots' rule is restated by the matrix.

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?

An output schema exists, so return-value documentation is not the description's job. It covers the behavioral model, slot validity, precedence, and the describe_slides/preview_slides verification loop. The main gap: three of eleven valid PredefinedLayout enum values are not mapped in the description, though the Slides-API knowledge pointer and the fully covered schema partially compensate.

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 description coverage is 100%, so the baseline is 3, but the description adds meaning beyond the per-field schema text: a consolidated layout→slot matrix (TITLE gets a subtitle, SECTION_HEADER does not, TITLE_AND_TWO_COLUMNS must fill both sides or shows a blank box) and the bullets-over-body precedence rule. Only minor deduction because three enum layouts (SECTION_TITLE_AND_DESCRIPTION, ONE_COLUMN_TEXT, CAPTION_ONLY) are absent from the matrix, and field-level semantics are already well covered by the schema.

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: 'Create a Google Slides deck from a structured outline.' It then explicitly differentiates itself from the closest sibling, create_presentation, by contrasting raw slides against Google's own layouts, so an agent can disambiguate without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative (create_presentation) and the condition that selects this tool: 'suits decks meant to look designed.' It also prescribes a post-call workflow — call describe_slides to catch dropped content/overflow/overlap, then preview_slides — telling an agent exactly what to run after this tool and why.

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

convert_to_google_formatConvert to Google FormatAInspect

Convert an Office or PDF file to the matching Google-native format: .pptx → Google Slides, .xlsx/.csv → Google Sheets, .docx/.pdf → Google Docs. Creates a new file — the original is unchanged. ALWAYS ask the user before converting.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesThe file ID to convert

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNo
new_kindYeswhich Google-native format it became: 'document', 'spreadsheet' or 'presentation'
new_file_idYesDrive ID of the newly created Google-native file — use this for later edits, NOT the source ID
new_file_nameNo
source_file_idYesthe original file, which is unchanged

TDQS

A4.3/5.0
Behavior4/5

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

The annotations already indicate the operation is not read-only, but the description adds valuable behavioral context: it creates a new file, leaves the original unchanged, and requires user confirmation before conversion. This goes beyond what annotations alone provide.

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?

Every sentence earns its place: the format mapping, the side-effect clarification, and the critical user-consent requirement. The description is concise, scannable, and front-loaded with the primary action.

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 simple one-parameter tool with an output schema, the description is complete. It covers what gets converted, the resulting formats, the side effect on the original file, and the required user interaction. No critical information for calling the tool correctly is missing.

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?

The input schema fully documents the only parameter (file_id) with a description, so the schema carries the semantic burden. The tool description does not add further detail about the parameter, but none is needed given 100% schema coverage.

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 clearly states a specific verb and resource: converting Office or PDF files to the matching Google-native format. It lists concrete format mappings and distinguishes itself from create-related siblings by emphasizing conversion rather than creation.

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 gives clear context for when to use the tool: when an Office or PDF file needs to be converted to Google format. It also includes the important instruction to always ask the user before converting. It does not explicitly name alternative tools or state when not to use it, but the conversion use case is well-defined.

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

create_documentCreate DocAInspect

Create a new Google Doc in the user's Drive. The content is inserted as plain text — Markdown is NOT rendered, so headings and bold written here arrive as literal ** and # characters. To produce a formatted document, create it and then call format_document, which converts Markdown into real Google Docs styling.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDocument title
contentNoInitial plain text content for the document body

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses a critical non-obvious behavior: Markdown is inserted literally and not rendered. This goes beyond the annotations, which only indicate mutation and non-idempotence, and prepares the agent for the '**'/'#' side effect.

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?

Three tightly written sentences with no filler. The core action is front-loaded, and the Markdown limitation and the formatting workflow each get exactly one sentence.

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 low-complexity creation tool with a rich output schema and clear annotations, the description covers resource, destination, parameter behavior, and the follow-up tool for formatting. Nothing an agent needs to call it correctly is missing.

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?

The schema already documents both parameters fully. The description adds important semantic detail for the content parameter by explaining that it is plain text and that Markdown characters survive literally, going beyond the schema's minimal description.

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 names a specific verb and resource: create a new Google Doc in the user's Drive. It also calls out the non-rendering of Markdown, which clearly distinguishes this tool from format_document and sibling document-formatting tools.

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

Usage Guidelines5/5

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

It explicitly lays out the decision rule: use this for creating plain-text docs, and call format_document afterward when formatted output is desired. This routes the agent away from an obvious alternative without requiring schema inspection.

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

create_folderCreate FolderAInspect

Create a folder in Google Drive. Use this to organize files. The folder can be set as the default location for new files.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFolder name
parent_idNoParent folder ID. If omitted creates in Drive root.
set_as_defaultNoIf true set this folder as the default for new ShareWatch files.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYeslink that opens the folder in Drive
nameYesthe folder's name as Drive recorded it
folder_idYesDrive ID of the new folder — use this as parent_id or folder_id in later calls
parent_idNothe folder it was created inside, absent if created at the Drive root
is_default_folderYestrue if this folder is now the default destination for new files

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate mutation (readOnlyHint=false) and non-destructiveness (destructiveHint=false). The description adds the notable side effect that the folder 'can be set as the default location for new files,' which is meaningful behavioral context beyond the annotations. It does not discuss duplicate-name behavior or permissions, but these are secondary for this simple creation tool.

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?

The description is three short sentences with no filler. It front-loads the core action, states the primary purpose, and then provides the useful default-location caveat. Every sentence earns 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?

For a simple three-parameter creation tool with an output schema, complete parameter documentation, and safety-relevant annotations, the description covers what an agent needs to select and invoke it correctly. It could add caveats about duplicate names or permissions, but these are not critical given the schema and annotation coverage.

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%: name, parent_id, and set_as_default all have their own descriptions, including the root-folder behavior for parent_id. The free-text description only restates the set_as_default concept at a high level and does not add meaningful parameter detail beyond the schema. Baseline 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?

The description states a specific action and object: 'Create a folder in Google Drive.' This clearly distinguishes it from sibling creation tools like create_document or create_spreadsheet. The added purpose 'Use this to organize files' reinforces what the tool is for.

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 explicitly says 'Use this to organize files,' giving a clear use case. It does not name alternatives or exclusions, but the folder-vs-file distinction among sibling tools makes the appropriate context reasonably evident. This is clear guidance without formal when-not-to-use conditions.

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

create_presentationCreate PresentationBInspect

Create a new Google Slides presentation with optional slides.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPresentation title
slides_jsonNoJSON array of slide objects: [{"layout":"TITLE","title":"...","body":"..."}]. Layouts are Google Slides PredefinedLayout names — the same set build_presentation accepts: TITLE, TITLE_AND_BODY, TITLE_AND_TWO_COLUMNS, TITLE_ONLY, SECTION_HEADER, SECTION_TITLE_AND_DESCRIPTION, ONE_COLUMN_TEXT, CAPTION_ONLY, MAIN_POINT, BIG_NUMBER, BLANK. Unrecognised values are rejected before anything is created.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already convey that this is a mutating, non-idempotent operation, and the description adds that it creates a brand-new artifact with optional slides. It does not disclose permissions, side effects, or what happens on validation failure, but the high schema coverage and output schema reduce the burden; nothing contradicts the annotations.

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?

A single front-loaded sentence with no filler: the action, resource, and optionality are all present. It is concise rather than under-specified, though it leaves the sibling relationship unaddressed.

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?

For a two-parameter creation tool with a rich input schema and an output schema, the description is mostly sufficient. The notable gap is the unaddressed build_presentation sibling, which may leave an agent uncertain whether to select this tool or the alternative for creating slides.

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% and the slides_json parameter includes a detailed explanation of layouts and rejection behavior, so the schema carries the semantic weight. The description only adds 'optional slides,' which is useful but does not add parameter-level meaning beyond the schema.

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?

The description uses a specific verb ('Create') and a clear resource ('a new Google Slides presentation'), and notes the optional slides payload. It differentiates from update_presentation and file-type siblings like create_document/create_spreadsheet, but it does not distinguish itself from the sibling build_presentation, which appears to accept the same slide layouts.

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?

There is no guidance on when to choose this tool over build_presentation or update_presentation, and no exclusions or prerequisites are stated. The schema mention of build_presentation hints at overlap, but the tool description itself does not route the agent to the correct alternative in any condition.

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

create_spreadsheetCreate SpreadsheetAInspect

Create a new Google Sheet. Pass sheet_names_json to create multiple tabs at once (data_json writes to the first tab).

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesSpreadsheet title
data_jsonNoJSON-encoded 2D array of cell values written to the first tab. Example: [["Name","Age"],["Alice","30"]]
sheet_nameNoName for the first sheet tab. Defaults to 'Sheet1'. Ignored if sheet_names_json is provided.
sheet_names_jsonNoJSON-encoded array of tab names to create. Example: ["Overview","Weekly Plan","Strength Library"]. The first tab is the primary tab and receives any data_json content.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already communicate that this is a mutating, non-destructive, non-idempotent operation. The description adds useful behavioral context: passing sheet_names_json creates multiple tabs in one action, and data_json is written to the first tab. It does not contradict the annotations.

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?

Two short sentences accomplish everything: the primary purpose is front-loaded, and the optional multi-tab behavior is stated in a compact parenthetical. There is no filler or redundant repetition of the schema.

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 the output schema and fully documented parameters, the description is mostly complete: it explains the create action and the important multi-tab/data-placement behavior. It is only slightly incomplete in not guiding the agent toward add_sheet_tab or update_spreadsheet for follow-up operations on existing sheets.

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 four parameters. The description adds a brief cross-parameter relationship between sheet_names_json and data_json, but this is largely already present in the schema descriptions.

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: 'Create a new Google Sheet.' This clearly distinguishes it from sibling tools like create_document and create_presentation, and from update_spreadsheet for modifications.

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?

The description implies the tool is for creating new sheets and suggests using sheet_names_json for multi-tab creation, but it never explicitly contrasts with siblings like add_sheet_tab for existing sheets or update_spreadsheet for later edits. No exclusions or alternative-selection conditions are named.

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

delete_fileDelete FileA
DestructiveIdempotent
Inspect

Permanently delete a file from Google Drive. ALWAYS confirm with the user before deleting — this cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesThe file ID to delete

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedYestrue when Drive confirmed permanent deletion; the file is not in the trash and cannot be recovered through ShareWatch
file_idYes
file_nameNoname of the file that was deleted — the only record of it the caller will get, because it is gone

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark the tool destructive and non-read-only. The description adds meaningful behavioral context by emphasizing irreversibility ('cannot be undone') and requiring user confirmation before invocation. This goes beyond what the structured hints alone convey and helps the agent understand the severity and consent requirement.

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?

The description is two short sentences, front-loaded with the action and permanence, and the confirmation warning is placed where it is likely to be seen. Every word earns its place; there is no filler or redundant restatement of the tool name.

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?

For a simple one-parameter destructive action, the description covers the core details: what is deleted, that deletion is permanent, that user confirmation is mandatory, and that it cannot be undone. The existence of an output schema and the annotations cover safety and idempotency hints. It does not discuss permission requirements, but this is a minor gap for such a straightforward tool.

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 single file_id parameter is already fully documented. The description names the resource type (Google Drive file) and adds the deletion context, but it does not add new parameter-level details. Baseline 3 is appropriate given complete schema coverage.

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 clear verb and resource: 'Permanently delete a file from Google Drive.' It explicitly signals permanence, which distinguishes this deletion tool from siblings like move_file or block_file. No ambiguity remains about what the tool does.

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 gives clear operational context: it is for permanent deletion and must not be invoked without prior user confirmation. It does not explicitly name alternative tools for non-permanent actions, so it stops short of a full when/not comparison, but the guidance is unambiguous and actionable.

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

describe_slidesInspect Slide LayoutA
Read-onlyIdempotent
Inspect

Inspect the layout of every slide without rendering images. Returns a geometry-level readback — each element's position, size and text, plus flags for content that overflows the slide bounds, overlaps another element, or uses a sub-legible font. Cheap (no image render) — use it to catch mechanical layout problems while editing; use preview_slides for the final visual pass.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentation_idYesThe Google Slides presentation ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
slidesYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: no image rendering, cheap operation, and specific layout flags for overflow, overlap, and sub-legible fonts.

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?

Two focused sentences communicate purpose, behavior, return contents, cost characteristic, and usage guidance without redundancy. The most distinguishing fact (no image rendering) is front-loaded.

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 single-parameter, read-only inspection tool with an output schema and strong annotations, the description fully covers what an agent needs to select and invoke it correctly. It also provides the key sibling distinction from preview_slides.

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% and the only parameter, presentation_id, is already well documented in the schema. The description adds no additional parameter-level detail, so the baseline of 3 is appropriate.

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 uses a specific verb ('Inspect') and names the resource ('layout of every slide'), immediately clarifying scope. It also draws a clear contrast with preview_slides by emphasizing geometry-level readback without rendering images.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool — 'catch mechanical layout problems while editing' — and points to preview_slides for the final visual pass. This gives the agent direct routing guidance, not just a vague context hint.

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

format_documentFormat Doc from MarkdownA
Destructive
Inspect

Write markdown content into a Google Doc with full formatting — headings, bold, italic, bullets, numbered lists, links, and horizontal rules. Use this instead of create_document or update_document when the content has structure that should be visually formatted. Pass file_id to replace an existing doc's content, or omit to create a new doc.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoDocument title (required when creating a new doc)
file_idNoExisting Google Doc file ID to replace content in. Omit to create a new doc.
markdownYesMarkdown content to render as a formatted Google Doc. Supports headings (# ## ###), **bold**, *italic*, - bullet lists, 1. numbered lists, [links](url), and horizontal rules (---).

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesLink that opens the document in Google Docs — give this to the user
modeYesThe write mode actually applied: 'replace' or 'append'. Compare this against what you asked for.
statusYesAlways 'ok' — a failure arrives as an error, not as a status
document_idYesThe document that was written
chars_writtenYesNumber of characters written, counted in runes rather than bytes

TDQS

A4.7/5.0
Behavior5/5

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

The annotations already mark destructiveHint=true, and the description adds the concrete destructive behavior: passing file_id replaces an existing doc's content. It also clarifies the non-destructive creation path when file_id is omitted and discloses supported formatting constructs, aligning with the non-read-only, non-idempotent annotation profile.

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?

Two tight sentences carry the full message: what the tool does, which formatting features it supports, when to prefer it over siblings, and how to switch between creating and replacing. There is no filler or repetition of schema details.

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?

Given the simple three-parameter schema, full schema coverage, existing annotations, and output schema, this description is complete. It gives the agent enough to select the tool, invoke it correctly in both modes, and understand the destructive consequence of providing file_id.

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 input schema already documents all three parameters thoroughly. The description reinforces markdown syntax and the file_id create-vs-replace behavior, but it adds little semantic information beyond what the parameter descriptions already provide.

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 opens with a specific verb and resource: 'Write markdown content into a Google Doc with full formatting.' It lists the exact formatting features and explicitly distinguishes itself from create_document and update_document, so an agent can immediately tell what this tool does and how it differs from its closest siblings.

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

Usage Guidelines5/5

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

It gives an explicit selection rule: use this instead of create_document or update_document when content has structure that should be visually formatted. It also explains the two invocation modes — pass file_id to replace existing content, or omit it to create a new doc — covering the key routing decision.

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

get_statusConnection StatusA
Read-onlyIdempotent
Inspect

Report this user's ShareWatch setup status: the authenticated user's email, workspace connection status, default folder, org membership, and available actions. Setup problems surface here as a clear status, whereas they surface in other tools as unrelated-looking failures. When multiple ShareWatch connectors are configured, this identifies which Google account this connector is authenticated as.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
actionNopresent only when the user must do something; absent means nothing is required of them
diagramNoASCII sketch of which of the two links is broken; reproduce it verbatim or not at all
messageNodetail about a problem, when there is one
summaryYesone sentence covering both identities and the health, written to be paraphrased to the user
user_nameNo
tool_countYeshow many tools this server implements right now
user_emailNothe ShareWatch account the caller is signed in to, which may differ from the connected Google account
organizationNothe workspace this user is currently acting in
setup_neededYestrue when no Drive call can succeed until the user does something; see action
default_folderNowhere new files land when no parent is given; absent when none is set
schema_versionYesbump this and a client with a cached tool list will see the old value — the crudest possible staleness check
available_toolsYesevery tool the SERVER implements — NOT the tools this caller may invoke, and not a permissions list. Compare it against your own visible tool list: if yours is shorter, your client is holding a cached list and the user must refresh the connector.
connection_healthYes'ok' (a token was minted just now), 'never_connected' (Google Workspace was never linked), 'revoked' (the Google grant is gone — reconnecting the MCP connector will NOT fix it), or 'degraded' (still connected, but the last token refresh failed)
folder_suggestionNoadvice to relay when no default folder is configured
workspace_connectedYeswhether ShareWatch can reach the user's Google Drive at all
google_drive_identityNothe Google account whose Drive is actually connected — say this out loud when it differs from user_email, because file operations land in THIS account

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, establishing a safe, non-mutating operation. The description adds meaningful behavioral context beyond annotations: it surfaces setup problems as clear statuses and disambiguates among multiple configured connectors. No contradiction exists between description and annotations.

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?

The description is three sentences with no filler. The primary purpose is front-loaded, followed by two sentences that add diagnostic context and a multi-connector edge case. Every sentence contributes information an agent needs.

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 parameterless, read-only diagnostic tool with an output schema, the description fully covers what the agent needs: the returned fields, the diagnostic role, and the multi-connector scenario. There are no missing prerequisites, side effects, or ambiguous edge cases.

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?

The tool has 0 parameters, so the description correctly needs no parameter-level explanations. Under the rubric, 0 params warrants a baseline score of 4. The schema fully covers the empty parameter set and the description adds no unnecessary parameter details.

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 uses a specific verb ('Report') and names the exact resource ('this user's ShareWatch setup status'), then enumerates the concrete items returned (email, workspace connection status, default folder, org membership, available actions). This clearly distinguishes it from the file-centric sibling tools, none of which provide connection or setup status.

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

Usage Guidelines5/5

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

The description explicitly tells when to use this tool: when setup problems need to be diagnosed, and notes that such problems appear here clearly rather than as confusing failures in other tools. It also provides a conditional use case for multiple connectors, specifying that this tool identifies the authenticated Google account.

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

list_filesList FilesA
Read-onlyIdempotent
Inspect

List the Google Workspace files ShareWatch can see. This is not the user's Drive — it is only what was created through ShareWatch plus what the user has explicitly shared with it, so a short list means a narrow grant and an empty one does not mean an empty Drive. Never tell the user a file does not exist on this basis; a file you cannot see here may still be there. Returns file IDs, names, types, URLs, and each file's parent folder — folders appear as entries too, so parent_folder_id is what tells you which files live inside which folder.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
filesYes
guidanceNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the read-only and idempotent annotations, the description discloses the scoping model, the open-world caveat, and the fact that folders appear as entries with parent_folder_id defining hierarchy. These are non-obvious behaviors an agent needs to interpret results correctly.

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?

Every sentence earns its place: scope, interpretation warning, and structural return details. The most important scoping information is front-loaded, and the description is dense but not bloated.

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?

With no parameters, a rich annotation set, an output schema, and a description that covers scope, interpretation, and folder behavior, nothing needed to invoke this tool correctly is missing.

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?

The tool has zero parameters, so there are no parameter semantics for the description to add. The baseline for parameter-free tools applies here, and the description appropriately focuses on output interpretation instead.

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 opens with a specific verb and scope: 'List the Google Workspace files ShareWatch can see.' It immediately distinguishes this from a general Drive listing and makes clear that it is not showing everything the user owns.

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 gives clear interpretation guidance: a short list means a narrow grant, an empty list does not mean an empty Drive, and absence here is not proof of absence. However, it does not explicitly name an alternative like search_files for cases where a broader search is needed.

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

move_fileMove FileA
DestructiveIdempotent
Inspect

Move a file into a different folder. Both the file and destination folder must be accessible to ShareWatch.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesThe file to move
folder_idYesThe destination folder ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
movedYestrue when Drive accepted the move
file_idYes
file_nameNoname of the file that moved — resolved from Drive, so it confirms WHICH file this was
folder_idYesthe folder it now lives in

TDQS

A4/5.0
Behavior3/5

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

Annotations already cover the safety profile with readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the description does not need to restate those. It adds the useful ShareWatch accessibility precondition, but it does not disclose side effects like whether the source location is removed or how name collisions are handled.

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?

Two short, front-loaded sentences convey the action, destination, and a key prerequisite without any filler or repetition of schema details. Every sentence earns 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?

For a simple 2-parameter mutation with a full input schema, output schema, and annotations covering the side-effect profile, the description includes the essential precondition. It is complete enough for an agent to invoke correctly, though a sentence about source-folder behavior would make it fully comprehensive.

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?

The input schema already provides full descriptions for both parameters, file_id ('The file to move') and folder_id ('The destination folder ID'), so schema coverage is 100%. The description adds only high-level context and an access requirement, which does not materially change parameter interpretation.

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 ('Move'), the resource ('a file'), and the destination relationship ('into a different folder'). This clearly distinguishes it from sibling tools like delete_file, upload_file, and create_folder without merely restating the name.

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 gives a clear usage context: moving a file between folders, with the precondition that both source and destination must be accessible to ShareWatch. It does not explicitly name alternatives or spell out when-not-to-use, but the context is sufficiently clear.

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

preview_slidesPreview SlidesA
Read-onlyIdempotent
Inspect

Get thumbnail images for all slides in a Google Slides presentation. Returns rendered PNG images of each slide. Use this for a final visual check of layout and formatting.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentation_idYesThe Google Slides presentation ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
slidesNoone entry per slide, in deck order; entries carrying an error produced no image
image_countYeshow many images are actually in the content blocks — lower than slide_count when a slide failed to render
slide_countYeshow many slides the deck has
presentation_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral detail by specifying that rendered PNG thumbnails are returned for each slide, which goes beyond what the annotations alone convey.

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?

Two concise sentences deliver the core action, the output format, and the intended use case with no filler. The main action is front-loaded and every clause adds value.

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?

For a simple, read-only tool with one parameter and an output schema, the description is essentially complete. It could have named a sibling like describe_slides for comparison, but the provided use case and return format are sufficient for an agent to invoke it correctly.

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?

The schema covers the single parameter presentation_id with 100% description coverage. The tool description does not add new parameter-level meaning beyond restating that it operates on a Google Slides presentation, so the schema-driven baseline of 3 is appropriate.

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 ('Get') and resource ('thumbnail images for all slides in a Google Slides presentation'). It also clarifies the output format ('rendered PNG images'), which distinguishes it from sibling tools like describe_slides that likely provide textual descriptions.

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 gives a clear usage context: 'Use this for a final visual check of layout and formatting.' It does not explicitly name an alternative tool or state when not to use it, so it falls slightly short of full guidance, but the use case is specific and actionable.

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

read_fileRead FileA
Read-onlyIdempotent
Inspect

Read the text content of a Google Doc, Sheet, or Slides presentation. Docs export as plain text, Sheets as CSV, Slides as plain text. For large files, returns a size warning instead of content — use max_chars and offset to read in chunks.

file_id also accepts a ShareWatch handoff code of the form SW-XXXXXXXX. The user gets one by opening a file from Google Drive with ShareWatch, and it stands for that file until it goes unused for 30 days. The result always reports the real file_id, so use that value for any follow-up call rather than the code.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoCharacter offset to start reading from. Use with max_chars to paginate through large files.
file_idYesThe Google Drive file ID, or a ShareWatch handoff code like SW-7K2MPQ4B that the user was given when they opened a file from Drive
max_charsNoMaximum characters to return. Use this for large files to avoid consuming too much context. Omit to let the server decide (returns full content for small files or a size warning for large ones).

Output Schema

ParametersJSON Schema
NameRequiredDescription
linksNo
offsetNo
contentYes
file_idYes
trashedNo
versionNo
file_nameYes
mime_typeYes
truncatedNo
sheet_tabsNo
total_charsNo
alternativesNo
partial_readNoWhy the content is less than the whole file, or absent entirely. Empty means a complete read. When set, do NOT paginate with offset unless the text says the rest is reachable that way

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark the operation as read-only, idempotent, and non-destructive. The description adds meaningful behavior: format conversion rules, the size-warning behavior for large files, chunking support, and the lifetime and substitution semantics of ShareWatch handoff codes. No contradiction with annotations exists.

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?

The description is front-loaded with the core behavior and output formats, then adds the secondary handoff-code detail in a separate paragraph. Every sentence contributes useful operational information with no redundancy or filler.

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?

Given the annotations and output schema, the description covers all essential operational aspects: supported file types, output formats, large-file handling, pagination, and handoff-code behavior. An agent has enough context to invoke read_file correctly and interpret its results appropriately.

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?

Input schema descriptions already cover all three parameters, so the baseline is solid. The description adds value by explaining the large-file warning behavior, how offset/max_chars work together for chunking, and the important instruction to use the returned real file_id rather than the handoff code in follow-up calls.

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 opens with a specific verb and resource: 'Read the text content of a Google Doc, Sheet, or Slides presentation.' It further clarifies output formats per resource type, which makes the tool's function unmistakable and distinguishes it from sibling create/update/list/search tools.

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 gives clear guidance for large files: a size warning is returned unless max_chars and offset are used to chunk reads. It also advises using the real file_id from results for follow-up calls. It does not explicitly name alternative tools like access_file_by_url, but the context is clear enough for selecting this tool.

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

report_bugReport a BugAInspect

Tell the ShareWatch developers what this server got wrong. Use it for outright bugs — an unexpected error, a wrong result — and equally for friction: a confusing parameter, an unhelpful error message, a task that took three calls when it should have taken one. Your assessment of the API is the point; it is the only way its designers learn how it behaves in practice. The report is written to the user's own audit log, visible to them and to their workspace administrators, and to ShareWatch's operational logs. Write about the tool, never about the user's documents or conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolYesThe tool that had the problem (e.g. 'update_document', 'read_file')
file_idNoThe file ID involved, if applicable
descriptionYesYOUR experience of using this tool — you are the one being asked, not the user. What you tried, what the API did instead, and what would have made it work. Opinions welcome: if a parameter is awkward, an error was unhelpful, two calls were needed where one should do, or the tool made a task harder than it should have been, say so plainly. Write about ShareWatch, not about the user's task: no document contents, no quoted text, no file or people names. Their material is not the subject and does not belong here. Maximum 2000 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
whereYeswhere the report went, so the agent can tell the user where to look for it
loggedYes

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses meaningful side effects not captured by the annotations: the report is written to the user's own audit log, visible to the user and workspace administrators, and to ShareWatch's operational logs. This clarifies that the tool is not read-only and has persistent visibility.

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?

The description is longer than average but every sentence earns its place: purpose, use cases, rationale, side effects, and content constraints. It is front-loaded with the core purpose, though some guidance repeats what is already in the schema's parameter description.

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 bug-reporting tool, the description covers what to report, how to report it, what not to include, and where the report goes. The output schema exists, so return-value details are not needed, and the description gives an agent enough context to select and invoke the tool appropriately.

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 explains 'tool', 'file_id', and 'description' in detail. The description reinforces the 'description' parameter's intent but does not add essential parameter meaning beyond what is in the schema.

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?

Purpose is explicit and actionable: 'Tell the ShareWatch developers what this server got wrong' names the verb, resource, and audience. It also distinguishes itself by covering both outright bugs and friction, which is broader than any sibling tool.

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 clearly states when to use the tool: for outright bugs and for friction like confusing parameters or unhelpful errors. It gives content exclusions ('Write about the tool, never about the user's documents or conversation'), but does not explicitly name alternative tools or a definitive 'do not use this for X' scenario.

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

request_file_accessRequest File AccessA
Read-onlyIdempotent
Inspect

When a user wants you to access a file that isn't in the file list, call this tool. It returns a URL the user can open to select and grant access to files from their Google Drive.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoBrief description of why file access is needed, shown to the user

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesthe page where the user picks files to share — give them this link
reasonNothe reason supplied by the caller, echoed so it can be shown alongside the request
messageYeswording to relay to the user

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so there is no safety contradiction. The description adds the crucial behavioral fact that the tool returns a user-facing authorization URL rather than direct file contents, which is essential for setting agent and user expectations.

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?

Two sentences contain no filler, the trigger condition is front-loaded, and the return behavior follows immediately. Every clause earns its place.

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 one-parameter, non-destructive tool with an output schema and full annotations, the description covers trigger, behavior, and user-visible outcome. No critical call-time information is missing.

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?

The single parameter 'reason' is fully documented in the schema with 100% coverage, so the description does not need to add parameter-level detail. It adds no semantics beyond the schema, which meets the baseline for fully documented parameters.

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 trigger ('when a user wants you to access a file that isn't in the file list') and a concrete outcome ('returns a URL the user can open to select and grant access'). This clearly distinguishes it from sibling tools like read_file or access_file_by_url, which operate on already-available files.

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?

It provides an explicit when-to-use condition: only when a wanted file is absent from the file list. It does not explicitly name alternate tools for files that are already listed, but the exclusion is clear enough for an agent to route correctly.

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

search_filesSearch FilesA
Read-onlyIdempotent
Inspect

Search for files by name, text content, type, or date range. Use this instead of list_files when the user has many files or is looking for something specific. Use content when the user remembers what a file says but not what it is called. All parameters are optional — combine them to narrow results.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by file type. One of: document, spreadsheet, presentation, pdf, folder. Matched case-insensitively; any other value is REJECTED with an error rather than ignored, so a filter you set is always a filter that applied.
queryNoSearch by file name (partial match). Example: 'board deck' or 'Q3 financials'
contentNoSearch inside file text, not just names — finds files whose body contains these words, scoped to files ShareWatch can see. Word-based, not substring: 'quarterly revenue' matches files containing those words. Combine with query to require both.
modified_afterNoOnly files modified after this date (ISO 8601 e.g. '2026-01-01')
modified_beforeNoOnly files modified before this date (ISO 8601 e.g. '2026-04-01')

Output Schema

ParametersJSON Schema
NameRequiredDescription
filesYes
guidanceNo

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context by noting all parameters are optional and can be combined to narrow results. It does not disclose behavior like pagination or result limits, but those are largely optional given the strong annotation coverage and output schema.

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?

The description is three sentences with no wasted words. It front-loads the core function, then provides usage guidance and parameter semantics. Every sentence earns its place.

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?

With an output schema available, all parameters documented at 100% coverage, and descriptions covering alternatives and use cases, nothing critical is missing. The tool is simple and the description plus schema fully equip an agent to invoke it correctly.

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 fully documents each parameter's meaning and constraints. The description adds the useful general note that all parameters are optional and combinable, but it does not go beyond the schema for individual parameter semantics. Baseline 3 is appropriate.

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 ('Search') and resource ('files'), and enumerates search dimensions: name, text content, type, and date range. It explicitly differentiates from sibling list_files by positioning search_files as the tool to use when looking for something specific. This is clear and unambiguous.

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

Usage Guidelines5/5

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

It explicitly says to use this tool instead of list_files when the user has many files or is looking for something specific. It also guides on choosing the content parameter when the user remembers content but not the name. This gives clear when-to-use and alternative-selection guidance.

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

set_file_read_onlySet File Read-OnlyA
DestructiveIdempotent
Inspect

Mark a file as read-only or read-write. Read-only files can be read but not updated through ShareWatch. This is enforced at the proxy layer regardless of Google Drive permissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesThe file ID
read_onlyYesTrue to make read-only, false to allow writes

Output Schema

ParametersJSON Schema
NameRequiredDescription
file_idYes
file_nameNo
read_onlyYes
enforced_byYeswhere the restriction is applied — always 'sharewatch': the file's Google Drive permissions are unchanged and people can still edit it directly

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already convey mutation, idempotency, and destructiveness, so the bar for added value is lower. The description adds meaningful behavior: read-only files can still be read, enforcement happens at the proxy layer, and it applies regardless of Drive permissions. No contradiction with annotations.

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?

Three short sentences, each earning its place: the action, the observable consequence, and the enforcement layer. Information is front-loaded and there is no filler.

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 simple two-parameter tool with a full output schema and annotations, the description covers the essential semantics and even clarifies edge behavior around Google Drive permissions. Nothing critical is missing for an agent to invoke it correctly.

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%, and both file_id and read_only are adequately described in the schema. The tool description restates the effect of read_only but does not add much beyond the schema. This matches the baseline-3 expectation when the schema already documents parameters 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?

The description opens with a specific verb and resource: 'Mark a file as read-only or read-write.' It clearly conveys the action and both directions of the toggle. It does not explicitly name a sibling alternative, but the semantics are distinct enough from delete_file, move_file, and block_file.

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 provides clear context: this controls whether files can be updated through ShareWatch, and it operates at the proxy layer independent of Google Drive permissions. It implies when to use it—when ShareWatch-level write protection is needed—but it stops short of explicitly contrasting it with alternatives or stating when not to use it.

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

update_documentUpdate DocA
Destructive
Inspect

Update an existing Google Doc. Supports replacing all content or appending to it. The result reports the mode that was actually applied and how many characters were written, so you can confirm a replace was a replace.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoWrite mode: 'replace' clears and replaces all content, 'append' adds to the end. Defaults to 'replace' when omitted. Matched case-insensitively; any other value is rejected. The result reports the mode actually applied — check it.
contentYesText content to write
document_idYesThe document ID to update

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesLink that opens the document in Google Docs — give this to the user
modeYesThe write mode actually applied: 'replace' or 'append'. Compare this against what you asked for.
statusYesAlways 'ok' — a failure arrives as an error, not as a status
document_idYesThe document that was written
chars_writtenYesNumber of characters written, counted in runes rather than bytes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, and the description adds crucial nuance: 'replace' clears all content, 'append' does not, and the result reports the mode actually applied plus character count. This lets an agent verify that a destructive replace happened as intended, which is valuable context beyond the structured annotations.

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?

Three sentences, no filler, with the core action first and the operational modes second. Every sentence contributes either a concrete capability or a safety-related confirmation behavior.

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?

Given the fully documented input schema, the output schema, and annotations covering destructive behavior, the description covers everything essential for correct invocation. It even adds the verification detail about reported mode and character count, which reduces ambiguity without needing to restate return schemas.

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 document_id, content, and mode thoroughly, including default and validation behavior. The tool description mostly paraphrases the mode semantics and adds no new parameter-level meaning beyond emphasizing that the result reports the applied mode.

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?

States a specific verb and resource: 'Update an existing Google Doc,' and immediately distinguishes the two supported operations (replace all content or append). The mention of 'existing' differentiates it from create_document, and the resource type differentiates it from update_spreadsheet and update_presentation.

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 clearly indicates this tool is for updating a Google Doc and explains the two modes, including the default behavior. It does not explicitly name sibling alternatives or state when-not-to-use, but the resource-specific language provides enough context for an agent to select it appropriately.

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

update_presentationUpdate PresentationA
Destructive
Inspect

Modify an existing Google Slides presentation.

Structured operations (operations_json): add_slide, insert_text, delete_text, delete_slide, replace_text, update_text_style, update_page_bg. Google's own spellings are accepted where the operation is identical — replace_all_text and create_slide both work. An unrecognised type, or one missing a required field, is REJECTED with a message naming the operation; nothing is silently skipped.

Examples:

  • delete_text: {"type":"delete_text","element_id":"id"}

  • replace_text: {"type":"replace_text","old_text":"foo","new_text":"bar"}

  • update_text_style: {"type":"update_text_style","element_id":"id","bold":true,"font_size":24,"color":"#1a56db"}

  • update_page_bg: {"type":"update_page_bg","slide_id":"id","bg_color":"#1a1a2e"}

Raw mode (raw_requests): Pass a Google Slides API BatchUpdatePresentationRequest body directly for full API access. Request shapes are documented at https://developers.google.com/slides/api/reference/rest/v1/presentations/batchUpdate

ParametersJSON Schema
NameRequiredDescriptionDefault
raw_requestsNoRaw Google Slides API BatchUpdatePresentationRequest JSON for full API access
operations_jsonNoJSON array of structured operations
presentation_idYesThe presentation ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
revision_idNoGoogle's revision ID after the write, if it reported one
presentation_idYes
requests_appliedYeshow many operations Google applied — compare against the number sent to confirm the whole batch landed

TDQS

A4.6/5.0
Behavior4/5

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

The description goes beyond the destructiveHint annotation by explaining that invalid or incomplete operations are rejected with a message naming the operation, and that nothing is silently skipped. It also discloses Google's alternative spellings are accepted, which is valuable behavioral detail not available from the schema or annotations.

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?

The description is front-loaded with the core purpose, then progresses logically from structured operations to raw mode. The operation list, examples, rejection behavior, and raw-mode note all earn their place; nothing feels redundant or padded.

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 tool with two modes and a destructive annotation, the description is remarkably complete: it covers accepted operations, alias handling, error behavior, example payloads, and raw-mode usage with documentation. The presence of an output schema means return values need no additional explanation, and the structured-mode rejection guarantees provide sufficient safety context.

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

Parameters5/5

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

Even though schema coverage is 100%, the description substantially enriches parameter understanding: it lists all valid operations_json values, provides concrete examples for several operations, explains alias acceptance, and documents raw_requests as a BatchUpdatePresentationRequest body with a reference link. This is far more useful than the bare schema descriptions.

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 opens with 'Modify an existing Google Slides presentation,' a specific verb-action plus resource that clearly distinguishes it from creation, inspection, and preview siblings. It also enumerates the exact structured operations supported, making the tool's scope concrete.

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 clearly frames when to use the tool — modifying an existing presentation — and contrasts the two invocation modes: structured operations for common edits and raw mode for full API access. It does not explicitly name sibling alternatives or say 'use create_presentation for new presentations,' but the 'existing' qualifier provides adequate contextual guidance.

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

update_spreadsheetUpdate SpreadsheetA
Destructive
Inspect

Write data to a range in an existing Google Sheet. The range must reference a tab that already exists (e.g. 'Overview!A1' requires an 'Overview' tab). Errors with 'Unable to parse range' if the tab name is unknown — call add_sheet_tab first to create new tabs. Values are stored EXACTLY AS GIVEN by default, so '=B1+B2' is saved as text and does not calculate; pass value_input_option='USER_ENTERED' to write real formulas. The result carries formula_notice when cells starting with '=' were stored as text.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeYesA1 notation range e.g. 'Sheet1!A1:C10'
data_jsonYesJSON-encoded 2D array of cell values
clear_firstNoIf true clear the range before writing. Defaults to false.
spreadsheet_idYesThe spreadsheet ID
value_input_optionNoHow to interpret the values. 'RAW' (default) stores every value exactly as given, so '=B1+B2' is stored as the literal text and does NOT compute. 'USER_ENTERED' parses values the way typing them would, so formulas evaluate and dates are recognised. Use USER_ENTERED when the sheet is meant to calculate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYesAlways 'ok' — a failure arrives as an error
updated_rowsYesRows changed
updated_cellsYesCells changed
updated_rangeYesThe fully-qualified range Google wrote, including the tab name. Compare this against the tab you intended — a range with no tab prefix goes to the FIRST sheet.
formula_noticeNoPresent only when cells beginning with '=' were written as literal text because value_input_option was RAW. Those cells will NOT compute. Rewrite the range with value_input_option='USER_ENTERED' if formulas were intended.
spreadsheet_idYesThe spreadsheet that was written
updated_columnsYesColumns changed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations establish destructiveHint=true and readOnlyHint=false, but the description goes much further: it discloses that values are stored EXACTLY AS GIVEN by default, that '=B1+B2' becomes literal text unless USER_ENTERED is used, that an error 'Unable to parse range' occurs for unknown tabs, and that the result carries formula_notice. These are non-obvious behavioral details that materially affect invocation and interpretation.

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?

Every sentence earns its place: purpose, a key prerequisite with an example, failure mode with a routing instruction, the important exact-storage caveat with the fix, and a note about the result payload. The most critical constraints are front-loaded, and there is no filler or repetition of schema content.

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 destructive write operation, the description covers the core prerequisites, the error path, the behavioral nuance around formulas, the alternative for creating tabs, and the formula_notice in the result. An output schema exists, so return-value documentation is not the description's burden. Nothing essential is missing for correct tool selection and invocation.

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 the baseline is 3, but the description adds meaningful context beyond the schema: it gives a concrete tab-name example for range, explicitly connects the range requirement to the add_sheet_tab sibling, and reinforces the formula-storage distinction. This elevates the parameter documentation beyond what the schema alone provides, though not to a 5 given the schema is already thorough.

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 opens with a specific verb and resource: 'Write data to a range in an existing Google Sheet.' It clearly distinguishes this from siblings like update_document and update_presentation by targeting spreadsheets, and it implies the sheet must already exist, which differentiates it from create_spreadsheet. The purpose is immediately understandable and unambiguous.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: it states the sheet must already exist, names the failure mode for unknown tabs, and directly instructs the agent to 'call add_sheet_tab first' when creating new tabs. It also tells when to choose value_input_option='USER_ENTERED' instead of the default RAW behavior. This is exemplary routing guidance.

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

upload_fileUpload FileAInspect

Upload a binary file (xlsx, pdf, docx, png, etc.) to Drive from base64-encoded content. Use this when you have file bytes from the conversation (e.g. an attached spreadsheet) and need to put them in the user's Drive. Set convert=true to have Drive convert Office formats to native Google formats during upload. Maximum 20MB decoded.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFilename including extension (e.g. 'workout-plan.xlsx')
convertNoIf true and the source is convertible (.xlsx → Sheets .docx → Docs .pptx → Slides .pdf/.csv → matching native), Drive converts during upload. If false (default) the file is stored as-is.
mime_typeYesThe source file's MIME type. Examples: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' for .xlsx 'application/pdf' for .pdf 'image/png' for .png
content_base64YesThe file bytes encoded as base64. Maximum decoded size 20MB.
parent_folder_idNoOptional folder ID to upload into. Defaults to the user's default folder if one is set.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes

TDQS

A4.3/5.0
Behavior4/5

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

Adds two behaviors beyond the annotations: the 'Maximum 20MB decoded' size cap and the convert=true conversion semantics (Office formats → native Google formats). Annotations already signal a non-idempotent write (readOnlyHint=false, idempotentHint=false), and the description is consistent with them; it stops short of describing duplicate-file behavior on repeated calls, but that is partly carried by idempotentHint=false.

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?

Three sentences with no filler: purpose, when-to-use, and the two behavioral caveats (conversion, size limit). The most distinctive fact — base64 ingestion — is front-loaded, and every sentence earns its place.

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?

Given 100% parameter coverage, an output schema, and safety annotations, the description covers the remaining decision-relevant facts: allowed source formats, ingestion path, conversion toggle, and the 20MB boundary. Nothing an agent needs to select or invoke this tool correctly is missing.

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 coverage is 100%, so all five parameters are already documented; the description mostly restates content_base64, convert, and the 20MB cap found in the schema. It adds modest context via file-type examples and the 'attached spreadsheet' use case, but it does not meaningfully extend parameter semantics 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?

States a specific verb and resource — 'Upload a binary file … to Drive from base64-encoded content' — with concrete format examples (xlsx, pdf, docx, png). The second sentence ('when you have file bytes from the conversation … put them in the user's Drive') clarifies its niche relative to sibling creation tools like create_document or create_spreadsheet, which build files natively rather than ingesting external bytes.

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 an explicit when-to-use condition: 'Use this when you have file bytes from the conversation (e.g. an attached spreadsheet) and need to put them in the user's Drive.' It does not state when-not conditions or explicitly contrast alternatives such as convert_to_google_format, so exclusions are left unstated — clear context but no named alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 25 tool updates
    • First observedaccess_file_by_url
    • First observedadd_sheet_tab
    • First observedblock_file
    • First observedbuild_presentation
    • First observedconvert_to_google_format
    • First observedcreate_document
    • First observedcreate_folder
    • First observedcreate_presentation
    • First observedcreate_spreadsheet
    • First observeddelete_file
    • First observeddescribe_slides
    • First observedformat_document
    • First observedget_status
    • First observedlist_files
    • First observedmove_file
    • First observedpreview_slides
    • First observedread_file
    • First observedreport_bug
    • First observedrequest_file_access
    • First observedsearch_files
    • First observedset_file_read_only
    • First observedupdate_document
    • First observedupdate_presentation
    • First observedupdate_spreadsheet
    • First observedupload_file

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools target a distinct resource and action, and the detailed descriptions separate similar-sounding ones. A few pairs could still be confused: access_file_by_url vs request_file_access, and create_document vs format_document, but their trigger conditions are described clearly enough to avoid frequent misselection.

Naming Consistency4/5

The set mostly follows a verb_noun pattern with consistent snake_case, e.g. create_document, update_spreadsheet, delete_file. Minor deviations like build_presentation instead of create_presentation, and format_document alongside create_document, break the pattern slightly but remain readable and predictable.

Tool Count3/5

25 tools is at the heavy end of the scale, though the domain spans Drive, Docs, Sheets, and Slides, which justifies a large surface. Some consolidation is possible — access_file_by_url and request_file_access overlap, as do create_document and format_document — so the count feels slightly bloated rather than tightly scoped.

Completeness4/5

The server covers the core file lifecycle well: create, read, update, delete, move, list, search, upload, and access control across all major Google Workspace document types. Minor gaps exist, such as no rename, copy, export, or direct sharing tool, but agents can work around these without major failures.

Resources