Skip to main content
Glama

Get document info

get-document-info
Read-only

Gets information about a document.

Use this tool when:

  • You have a document's UUID and want to know more details about it. e.g. who is signing it, what values its dynamic fields or metadata have, etc

Called with no include parameter, returns the document's parties, teams, details, signatories, signing settings and workflow state. Use include to name the sections you want instead - among them dynamic_fields, conditions, metadata_values, signature_blocks, summary_text, tags and timestamps - and the response carries exactly those, so a question about one aspect of a document costs one section rather than the whole document.

This tool covers a single document. Whenever possible avoid calling it once per document to gather the same information about several documents: list-documents returns parties, teams, tags and timestamps for a whole list via its include parameter, and specific metadata values for a whole list via its include_metadata parameter. Pass the UUIDs you already have to its filter_document_uuids parameter to get exactly the documents you are interested in.

The default response lists both the document's parties (the contracting entities, frequently organizations) and its signatories (the individual people who sign). These are distinct: a person often signs on behalf of a party (e.g. a business) without appearing as a party, so consider the signatories — not just the parties — when answering whether a specific named person is involved in or signs a document.

The dynamic_field_visibility argument narrows the dynamic_fields section to the fields that appear in the document itself, or to the ones that do not. A field belonging to a document is not necessarily written into it: fields get added and then never placed in the text, or the passage that referred to one gets rewritten, leaving a value no reader ever sees. Not every not_visible field is idle, though. Some exist only to drive a condition deciding which clauses the document shows, so they shape the contract without appearing in it (you can use the "conditions" include option to see which fields drive which conditions). Others sit inside a passage that a currently inactive condition removes, so they would appear if that condition flipped. Use "visible" when the question is about what the contract currently says. dynamic_field_visibility has no effect unless dynamic_fields is among the returned sections.

The workflow_state object - in the response by default, and requestable via include alongside other sections - describes what can currently be done with the document: whether the signing process can be started at all, which stages the document can be moved on to and everything standing in the way of each of them (stage_transitions, whose blockers say why), whether the requesting user can start signing, and — when a checkpoint blocks progress — who still needs to approve. Use it to answer questions like "why can't I sign this yet?", "what is blocking this document?" or "who still has to sign?", answering with the full list rather than one problem at a time. It is technical state, not display content: relay it to the user as natural-language prose and never echo raw field names or snake_case values.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includeNoThe sections the response carries, on top of the document's identity (uuid, name, stage, document type, url) which it always carries. Naming sections means exactly those: ask for one section and you pay for one, rather than for the whole document. If omitted, these are returned: parties, teams, details, signatories, signing_settings, workflow_state.
document_uuidYesUUID of the document to get information about. If you don't already have the document's UUID, use the list-documents tool to find it.
dynamic_field_visibilityNoNarrows the dynamic_fields section to the fields that appear in the document's content ("visible") or to the ones that do not ("not_visible"). Defaults to "all", which returns every field. Only has an effect when dynamic_fields is among the returned sections.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoURL to open the document in fynk
nameNoName of the document
tagsNoThe tags on the document. Tags are the account's own classification labels (e.g. relationship type, commercial significance, region), so they show which categories this account uses and can be filtered on with filter_tags. Only present when the 'tags' section is requested via the include parameter.
uuidNoUnique identifier for the document. Do not show to the user unless they ask for it
stageNoWhat stage the document is in currently
teamsNoThe teams the document is assigned to. Only present when the 'teams' section is requested via the include parameter.
localeNoLocale code, e.g. en-GB, de-AT. Absent when the document has none set. Prefer describing the locale in natural language (e.g. 'British English') rather than showing the raw code. Only present when the 'details' section is requested via the include parameter.
originNoHow the document was created. Only present when the 'details' section is requested via the include parameter.
partiesNoThe contracting entities on the document. Only present when the 'parties' section is requested via the include parameter.
conditionsNoThe document's conditions: rules over its dynamic fields deciding whether a passage of the document applies, and whether each currently holds. Use them to explain why a clause is or is not part of the document, and what would have to change to flip it. Only present when the 'conditions' section is requested via the include parameter.
created_atNoWhen the document was created. Only present when the 'timestamps' section is requested via the include parameter.
updated_atNoWhen the document was last updated. Only present when the 'timestamps' section is requested via the include parameter.
archived_atNoWhen the document was archived. Absent when the document is not archived. Only present when the 'timestamps' section is requested via the include parameter.
signatoriesNoThe individual people who sign the document. Distinct from parties: a signatory often signs on behalf of a party (e.g. a business), so a person may be a signatory without appearing as a party. Only present when the 'signatories' section is requested via the include parameter.
_entity_typeNoOnly relevant for tooling. Do not show to the user
summary_textNoA summary of the document content. Absent when the document has no summary. Only present when the 'summary_text' section is requested via the include parameter.
document_typeNoIf present, indicates what kind of document this is. Absent when the document has no type assigned
dynamic_fieldsNoThe document's dynamic fields and their values. Only present when the 'dynamic_fields' section is requested via the include parameter.
signature_typeNoeIDAS assurance level used when signing the document. Absent when none has been chosen. Only present when the 'signing_settings' section is requested via the include parameter.
workflow_stateNoGives an indication of which stage transitions, etc are possible to perform on this document. This object is technical state, not display content: when relaying it to the user, always render it as natural-language prose and never echo raw field names or snake_case values (e.g. say 'signing cannot be started yet because not every signature block has been assigned to a signatory' instead of mentioning 'can_start_signing' or 'signature_block_signatory'). Only present when the 'workflow_state' section is requested via the include parameter.
metadata_valuesNoThe document's metadata fields and their values. Only present when the 'metadata_values' section is requested via the include parameter.
signature_blocksNoThe places in the document that are signed. A block is bound either to a single signatory or to a party, in which case every signatory of that party signs it. Every signatory needs a block covering them before signing can be started. Only present when the 'signature_blocks' section is requested via the include parameter.
sequential_signingNoWhen true, signatories sign one at a time, in ascending order of their signing_order. Only present when the 'signing_settings' section is requested via the include parameter.
source_template_uuidNoUUID of the template the document was created from. Absent when it was not created from a template. Only present when the 'details' section is requested via the include parameter.
external_signatory_invitation_messageNoText shown in the email inviting external signatories to sign. Absent when no message is set. Only present when the 'signing_settings' section is requested via the include parameter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already establish read-only, non-destructive, closed-world behavior. The description adds substantial extra context: the default returned sections, workflow_state semantics and how to relay them, the parties-vs-signatories distinction, and the nuanced meaning of dynamic_field_visibility including inactive-condition fields.

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 very long and dense for a three-parameter tool. Several passages, especially the dynamic_field_visibility explanation, are expanded well beyond what is needed to select and invoke the tool.

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?

An output schema exists, so the description need not explain return values. It nevertheless provides the cross-tool routing, default-section behavior, and interpretation guidance needed to use this complex single-document tool correctly.

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 100%, so the baseline is 3. The description still adds meaning by framing include as a cost-control mechanism, listing the default sections, and clarifying that dynamic_field_visibility has no effect unless dynamic_fields is among the returned sections.

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 ('Gets information about a document') and immediately distinguishes the single-document scope from the list-documents sibling for multi-document needs. An agent can identify the tool's role without opening the 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?

Gives explicit when-to-use conditions (you have a document UUID and need more details) and when-not/alternative guidance (avoid calling once per document; use list-documents with filter_document_uuids and include_metadata for several documents). It also explains how include and dynamic_field_visibility should be applied.

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