Skip to main content
Glama

Create Post Tool

create-post-tool
Destructive

Create and schedule a new social media post. The post will be created for each specified profile.

IMPORTANT:

  • Always call list-profiles-tool first to get valid profile_ids.

  • post_type must be compatible with the target profile's provider.

  • text is required for all types except story.

  • media_urls are required for image, story, pin, and tiktok types.

  • You cannot provide both url and media_urls (except for the pin and google types).

  • For schedule_type "scheduled", you must provide scheduled_at as a future ISO 8601 datetime.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "post_type": "<post_type>",
      "profile_ids": "<profile_ids>",
      "schedule_type": "<schedule_type>"
    },
    "name": "create-post-tool"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoA URL to include in the post. Required for link type. Cannot be combined with media_urls (except for pin and google).
textNoThe post text/caption. Required for all types except story.
post_typeYesThe type of post: text, link, image, story, pin, TikTok photo, or Google Business Profile post.
media_urlsNoArray of publicly accessible media URLs. Required for image, story, pin and TikTok types.
profile_idsYesArray of social profile IDs to post to. Get these from list-profiles-tool.
scheduled_atNoISO 8601 datetime for when to post. Required when schedule_type is "scheduled". Must be in the future.
first_commentNoOptional first comment (not available for story types). Max 2000 chars.
schedule_typeYesWhen to publish: immediate, queue_start, queue_end, or scheduled.

Output Schema

NameRequiredDescriptionDefault
dataNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / profile_ids / description
      Previous value: -"Array of social profile IDs to post to. Get these from list_profiles."New value: +"Array of social profile IDs to post to. Get these from list-profiles-tool."
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already disclose that this is a non-read-only, open-world, destructive operation, so the description does not need to restate that safety profile. It adds useful behavioral context such as per-profile post creation, provider compatibility constraints, and scheduling requirements, though it does not cover permissions, rate limits, or error behavior.

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?

The description is front-loaded with the core action and then uses a compact IMPORTANT bullet list to surface the key validation rules. It is appropriately sized for an eight-parameter mutation tool and does not waste space on irrelevant detail.

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?

The definition is complete enough for an agent to call the tool correctly: it covers prerequisites, required fields, conditional requirements, and scheduling constraints. Since an output schema exists, it does not need to explain return values, but it could be stronger if it briefly addressed failure modes or multi-profile response behavior.

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 coverage is 100%, so the schema already documents all eight parameters and provides a baseline of 3. The description adds some meaning beyond the schema, especially that post_type must be compatible with the target profile's provider, though many other parameter rules are repeated from the schema 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 states a specific verb and resource: create and schedule a new social media post, including the multi-profile scope. It is clear what the tool does, but it does not explicitly distinguish itself from the sibling create-bulk-posts-tool, leaving some ambiguity about when this should be used instead of bulk creation.

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 gives strong operational guidance: call list-profiles-tool first, ensure post_type is provider-compatible, enforce text/media requirements, avoid combining url with media_urls except for pin and google, and require future scheduled_at for scheduled posts. It does not explicitly compare usage against create-bulk-posts-tool or state when not to use this tool, so it falls short of full alternative guidance.

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