Skip to main content
Glama

docs_fill

Fill Google Docs templates by replacing exact text and heading sections with markdown, applying template styles and reporting each change.

Instructions

Fill in a template document. replace: exact text → new text for placeholders or sample text (every occurrence, keeping its formatting). sections: heading text → markdown that replaces everything under that heading, typed in the template's styles. Reports each item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
docYesGoogle Docs URL or document id.
accountNoWhich signed-in Google account to use: an index as in /u/N/ URLs (0 = first account) or an email address. Omit for the browser default. Use this for documents owned by a second (e.g. school) account.
replaceNoe.g. {"{{name}}": "Dylan", "Wendy Writer, CEO": "Dylan Santwani, Founder"}
sectionsNoe.g. {"Attendees": "- Dylan\n- Pat", "Notes": "Shipped the bridge."}
matchCaseNoCase-sensitive matching for replace. Default true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does a reasonable job: it discloses that replace hits every occurrence while preserving formatting, that sections overwrite everything under a heading in the template's own styles, and that results are reported per item. It stops short of stating permission/auth requirements, reversibility, or what happens when a heading is absent.

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?

Three dense sentences, front-loaded with the purpose and then the per-parameter semantics, with no filler. The arrow notation is efficient, though 'Reports each item' is mildly vague about the response shape.

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 5-parameter mutation tool with no annotations and no output schema, the description covers the core write semantics but leaves gaps: no permission requirements, no behavior when a placeholder or heading is not found, no indication whether missing headings are created, and no sibling differentiation in a cluster heavy with docs_replace/docs_edit/docs_type tools.

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 already 100% with useful per-parameter examples, so the baseline is 3; the description earns above baseline by explaining the runtime semantics the schema cannot convey (all-occurrence substitution with formatting retained, markdown body rendered in template styles, per-item reporting).

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 first sentence states a specific verb and resource ('Fill in a template document'), and the two subsequent clauses cleanly delineate the two filling modes. It never names the overlapping siblings (docs_replace, docs_edit, docs_type, docs_templates), so an agent must infer the boundary between 'template fill' and 'regular text replacement' from the framing alone.

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 template-filling framing implies the use case, and the replace/sections split implies which mode applies to which kind of content. There is no explicit when-to-use statement, no when-not, and no routing to alternatives such as docs_replace or docs_edit for non-template edits.

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