Skip to main content
Glama

create_post

Create a post. Provide scheduledAt (ISO datetime) to schedule, queue=true for the next open queue slot, or neither to post within ~5 minutes. Media platforms (instagram, tiktok, pinterest, youtube) need mediaUrl/mediaUrls from upload_media; tiktok/pinterest/youtube also need their options object.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queueNo
contentYes
mediaUrlNoPostlia storage URL from upload_media
mediaAltsNoAlt text per carousel image
mediaTypeNoRequired with mediaUrl
mediaUrlsNoCarousel images (1-4), Postlia storage URLs
platformsYese.g. linkedin, bluesky, instagram
scheduledAtNo
tiktokOptionsNoRequired for tiktok: privacy/interaction settings
youtubeOptionsNoRequired for youtube: title etc.
platformContentNoOptional per-platform caption overrides, e.g. {"linkedin": "longer text"}
pinterestOptionsNoRequired for pinterest: board id etc.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / mediaAlts
      Added value: +{
      +  "description": "Alt text per carousel image",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / mediaType
      Added value: +{
      +  "description": "Required with mediaUrl",
      +  "enum": [
      +    "image",
      +    "video"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / mediaUrl
      Added value: +{
      +  "description": "Postlia storage URL from upload_media",
      +  "type": "string"
      +}
    • addedInput schema / properties / mediaUrls
      Added value: +{
      +  "description": "Carousel images (1-4), Postlia storage URLs",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / pinterestOptions
      Added value: +{
      +  "description": "Required for pinterest: board id etc.",
      +  "type": "object"
      +}
    • addedInput schema / properties / platformContent
      Added value: +{
      +  "description": "Optional per-platform caption overrides, e.g. {\"linkedin\": \"longer text\"}",
      +  "type": "object"
      +}
    • changedInput schema / properties / platforms / description
      Previous value: -"e.g. linkedin, bluesky"New value: +"e.g. linkedin, bluesky, instagram"
    • addedInput schema / properties / tiktokOptions
      Added value: +{
      +  "description": "Required for tiktok: privacy/interaction settings",
      +  "type": "object"
      +}
    • addedInput schema / properties / youtubeOptions
      Added value: +{
      +  "description": "Required for youtube: title etc.",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses important behavioral traits: immediate posting (~5 min), scheduling, queueing, and media prerequisites. It doesn't cover output behavior or potential side effects like rate limits or irreversibility, but the mentioned timing and preconditions are valuable context.

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

Conciseness5/5

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

Three sentences cover a 12-parameter tool with conditional logic and platform-specific requirements. Every sentence adds load-bearing information, with the most important verb-first phrasing at the beginning. No redundancy or fluff.

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 complex tool with no output schema and no annotations, the description covers scheduling modes, media prerequisites, and platform-specific options well. It does not mention the return value or how to handle partial failures, and some parameters like platformContent and mediaAlts are left to schema descriptions. Given the 75% schema coverage, this is a solid but not exhaustive effort.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the schema: it explains the exact semantics of scheduledAt, queue, and the mediaUrl/mediaUrls dependency on upload_media. It also clarifies that tiktok/pinterest/youtube require their respective options objects, which ties multiple parameters together. This goes well beyond the schema's individual property descriptions.

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 description opens with 'Create a post', using a clear verb and resource. It goes on to enumerate scheduling modes and media platform requirements, which gives a concrete sense of scope. However, it does not explicitly differentiate from the sibling tool create_draft, so it falls short of a 5.

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?

The description provides explicit conditional guidance for when to use scheduledAt, queue, and neither, plus requirements for media platforms. This is strong usage context. It doesn't explicitly mention when not to use this tool or point to alternatives like create_draft, so it doesn't reach 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