Skip to main content
Glama

update_document_content

DestructiveIdempotent

Replace the body of an existing text/markdown workspace document (use draft_document to create a new one, read_document_content to read). Max 100 KB. Requires project.content.create. Binary documents (PDF, images) cannot be edited this way. Refused with code DOCUMENT_LOCKED_FOR_APPROVAL while a workflow approval is open on the document.

Input Schema

NameRequiredDescriptionDefault
documentIdYesThe document id to overwrite.
contentMarkdownYesNew UTF-8 markdown/text body. Max 100 KB. Replaces the whole body.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description goes further: it discloses the required permission (project.content.create), the 100 KB size cap, the inapplicability to binary documents, and the specific refusal code DOCUMENT_LOCKED_FOR_APPROVAL while an approval is open. That is materially useful behavior an agent cannot infer from 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?

Three compact sentences, each carrying distinct information: purpose plus siblings, limits/permissions, and error/lock behavior. Front-loaded with the operation, 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?

No output schema exists, and the description still covers the mutation's constraints (size cap, permission, non-text exclusion, lock refusal code) that an agent needs to call it successfully. Nothing material is left undocumented for a 2-parameter destructive write.

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 schema already documents both documentId ('document id to overwrite') and contentMarkdown ('new UTF-8 markdown/text body. Max 100 KB. Replaces the whole body'). The description's mention of the 100 KB limit and whole-body replacement duplicates the schema rather than adding new semantics, so the 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?

States a specific verb and resource ('Replace the body of an existing text/markdown workspace document') and immediately disambiguates against siblings draft_document and read_document_content. An agent can distinguish this from create/read operations without opening any 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?

Explicitly names the alternatives for the adjacent operations (draft_document to create, read_document_content to read) and states when the tool is inapplicable: binary documents (PDF, images) cannot be edited this way. It also gives the precondition that triggers refusal.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.