Skip to main content
Glama

open_document

Open a user-named document from a filesystem, SharePoint, or OneDrive source, register it, and return its inspection in one call to skip separate registration and inspection.

Instructions

Open a document the user named by source: registers it and returns its inspection in one call - use this instead of register_document followed by inspect_document. source is connection-specific, exactly as for register_document: a path under a filesystem connection's root, or a SharePoint/OneDrive URL or 'driveId/itemId' pair. Returns {connectionId, documentId, name, contentType, version} followed by the inspect_document payload (snapshot, outline, paragraphs, contentControls, nodes, styles). Keep documentId for follow-up calls; paging works as in inspect_document.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rangeYes
sourceYes
sheetIdYes
fidelityYescontent
connectionIdYes
maximumCellsYes
paragraphLimitYes
paragraphOffsetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A4.2/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 burden and does so well: it discloses the side effect (registers the document), the connection-specific nature of source, the accepted source formats (filesystem path, SharePoint/OneDrive URL, driveId/itemId), and the returned field set plus inspect payload. It omits permission/auth requirements and any idempotency or collision behavior, which keeps it short of a 5.

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 core action and the sibling-routing instruction, then progressively discloses source formats, return fields, and paging. It is dense but every sentence conveys operational information; only the exhaustive enumeration of payload fields borders on excess.

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 an 8-parameter, no-annotation, no-output-schema composite tool, the description helpfully spells out the return shape and follow-up guidance. However, it leaves the fidelity/sheetId/range/maximumCells parameters unexplained, which is a notable gap given the complete absence of schema descriptions and annotations.

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 0%, so the description must compensate, and it only partially does: 'source' and the paragraph paging behavior are explained in useful detail. connectionId, fidelity, sheetId, range, and maximumCells are not described at all, leaving five of eight parameters without any semantics anywhere.

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 ('Open a document the user named by source') and defines the composite behavior ('registers it and returns its inspection in one call'). It explicitly names the sibling tools it replaces, so an agent can distinguish it from register_document and inspect_document 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?

Directly instructs 'use this instead of register_document followed by inspect_document', giving both the alternative and the condition that selects this tool. The follow-up note ('Keep documentId for follow-up calls; paging works as in inspect_document') further routes subsequent calls.

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