Skip to main content
Glama

Create a Postlyra post draft

create_post_draft

Use this when creating a Telegram draft. Read get_formatting_capabilities; prefer finished richDocument, which overrides text/preset/template. Bind mediaFile1..mediaFile6 or mediaFiles slots as media.src. Returns draftId, JPEG and public preview link. Display the image in the FINAL answer via native attachment or display.imageMarkdown. Inspect preview_post. May fetch external image URLs during import or screenshot rendering. Never publishes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoOptional user-approved draft text supplied by ChatGPT.
styleNoNatural style request from the user, for example beautiful, premium, business, blog, presentation, informal, real-estate, launch, or landing-page-like. Use this as guidance, not literal post copy.
topicYes
languageNo
channelIdNoOptional owner-bound Postlyra channel id or exact title returned by list_channels.
structureNoDesired content structure in natural language. Mention available facts such as gallery, CTA, comparison, details, map, report, changelog, or before/after.
mediaFile1NoActual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement.
mediaFile2NoActual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement.
mediaFile3NoActual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement.
mediaFile4NoActual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement.
mediaFile5NoActual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement.
mediaFile6NoActual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement.
mediaFilesNoAlternative file array for clients supporting file arrays. Prefer mediaFile1..mediaFile6 otherwise. At most 6 files total across slots and array; use mediaFiles[0] etc. as richDocument src bindings.
referencesNo
templateIdNo
formatPresetNoOptional Postlyra formatting preset/layout recipe. Leave unset when the user did not name one; Postlyra will infer a recipe from topic, style, structure, and references.
richDocumentNoPreferred finished layout: {version:1, blocks:[...]}. Overrides text, template and preset. Call get_formatting_capabilities for exact block/inline schemas and examples. For uploaded images use media.src="mediaFile1" etc. with the corresponding file in this call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
textNo
titleNo
localeNo
statusNo
displayNo
draftIdYes
messageYes
richHtmlNo
updatedAtNo
previewUrlYes
screenshotNo
documentJsonNo
inlineButtonsNo
screenshotUrlNoJPEG screenshot of the saved Telegram preview; null if rendering is temporarily unavailable.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false; the description adds genuine value by stating 'Never publishes' (draft-only side effect) and 'May fetch external image URLs during import or screenshot rendering' (network behavior), consistent with openWorldHint=true. It stops short of noting rate limits or non-idempotency consequences.

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 dense and front-loads the core use case, then packs workflow steps into short imperative fragments. Every clause carries information, though the telegraphic fragment style is slightly choppy rather than smoothly structured.

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 17-parameter tool with nested objects and an output schema, the description covers the key workflow, precedence, media binding, external-fetch behavior, and non-publishing guarantee. Return values are noted even though an output schema exists, making it nearly complete, with only edit-vs-create routing left implicit.

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 76%, which already documents most parameters including the richDocument override rule and media slot bindings. The description reiterates the media.src binding (mediaFile1..mediaFile6 or mediaFiles) and the override precedence, adding little beyond the schema, so the baseline of 3 is appropriate.

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 opening sentence gives a specific verb and resource ('creating a Telegram draft'), which is clear and actionable. It distinguishes itself from publishing siblings via 'Never publishes,' but does not explicitly separate itself from update_post_draft or attach_media_to_draft, so sibling differentiation is partial.

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?

Strong workflow routing: 'Read get_formatting_capabilities,' 'prefer finished richDocument,' and 'Inspect preview_post' tell the agent exactly what to do before and after. It also gives a precedence rule (richDocument overrides text/preset/template). It lacks an explicit when-not-to-use clause or a pointer to update_post_draft for edits.

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.