Skip to main content
Glama

Channels: write a post draft

create_post_draft
Idempotent

Write a post DRAFT for one of the person's channels — words only (up to 1000 characters) and an optional short name for the draft. Nothing is published and nobody is reached: the draft lands as a card in the person's Stream (Hem) and opens Studio's composer, where they add photos, check it and publish or schedule it themselves. Use it when the person asks you to draft a post; write in their voice and the channel's language, never invent people, numbers or quotes. An image can't be added from a link: pass imageUrl and it's handed back for the person to add in the app (nothing fetches it). Then schedule_post can note when they want it out.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesThe post's words, as they should appear (max 1000 characters), e.g. "Lördagens löprunda: vi ses vid Ribersborg 09:00, alla tempon välkomna."
titleNoA short name for the draft on the card (not part of the post), e.g. "Lördagsrundan".
channelNoWhich of the person's channels: its channelId from list_my_channels, its @name or its name, e.g. "Löpsöder" or "@lopsoder". May be left out when they have exactly one.
imageUrlNoAn https link to an image the person wants with it, e.g. https://example.com/run.jpg — handed back for them to add in the app; never fetched.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYes
textYes
titleYes
statusYes
channelYes
draftIdYes
imageUrlYes
channelIdYes
studioUrlYes
alreadyWaitingYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: nothing is published, nobody is reached, the draft becomes a card in the person's Stream and opens Studio's composer, and imageUrl is handed back rather than fetched. This is exactly the side-effect detail an agent needs for a write tool whose annotations only say non-destructive/non-read-only.

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 consequence, and most sentences carry real constraints. It is dense but slightly repetitive — the 1000-character cap and the 'handed back, never fetched' imageUrl behavior are each stated in both the description and the schema.

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?

With an output schema present, return values need not be explained, and the description covers side effects, constraints, voice guidance, and the schedule_post hand-off. Nothing material for correct invocation is missing.

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 text/title/channel/imageUrl, including the 1000-character limit, the optional title, and channel-by-id/@name/name fallback. The description restates the character cap and imageUrl behavior rather than adding format or edge-case detail beyond the schema, so the baseline 3 is appropriate.

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+resource (write a post draft) and its scope precisely — words plus optional title, for one of the person's channels. It cleanly separates itself from siblings like create_post (immediate publishing) and schedule_post by stating nothing is published and the draft lands in the Stream/Studio composer.

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?

"Use it when the person asks you to draft a post" gives an explicit trigger, and it names schedule_post as the follow-up for timing. It also sets voice/accuracy constraints (write in their voice, never invent people, numbers or quotes). It stops short of explicitly routing the agent away from create_post for immediate publishing, so 4 rather than 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.