Skip to main content
Glama

Server Details

Collaborative word processor you can use with your agent.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 15 of 15 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation5/5

Each tool has a uniquely distinct purpose within the document lifecycle. Tools like create_document, import_document, and upload_document are clearly differentiated by their input method, and edit_document vs replace_document_content serve different granularity needs. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_document, export_document, set_page_layout). There are no deviations or mixed conventions, making the naming predictable and intuitive.

Tool Count5/5

With 15 tools, the server covers the essential operations for document management without being overwhelming. Each tool serves a clear purpose, and the count is well-scoped for an editing-focused MCP server.

Completeness4/5

The tool surface covers creation, reading, editing, exporting, collaborative suggestions, layout, and search. The only notable gap is the absence of a delete tool for removing a document, which could be a dead end for agents needing full lifecycle management.

Available Tools

15 tools
create_documentCreate document (no account)AInspect

Create a Revise document without a Revise account, seeded with markdown. Returns: url (give this to your user — they open it to view the document and create a free account to keep it, in one step) and edit_token (keep it; use it as your Authorization Bearer token in future requests to read and edit this document). The document is private and deleted after 7 days if unclaimed.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDocument title
created_byNoYour name (e.g. "Codex", "Claude") so the user sees who made the document. Recommended.
content_markdownNoInitial content as markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesDocument ID
urlYesEditor URL
notesYesHuman-facing claim and retention notes
titleYesDocument title
edit_tokenYesBearer token scoped to this document for future read/edit calls
unlock_moreYesAgent-facing guidance for authenticating to unlock more tools
Behavior5/5

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

Annotations are minimal (readOnlyHint=false, destructiveHint=false), but the description fully discloses behavioral traits: document is private, deleted after 7 days if unclaimed, no account required, and how tokens are used for authorization. No contradictions.

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?

Description is concise (4 sentences) with front-loaded purpose and return values. Every sentence provides essential information without redundancy. Excellent structure for quick comprehension.

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 exists, the description adequately explains return values and their usage. It covers document creation, lifecycle, and authorization. Missing details on error handling or rate limits, but these are less critical for a creation tool. Sufficiently complete for an AI 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 the schema already documents parameters. The description adds marginal value: for 'created_by' it suggests using a name (e.g., 'Codex') and marks as recommended; for 'content_markdown' it repeats 'Initial content as markdown'. This adds minor context but does not significantly surpass the schema 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 clearly states the verb 'Create', the resource 'Revise document', and distinguishes from siblings by emphasizing 'without a Revise account' and 'seeded with markdown'. It also explains the return values and their purpose, making the tool's role unambiguous.

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 explicit guidance on how to use the returned url and edit_token, and explains the lifecycle (private, deleted after 7 days if unclaimed). It implies when to use this tool (when user has no account) vs. other tools (for existing documents). Lacks explicit 'do not use when' conditions, but context is clear.

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

edit_documentEdit documentA
Destructive
Inspect

Apply targeted edits to a document using Markdown or HTML content. On a substantial document (20+ words) the default is mode "suggest": edits land as pending tracked changes the owner can accept or reject in the editor. On a short/new document (under 20 words) the default is "apply" (there's little to review). Pass mode "apply" explicitly to edit a substantial document directly, recorded in its revision history. Get block ids from read_document with with_block_ids: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
modeNosuggest: tracked changes (default for documents with 20+ words); apply: edit directly (default for documents under 20 words). Pass apply explicitly to edit a substantial document without suggesting.
editsYesEdits to perform, in order

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNoReview guidance
statusYesWhether edits were suggested or directly applied
editsRequestedNoRequested edit count
pendingSuggestionIdsNoTracked-change suggestion IDs
acceptedChangeRegionsNoChange regions accepted immediately
Behavior5/5

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

The description reveals that edits can be tracked changes (suggest mode) or direct revisions (apply mode), and that direct edits are recorded in revision history, aligning with the destructiveHint=true annotation. It also explains how to obtain block IDs from read_document, adding context beyond 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?

The description is a single paragraph that covers essential information efficiently. It front-loads the purpose, then explains modes, and ends with a practical tip. It is concise but could be more structured with bullet points for even easier scanning.

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 complexity of multiple edit types (replace, insert_markdown, insert_html, delete_block) and the presence of an output schema, the description provides complete context. It explains each edit type implicitly through the concept of 'targeted edits' and the mode behavior.

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%, but the description adds value by explaining the mode behavior in detail and providing guidance on obtaining block_ids. The description enriches understanding without redundancy.

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 the tool applies targeted edits using Markdown or HTML content, and specifically mentions actions like replace, insert, and delete. It distinguishes itself from siblings like replace_document_content by focusing on targeted block-level edits.

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 explicit guidance on when to use 'suggest' vs 'apply' modes based on document length (20+ words vs under 20 words). It also tells how to explicitly force 'apply' on substantial documents. However, it does not mention when to use alternative sibling tools like replace_document_content.

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

export_documentExport documentA
Read-only
Inspect

Export a document by id to markdown, txt, html, docx, pdf. Text formats (markdown, txt, html) are returned inline. Binary formats (docx, pdf) are hosted at a temporary download URL (expires in ~24h) returned in the response, not streamed back inline.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
formatYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesDocument ID
bytesNoHosted file byte length
notesNoDownload expiry notes
formatYesExport format
statusYesExport status
contentNoInline exported text content
download_urlNoTemporary download URL
Behavior5/5

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

Annotations indicate readOnlyHint=true and destructiveHint=false. The description adds crucial behavioral context: text formats are returned inline, while binary formats are hosted at a temporary download URL with a 24h expiry. No contradictions.

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, no wasted words. The most important distinction (inline vs. URL) is front-loaded. Every sentence adds value.

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 there is an output schema, the description does not need to detail the response. It covers the key aspects: supported formats, how each is returned, and the expiration of download URLs. It is complete for the tool's complexity.

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 50% (only 'id' has a description). The description adds meaning to the 'format' parameter by explaining the inline vs. URL behavior, compensating for the missing schema description. It does not add new info about 'id' but that is already clear.

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 ('Export') and resource ('document'), lists supported formats, and distinguishes behavior between text and binary formats. It clearly differentiates from sibling tools like import_document or read_document.

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 states the tool's purpose (exporting a document) and implicitly guides when to use alternatives (e.g., read_document for reading, create_document for creating). It does not explicitly state when not to use, but the context is sufficient for an agent.

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

get_document_infoGet document infoA
Read-only
Inspect

Get a document's metadata: title, sharing state, URLs, timestamps, and word count.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesDocument ID
urlYesEditor URL
pagesYesRendered page count, or null in pageless mode
titleYesDocument title
wordsYesWord count
blocksYesTop-level block count
isOwnerYesWhether the current user owns the document
isPublicYesWhether the document is publicly shared
readOnlyYesWhether the current user has read-only access
createdAtNoCreation timestamp from the Revise API
publicUrlYesPublic URL, when enabled
updatedAtNoLast update timestamp from the Revise API
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, providing safety clarity. The description adds behavioral context by specifying the exact metadata fields returned, enhancing transparency without contradicting 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?

A single, front-loaded sentence with no redundancy. Every word serves the purpose of conveying the tool's function and output.

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 tool's simplicity (1 parameter, rich annotations, and existence of an output schema), the description fully covers what an agent needs: it identifies the resource, the nature of the operation, and the type of information returned.

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% with a single 'id' parameter described as 'Document ID'. The description adds no further meaning to the parameter beyond the schema, so a 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 clearly states the tool retrieves a document's metadata, listing specific fields (title, sharing state, URLs, timestamps, word count). This distinctively separates it from siblings like read_document (content) and get_document_outline (structure).

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 usage when metadata is needed, but lacks explicit guidance on when to use this tool versus alternatives (e.g., read_document for content, get_document_outline for structure). No exclusions or context for when not to use.

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

get_document_outlineGet document outlineA
Read-only
Inspect

Get a document's heading outline with block ids and per-section word counts. Cheap way to orient in a long document before reading specific sections.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleYesDocument title
blocksYesTop-level block count
sectionsYes
totalWordsYesTotal word count
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by specifying the output contains 'block ids and per-section word counts' and characterizes it as a 'cheap' operation. This goes beyond the annotations, though it could mention more about performance or limits.

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 consists of two concise sentences with no wasted words. The first sentence front-loads the core purpose, and the second adds context. 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?

The tool has an output schema (though not detailed in the prompt), and the description adequately summarizes what is returned: headings, block ids, and word counts. For a simple outline retrieval, this provides sufficient context for the agent to understand the tool's scope.

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% for the single parameter 'id'. The description does not add any additional meaning beyond what the schema provides. Per the rubric, baseline is 3 when coverage is high, and there is no extra semantic value in the 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 uses a specific verb ('Get') and clearly defines the resource ('document's heading outline with block ids and per-section word counts'). It distinguishes from siblings like read_document by explicitly framing it as a cheap orientation tool, making the purpose unmistakable.

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 guides the agent on when to use this tool: 'Cheap way to orient in a long document before reading specific sections'. It implies that for full content reading, one would use read_document. However, it does not explicitly state when not to use it or list alternative tools, so it loses one point.

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

get_recent_changesGet recent changesA
Read-only
Inspect

See what changed in a document since YOU last looked at it — e.g. edits the human (or another collaborator) made in between. Returns added, removed, and changed blocks (with block ids), all in the accepted/projected state. Great for catching up before continuing work ("how does it look now?"). The first call on a document just establishes a baseline. Each call advances your baseline to the current state.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNoResult note or truncation guidance
addedNoAdded blocks
sinceNoISO timestamp for the previous baseline
changedNoChanged blocks
removedNoRemoved blocks
summaryNoExact changed-block counts
baselineEstablishedNoTrue when this first call only established a baseline
Behavior5/5

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

Annotations already indicate read-only and non-destructive. The description adds key behavioral traits: returns blocks with ids, states (accepted/projected), and the baseline advancement behavior.

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?

Description is concise, well-structured, and front-loaded with purpose. Every sentence adds value without 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?

Given output schema exists, description adequately covers return values and behavioral nuances. The simple param set and clear annotations make it complete.

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% with clear parameter description. Description adds no extra meaning beyond what schema provides, so 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 clearly states the verb ('See') and resource ('recent changes') with a specific scope since the user last looked. It clearly distinguishes from siblings like read_document or get_document_info by focusing on changes.

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 states when to use ('catching up before continuing work'), explains the baseline mechanism, and implies not for other purposes. No exclusions needed.

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

import_documentImport document (no account)AInspect

Create a Revise document from a file at a public http(s) URL (.md, .markdown, .txt, .html, .htm, .docx, .rtf, .odt; PDFs/images not yet supported). The server fetches the URL — file bytes are never passed inline. For a LOCAL file, use upload_document instead (it streams the file to the server). Returns the new document id and URL. Returns url (give it to your user — they view the document and create a free account to keep it, in one step) and edit_token (your Bearer token for future edits). The document is private and deleted after 7 days if unclaimed.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http(s) URL of the file for the server to fetch
titleNoDocument title
filenameNoFilename override — its extension selects the converter (otherwise taken from the URL)
created_byNoYour name (e.g. "Codex", "Claude") so the user sees who made the document. Recommended.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesDocument ID
urlYesEditor URL
notesYesHuman-facing claim and retention notes
titleYesDocument title
edit_tokenYesBearer token scoped to this document for future read/edit calls
unlock_moreYesAgent-facing guidance for authenticating to unlock more tools
Behavior5/5

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

Discloses key behaviors beyond annotations: server fetches URL (not inline), document private and deleted after 7 days if unclaimed, and that the edit_token is for future edits. 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?

Four sentences, no redundant words, front-loaded with core action, each sentence adds essential information. Example of excellent conciseness.

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?

Covers input (URL, options), process (server fetch), output (id, url, edit_token), and lifecycle (7-day deletion, claiming). No gaps given the tool's complexity and available metadata.

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?

Though schema has 100% coverage, the description adds value by explaining that URL must be public http(s), filename override selects converter, and created_by is recommended for user visibility. Returns are also explained.

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 it creates a Revise document from a public HTTP(S) URL, lists supported formats, and contrasts with upload_document for local files, making the purpose unambiguous and distinct from sibling 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?

Explicitly tells when to use this tool (public URL), when not to (local files), and names the alternative (upload_document). Also notes unsupported formats (PDFs/images), providing clear usage boundaries.

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

insert_footnoteInsert footnoteA
Idempotent
Inspect

Insert a footnote: a numbered superscript reference placed immediately after the anchor text inside a paragraph, plus the footnote body (shown at the bottom of the page, or as an endnote in pageless documents). On substantial documents this lands as a pending tracked change by default, like edit_document. Footnote bodies appear in read_document as [^n]: definitions with their own block ids — edit or remove them with the normal editing tools (removing a footnote body also removes its reference, and vice versa).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
findYesAnchor text inside the block; the reference is inserted right after it. Pass an empty string to append at the end of the block.
kindNoNote stream: footnote (per-page bottom area, numbered 1,2,3 — default) or endnote (grouped on its own page at the document end, numbered i,ii,iii)
modeNosuggest: pending tracked change (default on documents with 20+ words); apply: insert directly
textYesFootnote body text
block_idYesParagraph block that gets the reference (from read_document with_block_ids)

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYesinserted directly, or left as a pending tracked change
suggestion_idNoPending suggestion id when status is suggested
footnote_labelNoDisplay label as it appears in the text: arabic for footnotes, lowercase roman for endnotes
footnote_numberNoPer-stream index of the new note
footnote_block_idNoBlock id of the footnote body (editable with block tools)
Behavior5/5

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

Discloses that on substantial documents it lands as a pending tracked change by default, similar to edit_document. It explains the relationship between footnote body and reference. No contradiction with annotations (idempotentHint=true is consistent).

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?

It is concise with three well-structured sentences, front-loading the core purpose. Every sentence adds value without 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?

Given the presence of an output schema (context signals indicate yes), the description does not need to explain return values. It sufficiently covers behavioral aspects, parameter context, and inter-tool relationships.

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 baseline 3. The description adds meaning by explaining that 'find' is anchor text after which the reference is inserted, and that empty string appends at end. Also clarifies 'kind' (footnote vs endnote) and 'mode' (apply vs suggest) beyond enum values.

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 it inserts a footnote with a numbered superscript reference and footnote body. It distinguishes itself from sibling tools like edit_document and implies its specific role among document editing 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?

It provides context for when to use (inserting footnotes) and mentions that footnote bodies can be edited/removed with normal editing tools, with a note about removal symmetry. It lacks explicit 'when not to use' but is sufficient.

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

read_documentRead documentA
Read-only
Inspect

Read a Revise document's content. Use format "markdown" (default) for editing workflows, "text" for plain text. Set with_block_ids to true to interleave anchors usable with edit_document. view controls how pending tracked-change suggestions read: "final" (default, as if accepted) or "original" (as if rejected).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
viewNoProjection of pending suggestions: final = accepted (default), original = rejected
formatNo
with_block_idsNoInterleave block id anchors (markdown format only)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesDocument ID
formatYesReturned format
contentYesDocument content in the requested format
with_block_idsNoWhether markdown block anchors were included
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds behavioral details: how view affects pending suggestion projection, and how format and with_block_ids modify the output. No contradictions.

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 dense, front-loaded sentences with no redundancy. Every sentence adds unique value: purpose, format/block ids usage, and view behavior. Efficient and easy to parse.

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 presence of output schema and annotations, the description adequately covers usage context and parameter behavior. It implicitly addresses the tool's role among siblings (e.g., editing workflow). Minor omission: no explicit mention of the response being the full document content, but output schema likely covers this.

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 covers 75% of parameters with descriptions. The description adds context for format (explaining default and use cases) and with_block_ids (linking to edit_document), going beyond schema details. View parameter is similarly clarified.

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 'Read a Revise document's content' with a specific verb and resource. It distinguishes from siblings like get_document_info by focusing on content retrieval, though it doesn't explicitly list all alternative 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?

Provides clear guidance on when to use each format (markdown for editing, text for plain text) and how with_block_ids enables use with edit_document. Also explains view parameter for tracked suggestions. Lacks explicit 'when not to use' but sufficient for parameter selection.

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

rename_documentRename documentA
Idempotent
Inspect

Change a document's title.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
titleYesNew document title

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleYesNew title
statusYesRename status
Behavior3/5

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

The description does not contradict annotations (idempotentHint true, destructiveHint false) but adds minimal extra context. It merely restates the action without elaborating on side effects or behavior beyond what annotations already 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?

A single, well-formed sentence communicates the tool's purpose with zero wasted words. It is front-loaded and easy to parse.

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 tool's simplicity (2 params, full schema coverage, annotations, and output schema present), the description is sufficient. It could optionally mention idempotency or return value, but annotations and output schema cover those aspects.

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 explains both parameters adequately. The tool description adds no new meaning beyond 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?

The description clearly states the action ('Change') and the specific resource ('a document's title'), distinguishing it from sibling tools like edit_document or export_document. It is precise 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 Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as edit_document or replace_document_content. The agent receives no context about prerequisites or exclusions.

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

replace_document_contentReplace document contentA
Destructive
Inspect

Replace the ENTIRE content of a document with new markdown. Destructive: existing content is removed (it remains recoverable via the document's revision history). Prefer edit_document for targeted changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
content_markdownYesNew full document content

Output Schema

ParametersJSON Schema
NameRequiredDescription
blocksYesNumber of blocks in the new content
statusYesReplacement status
Behavior4/5

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

Annotations already declare destructiveHint=true. Description adds context that existing content remains recoverable via revision history, which is beyond what annotations 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?

Two sentences, no filler. Front-loaded with the core function, then constraint and alternative. Every sentence 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?

Given the simplicity of the tool (2 params, no output schema needed), the description covers the core behavior, destructive nature, and recoverability. Could mention markdown format constraints but sufficient.

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%. Description adds 'new markdown' for content_markdown, but it's largely redundant with the schema descriptions. 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?

Description clearly states it replaces the entire document content with new markdown. It distinguishes from sibling edit_document by indicating that tool is for targeted changes.

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 states when to use (replace entire content) and when not (prefer edit_document for targeted changes). Also mentions recoverability via revision history.

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

resolve_suggestionsAccept or reject your suggestionsA
Idempotent
Inspect

Accept or reject the tracked-change suggestions YOU made on a document — only your own, never the user's edits or another agent's suggestions. Use this when the user approves your suggested changes (e.g. they say "lgtm" / "looks good") to apply them on their behalf, or asks you to withdraw them. Covers the whole document by default; pass block_ids to limit to specific blocks. (Edits made with edit_document in "apply" mode are already applied — this is for edits left as suggestions in "suggest" mode.)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
kindNoLimit to one kind of change (Word-style review filter): insert = added text/blocks, delete = removed text/blocks, format = formatting-only changes; omit for all kinds
actionYesaccept: apply your suggested changes; reject: withdraw them
block_idsNoLimit to suggestions in these blocks (from read_document with_block_ids); omit to review the whole document

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNoWhy no suggestions were resolved
statusYesSuggestion resolution outcome
resolvedChangeRegionsNoResolved change-region count
Behavior4/5

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

Annotations already provide idempotentHint=true and destructiveHint=false. The description adds that it only affects the agent's own suggestions, covers the whole document by default, and can be limited to specific blocks. It does not contradict annotations, though more detail on error conditions could improve transparency.

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 concise, with two main sentences plus parenthetical clarifications. It front-loads the key purpose and usage context, with no extraneous words.

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 tool's moderate complexity (4 parameters, 2 enums, output schema exists), the description covers purpose, usage, scope, and differentiation from sibling tools, making it complete for an agent to select and invoke correctly.

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?

Schema description coverage is 100%, and the description adds valuable context beyond the schema: it explains default behavior (whole document), the effect of block_ids, and clarifies the action parameter meanings.

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 the tool accepts or rejects tracked-change suggestions made by the agent, specifying the verb 'accept/reject' and the resource 'your own suggestions'. It distinguishes from siblings like edit_document by noting that this tool is for suggestions left in 'suggest' mode.

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 guidance is provided: use when the user approves ('lgtm'/'looks good') or asks to withdraw. It also explains when not to use (if edits were already applied via edit_document in 'apply' mode), helping the agent choose correctly.

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

search_within_documentSearch within documentA
Read-only
Inspect

Find where a query matches inside one document. Returns the matching blocks as markdown with anchors (usable with edit_document), each with a few neighboring blocks for context. Case-insensitive.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
queryYesText to find (case-insensitive)
context_blocksNoNeighboring blocks to include on each side (default 2)

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNoResult note or truncation guidance
queryYesSearch query
groupsNoContext groups containing matches
totalMatchingBlocksYesMatching block count
returnedMatchingBlocksNoNumber of matching blocks returned in this response
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description correctly adds value by explaining the return format (markdown with anchors) and case-insensitivity. It does not contradict 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 concise sentences, front-loaded with the core purpose. No unnecessary words. Every sentence adds value.

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 presence of an output schema (context signal), the description does not need to explain return values. It covers key behavioral aspects (anchors, context, case-insensitivity) and is complete for a search tool with three parameters.

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 schema describes parameters. The description adds useful context: 'case-insensitive' for query, and 'neighboring blocks for context' aligns with context_blocks parameter. It goes beyond 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?

The description clearly states the tool's action (find matches), the resource (one document), and the output format (markdown with block anchors and context). It distinguishes itself from sibling tools like read_document or get_document_outline by focusing on search within a document.

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 implies when to use (search within a document) and mentions the output is usable with edit_document. It does not explicitly state when not to use it, but the context from sibling tools fills that gap. Minor improvement could be to mention it's for targeted search, not full content retrieval.

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

set_page_layoutSet page layoutA
Idempotent
Inspect

Set a document's page layout: page size, orientation, margins, page numbers, line/paragraph spacing, pageless mode, or the APA-7 preset. Length values are strings with explicit units (e.g. "1in", "2.54cm", "72px").

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID
marginNoUniform margin for all sides, e.g. "1in"
presetNoLayout preset applied before other overrides
pagelessNoEnable pageless (continuous) mode
note_modeNoBulk-convert every note in the document to this stream: footnotes (per-page bottom areas, numbered 1,2,3) or endnotes (grouped on their own page at the end, numbered i,ii,iii). Individual notes choose their stream at insert time via insert_footnote
page_sizeNoNamed page size
margin_topNo
margin_leftNo
orientationNo
margin_rightNo
block_spacingNoVertical spacing between blocks, e.g. "0.125in"
margin_bottomNo
page_number_startNo
show_page_numbersNoShow/hide page numbers (managed as an automatic header/footer page-number field slot; hand-authored header/footer content is never overwritten)
page_number_positionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYesLayout update status
appliedYesApplied layout settings
Behavior3/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds that length values use explicit units but does not disclose other behavioral traits such as whether changes are applied incrementally or override existing settings. The description adds minimal transparency beyond 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 sentences efficiently cover the tool's scope and a crucial detail about unit formatting. No extraneous information; every sentence 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?

Given the complexity (15 parameters, 1 required) and the presence of an output schema, the description provides a sufficient high-level overview. While it does not detail every parameter, the schema descriptions fill gaps, and the description gives the essential scope.

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 53% (low), but the description adds meaning by naming key parameters and clarifying that length values are strings with explicit units (e.g., '1in', '2.54cm'). This compensates for some undocumented schema fields, though not all parameters (e.g., note_mode, page_number_start) are mentioned.

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 the tool's purpose: 'Set a document's page layout' and lists all supported aspects (page size, orientation, margins, etc.). It uses a specific verb ('Set') and resource ('document's page layout'), differentiating it from sibling tools like 'edit_document' or 'create_document'.

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 used for page layout modifications but provides no explicit guidance on when to use it versus alternatives. No when-not or exclusion criteria are mentioned, leaving the agent to infer from context.

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

upload_documentUpload a document file (no account)AInspect

Create a Revise document from a LOCAL file (docx, md, txt, html; PDFs/images not yet supported) without a Revise account and without putting its bytes in your context. Returns a one-time upload_url and a ready-to-run curl command — run the curl to stream the file. The curl response contains url (give it to your user — they view the document and create a free account to keep it, in one step) and edit_token (your Bearer token for future edits). For a public http(s) URL or a tiny inline file, use import_document instead. The document is private and deleted after 7 days if unclaimed.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesThe file's name (its extension selects the converter)
created_byNoYour name (e.g. "Codex", "Claude") so the user sees who made the document. Recommended.

Output Schema

ParametersJSON Schema
NameRequiredDescription
curlYesReady-to-run curl command for the upload
nextYesWhat to do after reserving the upload
expires_inYesSeconds until the upload URL expires
upload_urlYesOne-time upload endpoint
Behavior5/5

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

Despite sparse annotations, the description comprehensively discloses behavioral traits: file is uploaded without bytes in context, returns one-time upload_url and curl command, response contains url and edit_token, document is private and deleted after 7 days if unclaimed. 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.

Conciseness4/5

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

The description is slightly long but well-structured, front-loaded with purpose, and each sentence provides essential information without redundancy. Could be marginally tighter but overall effective.

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 complexity of a no-account file upload tool, the description covers all necessary aspects: purpose, file type constraints, alternative workflow, output fields, and document lifecycle. The presence of an output schema reduces the need to describe return values.

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 baseline is 3. The description adds value by explaining that the filename extension selects the converter and that created_by is recommended for user visibility, going beyond the schema definitions.

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?

Clearly states it creates a Revise document from a local file, specifies supported formats (docx, md, txt, html) and explicitly excludes PDFs/images. Also differentiates from the sibling tool import_document.

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?

Provides explicit when-to-use (local files) and when-not-to-use (public URLs or tiny inline files) with a direct reference to the alternative tool import_document. Also outlines the workflow: returns upload_url and curl command.

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

Discussions

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

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources