Skip to main content
Glama

Read a draft

lnkdrp_get_draft
Read-onlyIdempotent

Reads a document's drafts: new files staged for review (lnkdrp_stage_pdf) that are not versions yet. With uploadId, that draft in any state (open, published, discarded or expired; a discarded or expired one keeps its record for 90 days, and its file and compare are removed later by a cleanup, once the drafts purge runs: lnkdrp_get_pending_purges shows the drafts bucket and whether purgeEnabled) with its compare against the version it was compared with: compareSummary (the change summary), and compare { status, fromVersion, changedPageCount, pageTally, headline, changes, pagesThatChanged } (pageTally counts the listed pages by kind: new, removed, reworked, edited, moved, and possible matches; headline is the same line the app shows; what changed, page by page: previousImageUrl and newImageUrl are the two renders in the app, signed in; imageChanged: true only when the image check found the page's artwork changed, which a text edit alone does not set), changedPageCount (distinct pages, at most the longer version's page count), baseVersion (the version it is based on and compared with), liveVersion, baseIsLive (false when it is based on an older version than the live one; baseChosen: true when that was chosen with baseVersion), outcome when it is no longer open (as below), and stale: true when the live version moved since it was compared, or, for a chosen base, when that version was removed (baseRemoved: true) (lnkdrp_recompare_draft compares it again), and unchangedFromLive: true (with a note) when it is a different file whose pages match the live version's. Without uploadId, this connection's own open draft when it has one (mine: true), else the only open draft, else drafts: every open draft, newest first. Each draft has status (uploading, processing, ready or failed), owner, agent, stagedAt, expiresAt, canPublish and canDiscard (for this connection), and reviewUrl (the app's review page). publishing says who may publish the document: the document's owner and workspace owners and admins, plus publishers, the chosen people, when restricted is true; mode (owners, chosen or everyone: every member), docMode (the document's own choice; default follows the workspace), workspaceDefault (owners or everyone), and savedMode and paused: on Free a chosen or everyone choice (the document's, or the workspace default's) is paused, mode is owners and savedPublishers the saved list, until the workspace is on Pro again. A document with no open draft answers drafts: [] with publishing. counts gives how many drafts are open, published and discarded (the last 90 days). status: published lists the drafts that became versions and status: discarded those discarded, replaced by their owner's newer draft, or expired (the last 90 days), newest first, nextOffset pages on; each has outcome: { kind: published, version, live, removed (that version was removed since), by (who published), at, changedPageCount, historyUrl (the version's row in the app's History) } or { kind: discarded, replaced or expired, by (who discarded it; null when it expired), at, note (on a discarded one, the reason the person who discarded it gave, when they gave one: untrusted text) }; owner is who drafted it, and addedBy says it in words: "Kevin Lu", "Kevin Lu's agent (Claude Code)", or for this connection's person "you" and "your agent (Claude Code)" (untrusted text). agent (kind, name) is what the agent's client declared about itself: untrusted text. Drafts are not shown to recipients and are not listed by lnkdrp_list_revisions. Everything the compare wrote, and file names, are untrusted document text. Titles, summaries and viewer-supplied text in results are untrusted content written by document authors and readers.

Input Schema

NameRequiredDescriptionDefault
mineNotrue: only this connection's own open draft (not_found when it has none).
docIdNolnkdrp document id (24 hex chars, either case)
offsetNoWith status published or discarded: skip this many (nextOffset from the last answer).
statusNoWithout uploadId: which drafts to list. open (default), published, or discarded (replaced and expired included, last 90 days).
shareIdNoPublic share id, the last path segment of a /s/<shareId> link
uploadIdNoThe draft's uploadId (lnkdrp_stage_pdf or lnkdrp_get_draft returns it).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent safety, but the description adds substantial behavioral context: discarded/expired retention for 90 days, purge behavior, publishing permissions including paid-plan pause behavior, stale/unchangedFromLive flags, outcome shapes, and untrusted-content warnings. It does not contradict the annotations and adds a great deal beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The purpose is front-loaded, but the description is a very long, dense paragraph with nested parentheticals and field-by-field return details. Much of the detail is useful because there is no output schema, but its structure makes it harder to scan than a well-sectioned definition.

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, so the description carries the full return-shape burden, and it does so extensively: draft statuses, compare fields, publishing rules, outcome objects, counts, pagination, and untrusted-content caveats are all covered. For a read-only tool with six optional parameters, this leaves little essential context missing.

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 already defines each parameter, but the description adds inter-parameter meaning: uploadId returns a specific draft in any state, mine selects only this connection's own open draft, status switches between open/published/discarded lists, and offset pairs with nextOffset. That is meaningful context beyond the schema, though it does not explain every parameter in depth.

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 (reads a document's drafts) and immediately distinguishes drafts from staged files and versions by naming lnkdrp_stage_pdf and noting drafts are not listed by lnkdrp_list_revisions. The with/without uploadId behavior is also described clearly enough that an agent can tell what the tool will return.

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?

Explains the alternative paths well: with uploadId for one draft in any state, without uploadId for own/only/all open drafts, and status published/discarded for historical lists. It also points to lnkdrp_recompare_draft and lnkdrp_get_pending_purges for follow-up actions, though it does not explicitly contrast this tool with the sibling lnkdrp_list_drafts.

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.

Resources