Skip to main content
Glama

Generate document

generate_markdown
Destructive

Write one document in the user's brand and save it to their files: anything they want to read in chat rather than print or send, from a to-do list or a checklist to a plan, notes, a brief or a summary they asked to keep. Takes the markdown, an optional title (the first heading otherwise) and an optional brand_kit_id. The card renders the whole document in the brand, so never paste the markdown into the reply as well. Nothing renders to a file the user has to open: there is no watermark, nothing to unlock and nothing to pay. Use generate_pdf instead when they want a document to print, attach or send. Do not call this again to retry.

Input Schema

NameRequiredDescriptionDefault
titleNoThe document title. The first heading otherwise.
markdownYesThe whole document as markdown.
brand_kit_idNoA brand_kit_id from list_brand_kits.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=true, so the description carries the burden of explaining what actually happens. It does: the card renders the whole document, the file is not something the user has to open, and there is no watermark/lock/paywall — behaviour an agent cannot infer from the schema. It does not address why destructiveHint is true or whether an existing document with the same title is overwritten, which is the one meaningful gap.

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?

Front-loaded with the action and the scope, then parameters, then rendering behaviour, then the alternative — a sensible order. A few sentences ('nothing to unlock and nothing to pay') are defensive padding that could be cut without losing information.

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 compensates by explaining what the user sees (a card rendered in the brand) and the important side-constraint not to also paste the markdown into the reply. Between that and the explicit alternative routing, an agent has enough to call this correctly and to avoid the most likely failure mode.

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 title, markdown and brand_kit_id are already documented, including the same 'first heading otherwise' default and the same reference to list_brand_kits. The description restates these without adding format, length limits or validation details, so 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 ('Write one document in the user's brand and save it to their files') and immediately bounds the scope with a concrete enumeration of content types (to-do list, checklist, plan, notes, brief, summary). It also names the sibling it supersedes for other intents, so the agent can distinguish it from generate_pdf 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?

Explicit routing: use this when the user wants to read something in chat, use generate_pdf instead when they want to print, attach or send. It adds a retry exclusion ('Do not call this again to retry'), which is a use-condition no other field carries.

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.