Skip to main content
Glama

create_launch

Destructive

create a new launch for publishing to social platforms

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": {
      "title": "<title>"
    },
    "name": "create_launch"
  }
}

Input Schema

NameRequiredDescriptionDefault
waitNowait for publishing to complete and return post URLs inline (returns 200). requires publish: true
mediaNoinline media (URL or base64, 1-10 items, mutually exclusive with media_assets)
titleYeslaunch title
publishNoimmediately publish after creation (returns 202). mutually exclusive with scheduled_date
platformsNotarget platforms - required unless dropspace_platforms or user_platform_accounts is provided (inferred from their union)
media_modeNomedia mode for the launch
persona_idNopersona ID for tone/style
product_urlNoproduct URL — scraped to generate content; can substitute for product_description
track_linksNoswap product_url in post copy for tracked redirects (twitter, linkedin, facebook, reddit, youtube); clicks show as metrics.tracked_clicks in analytics
media_assetsNopre-uploaded media asset references (mutually exclusive with media)
custom_contentNosingle content string for all platforms, or array of tweet strings for twitter thread mode (each ≤280 chars or ≤25,000 for X Premium, mutually exclusive with platform_contents)
scheduled_dateNoISO 8601 datetime to schedule (must be at least 15 minutes in the future)
save_to_libraryNoadd the launch's uploaded media to the user's media library so autopilot can post it
attribution_modeNohow official-account posts credit the author: "handle" (default) signs with the connected @handle on that platform when one exists, "anonymous" always uses the plain "posted from dropspace user" note
platform_contentsNoper-platform content — each value needs "content" (string). Instagram takes "instagram_settings": { "post_type": "feed" (default) | "carousel" | "story" | "trial_reel", "graduation_strategy"?: "MANUAL" (default) | "SS_PERFORMANCE" } and Facebook takes "facebook_settings": { "post_type": "feed" | "story" } - "carousel" (Instagram only) posts every attached image and the launch video as ONE carousel in media order, 2 to 10 items, where "feed" would post the video as a reel and leave the images out; "story" posts each image as a 24-hour story frame with no caption; "trial_reel" (Instagram only) posts the video as a reel shown to non-followers first, off the profile until it graduates - "MANUAL" when the creator shares it in the Instagram app, "SS_PERFORMANCE" when Instagram sees it performing well; Instagram allows trial reels from professional accounts with 200 or more followers, so a connected account below that bar is refused with the reason; a trial reel needs a video and leaves photos out. Reddit also requires "title" (max 300) and supports "metadata": { "subreddits": string[] (max 10, names without the r/ prefix — posts the launch once per subreddit, each tracked and retryable on its own; omit to post to the default community), "first_comment": string (max 1500 — posted as a comment under each reddit post once it goes live) }. for multi-account reddit, each connected account can target its own subreddits via "reddit:<account_id>" content keys (falls back to the base "reddit" block); a subreddit is posted by at most one of your accounts per launch (first wins, others skipped as SUBREDDIT_ALREADY_TARGETED). each subreddit has its own rules: many restrict or ban promotional posts and posting where the account has no history gets filtered, so target a few genuinely relevant subreddits rather than blasting. Twitter supports "thread" (string[], max 6, each ≤280 or ≤25,000 for X Premium) instead of "content". TikTok supports "tiktok_settings": { "publish_mode"?: "direct"|"draft" (default "direct"; "draft" uploads to the TikTok inbox to finish and publish in-app), "privacy_level": "PUBLIC_TO_EVERYONE"|"FOLLOWER_OF_CREATOR"|"MUTUAL_FOLLOW_FRIENDS"|"SELF_ONLY" (required before publish in direct mode; not required for draft), "allow_comments"?, "allow_duet"?, "allow_stitch"?, "is_commercial"?, "is_your_brand"?, "is_branded_content"?, "auto_add_music"? (booleans, direct mode), "cover_timestamp_ms"? (integer 0-600000 — which frame TikTok uses as the cover, in ms from the start; VIDEO posts only, photo posts take their cover by index; omit for the first frame) }. YouTube requires video and supports "title" (max 100 chars). character limits: Twitter 280/tweet (25,000 for X Premium), LinkedIn 3000, Instagram 2200, Reddit 3000, Facebook 3000, TikTok 4000, YouTube 5000 (description). X Premium status is auto-detected from the connected account. mutually exclusive with custom_content
dropspace_platformsNoplatforms to post via official dropspace accounts
product_descriptionNoproduct description — required unless product_url, custom_content, or platform_contents is provided
media_attach_platformsNoplatforms to attach media to
user_platform_accountsNomap of platform key to token_id (UUID). a simple key targets your primary/only account: "twitter", "reddit", "instagram", "tiktok", "youtube". to target a SPECIFIC account when you have more than one on the same platform, use a composite key: Instagram/TikTok/YouTube/Twitter/Reddit use "instagram:<account_id>" / "tiktok:<account_id>" / "youtube:<account_id>" / "twitter:<account_id>" / "reddit:<account_id>" where <account_id> is the account entity_id from list_connections; LinkedIn uses "linkedin:personal" or "linkedin:organization:<org_id>"; Facebook posts go to a Page: a bare "facebook" key works when you have exactly one Page, using any connection id from list_connections as the value (the Page row id or the person row id) so dropspace resolves the Page; to target a specific Page among several, use a composite key, "facebook:page:<page_id>" or "facebook:<page_id>", where <page_id> is that Page row entity_id from list_connections; with several Pages and no page_id the API returns a 400 listing them. multiple keys allowed (e.g. post to two Instagram accounts at once). for Reddit, each targeted account runs its own subreddit fan-out
custom_content_reddit_titleNoreddit title (required when custom_content is used with reddit platform)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, covering the write/irreversibility signal at a coarse level. The description adds nothing about immediate publishing via publish, scheduling, account requirements, rate limits, or failure behavior, so it contributes little beyond the annotations.

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

Conciseness3/5

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

It is a single front-loaded clause with no wasted words. However, for a 20-parameter publishing tool it is too sparse to be appropriately sized, even if it is technically concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 20 parameters, nested objects, and no output schema, while the description gives only the bare action. The rich schema covers parameter mechanics, but the definition still omits the creation-vs-publish workflow and operational context an agent needs.

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% with extensive per-parameter descriptions, including mutual exclusions, platform settings, and nested media structures. The description adds no parameter meaning, 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?

States a specific verb ('create') and resource ('launch') plus its domain purpose ('publishing to social platforms'), so the basic action is clear. It does not distinguish this from publish_launch or update_launch, which is the main gap for a 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, prerequisites, or alternatives such as publish_launch or scheduling a draft. An agent must infer that this is the creation entry point from the name and schema alone.

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