Skip to main content
Glama

PaperOffice AI

Documents Create From Content

po_documents_create_from_content

WRITES DATA. Creates or changes data in the workspace. Create a PDF document from Markdown or HTML content in a workspace (output is always PDF; optional idempotency_key makes retries safe).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleNoDocument title (also used as the filename)
contentYesMarkdown or HTML source (required). Not html_content.
languageNoLanguage for formatting (de/en)de
metadataNoMetadata as key-value pairs (stored as IDP fields).
priorityNoLEGACY queue weight (numeric). Prefer processing_lane (Start-SLA). If processing_lane is set, the lane wins. Do not use as the public SLA product.
custom_cssNoAdditionals CSS for the PDF-Layout
footer_htmlNoHTML for footer
header_htmlNoHTML for page header
content_typeNoInput format: markdown (default) or html. HTML is sanitized: scripts, frames, forms, event handlers and remote resources are removed.markdown
workspace_idYesTarget workspace ID (required). Use po_workspaces_list to find valid workspace IDs.
auto_classifyNoRequest an additional explicit classification run after creation. This flag does NOT switch off the workspace AI-DMS automation: if the target workspace has AI-DMS enabled, the new document is processed and charged regardless of this flag (see processing_policy in the response). Check the workspace with po_workspaces_list (ai_dms_mode) before creating.
output_formatNoOnly "pdf" is supported; any other value is rejected with UNSUPPORTED_FORMAT.pdf
idempotency_keyNoOptional client-chosen key (8-128 chars). Same key + same payload within 24h replays the stored document (idempotent_replay=true, charged_this_request=0). Same key + changed payload is rejected with IDEMPOTENCY_CONFLICT (HTTP 409) — no second document, no charge. Use a new key for changed content.
processing_laneNoStart-SLA lane (wait-to-start guarantee, not completion). Values: no_sla (fair use ×1), sla_24h (×1.5), sla_12h (×2), sla_6h (×3), sla_1h (×4), instant (×5 interactive start). Prefer this over legacy numeric priority. If omitted: workspace default_processing_lane, else no_sla.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hintNo
textNo
pofidNo
job_idNo
statusNo
detailsNo
messageNo
_warningsNo
file_nameNo
retryableNo
error_codeNo
http_statusNo
display_nameNo
documents_idNo
workspace_idNo
_billing_summaryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior3/5

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

The 'WRITES DATA' warning duplicates the readOnlyHint=false annotation, and 'Creates or changes data' is vague about effects. It does add useful behavior beyond annotations ('output is always PDF; optional idempotency_key makes retries safe'), but it omits side-effect context like charges or workspace AI-DMS processing that the schema hints at.

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 short and front-loaded with the write warning. However, 'WRITES DATA' and 'Creates or changes data in the workspace' are redundant, so it is not perfectly economical.

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?

For a 14-parameter write tool, the description is minimal, but the input schema is exhaustive and an output schema exists. The description provides the core purpose, output format, and retry safety, which is enough to select and invoke the tool correctly when combined with the schema.

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 every parameter in detail. The description adds only general context about content format and retries, not new parameter-level meaning.

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 and resource: 'Create a PDF document from Markdown or HTML content in a workspace.' It also states output is always PDF, which clearly distinguishes it from sibling document tools like po_documents_search or po_documents_upload_url_get.

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 gives a clear use context: creating a PDF from Markdown/HTML and using an idempotency_key for safe retries. It does not explicitly name alternatives or give exclusion criteria, so it falls short of a 5.

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