Skip to main content
Glama

create_social_media_post

Need to post across social platforms? Create, schedule, or draft posts for Facebook, Instagram, LinkedIn, TikTok, and more with text, media, and platform-specific settings.

Instructions

Create a social media post

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoScheduled datetime in format: YYYY-MM-DD HH:MM
tagsNoTag (label) IDs to attach to the created post(s). Get IDs via `listSocialMediaTags`; create new ones via `createSocialMediaTag`. Tags are used by the user to filter posts in the Drafts/Publishing views and to deep-link the confirmation widget.
mediaNoMedia items attached to the post. Each entry is either a Simplified asset UUID or a fully qualified URL. Asset UUIDs are resolved server-side to a fresh permanent URL before publishing; pass them whenever the media was produced via `generateImage` with `storage: "asset"`. URLs are passed through as-is and should only be used for media that already lives at a permanent public location.
actionYes
messageYes
additionalNo
account_idsNoTarget social media account IDs. Required for action 'schedule' and 'add_to_queue'. For action 'draft' this may be empty or omitted to create an accountless draft (saved without a connected account).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed76 schema fields changedv1.2.0
    • removedInput schema / properties / accountId
      Removed value: -{
      -  "description": "Social media account ID",
      -  "maxLength": 100,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • addedInput schema / properties / account_ids
      Added value: +{
      +  "description": "Target social media account IDs. Required for action 'schedule' and 'add_to_queue'. For action 'draft' this may be empty or omitted to create an accountless draft (saved without a connected account).",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / action / description
      Removed value: -"Action to perform with the post"
    • removedInput schema / properties / additional / description
      Removed value: -"Platform-specific post settings and metadata"
    • addedInput schema / properties / additional / properties / bluesky
      Added value: +{
      +  "type": "object"
      +}
    • addedInput schema / properties / additional / properties / facebook / properties / postType / properties / value / default
      Added value: +"post"
    • changedInput schema / properties / additional / properties / facebook / properties / postType / properties / value / enum
      Previous value: -[
      -  "story",
      -  "feed",
      -  "reel"
      -]New value: +[
      +  "post",
      +  "reel",
      +  "story"
      +]
    • addedInput schema / properties / additional / properties / google / properties / post / properties / callToActionType / default
      Added value: +""
    • changedInput schema / properties / additional / properties / google / properties / post / properties / callToActionType / enum
      Previous value: -[
      -  "SIGN_UP",
      -  "LEARN_MORE",
      -  "BOOK",
      -  "ORDER",
      -  "SHOP",
      -  "CALL",
      -  "GET_OFFER"
      -]New value: +[
      +  "",
      +  "BOOK",
      +  "ORDER",
      +  "SHOP",
      +  "LEARN_MORE",
      +  "SIGN_UP",
      +  "CALL"
      +]
    • addedInput schema / properties / additional / properties / google / properties / post / properties / callToActionUrl / format
      Added value: +"uri"
    • removedInput schema / properties / additional / properties / google / properties / post / properties / callToActionUrl / pattern
      Removed value: -"^https?://.+"
    • removedInput schema / properties / additional / properties / google / properties / post / properties / couponCode / maxLength
      Removed value: -50
    • addedInput schema / properties / additional / properties / google / properties / post / properties / endDate
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / additional / properties / google / properties / post / properties / redeemOnlineUrl / format
      Added value: +"uri"
    • removedInput schema / properties / additional / properties / google / properties / post / properties / redeemOnlineUrl / pattern
      Removed value: -"^https?://.+"
    • addedInput schema / properties / additional / properties / google / properties / post / properties / startDate
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / additional / properties / google / properties / post / properties / termsConditions / maxLength
      Removed value: -1000
    • changedInput schema / properties / additional / properties / google / properties / post / properties / title / maxLength
      Previous value: -300New value: +58
    • addedInput schema / properties / additional / properties / google / properties / post / properties / topicType / default
      Added value: +"STANDARD"
    • changedInput schema / properties / additional / properties / google / properties / post / properties / topicType / enum
      Previous value: -[
      -  "STANDARD",
      -  "EVENT",
      -  "OFFER",
      -  "PRODUCT"
      -]New value: +[
      +  "STANDARD",
      +  "EVENT",
      +  "OFFER"
      +]
    • removedInput schema / properties / additional / properties / hashtags
      Removed value: -{
      -  "items": {
      -    "maxLength": 50,
      -    "type": "string"
      -  },
      -  "maxItems": 30,
      -  "type": "array"
      -}
    • addedInput schema / properties / additional / properties / instagram / properties / channel
      Added value: +{
      +  "properties": {
      +    "value": {
      +      "default": "direct",
      +      "enum": [
      +        "direct",
      +        "reminder"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / additional / properties / instagram / properties / postReel / properties / audioName / maxLength
      Removed value: -100
    • addedInput schema / properties / additional / properties / instagram / properties / postReel / properties / shareToFeed / default
      Added value: +true
    • addedInput schema / properties / additional / properties / instagram / properties / postType / properties / value / default
      Added value: +"post"
    • addedInput schema / properties / additional / properties / linkedin / properties / audience / properties / value / default
      Added value: +"PUBLIC"
    • changedInput schema / properties / additional / properties / linkedin / properties / audience / properties / value / enum
      Previous value: -[
      -  "PUBLIC",
      -  "CONNECTIONS",
      -  "LOGGED_IN_MEMBERS"
      -]New value: +[
      +  "PUBLIC",
      +  "CONNECTIONS",
      +  "LOGGED_IN"
      +]
    • removedInput schema / properties / additional / properties / location
      Removed value: -{
      -  "maxLength": 100,
      -  "type": "string"
      -}
    • removedInput schema / properties / additional / properties / mentions
      Removed value: -{
      -  "items": {
      -    "properties": {
      -      "displayName": {
      -        "type": "string"
      -      },
      -      "username": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "username"
      -    ],
      -    "type": "object"
      -  },
      -  "maxItems": 20,
      -  "type": "array"
      -}
    • removedInput schema / properties / additional / properties / pinterest / properties / post / properties / imageAlt / maxLength
      Removed value: -500
    • addedInput schema / properties / additional / properties / pinterest / properties / post / properties / link / format
      Added value: +"uri"
    • removedInput schema / properties / additional / properties / pinterest / properties / post / properties / link / pattern
      Removed value: -"^https?://.+"
    • removedInput schema / properties / additional / properties / pinterest / properties / post / properties / title / maxLength
      Removed value: -100
    • removedInput schema / properties / additional / properties / settings
      Removed value: -{
      -  "properties": {
      -    "enableComments": {
      -      "type": "boolean"
      -    },
      -    "enableSharing": {
      -      "type": "boolean"
      -    },
      -    "targetAudience": {
      -      "enum": [
      -        "public",
      -        "friends",
      -        "custom"
      -      ],
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
    • addedInput schema / properties / additional / properties / threads / properties / channel / properties / value / default
      Added value: +"direct"
    • changedInput schema / properties / additional / properties / threads / properties / channel / properties / value / enum
      Previous value: -[
      -  "direct"
      -]New value: +[
      +  "direct",
      +  "reminder"
      +]
    • addedInput schema / properties / additional / properties / tiktok / properties / channel / properties / value / default
      Added value: +"direct"
    • changedInput schema / properties / additional / properties / tiktok / properties / channel / properties / value / enum
      Previous value: -[
      -  "direct",
      -  "business"
      -]New value: +[
      +  "direct",
      +  "reminder"
      +]
    • addedInput schema / properties / additional / properties / tiktok / properties / post / properties / brandContent / default
      Added value: +false
    • addedInput schema / properties / additional / properties / tiktok / properties / post / properties / brandOrganic / default
      Added value: +false
    • addedInput schema / properties / additional / properties / tiktok / properties / post / properties / commentDisabled / default
      Added value: +true
    • addedInput schema / properties / additional / properties / tiktok / properties / post / properties / duetDisabled / default
      Added value: +true
    • addedInput schema / properties / additional / properties / tiktok / properties / post / properties / privacyStatus / default
      Added value: +"PUBLIC_TO_EVERYONE"
    • changedInput schema / properties / additional / properties / tiktok / properties / post / properties / privacyStatus / enum
      Previous value: -[
      -  "PUBLIC_TO_EVERYONE",
      -  "MUTUAL_FOLLOW_FRIEND",
      -  "FOLLOWER_OF_CREATOR",
      -  "SELF_ONLY"
      -]New value: +[
      +  "PUBLIC_TO_EVERYONE",
      +  "MUTUAL_FOLLOW_FRIENDS",
      +  "FOLLOWER_OF_CREATOR",
      +  "SELF_ONLY"
      +]
    • addedInput schema / properties / additional / properties / tiktok / properties / post / properties / stitchDisabled / default
      Added value: +true
    • addedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / autoAddMusic
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / brandContent / default
      Added value: +false
    • addedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / brandOrganic / default
      Added value: +false
    • addedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / commentDisabled / default
      Added value: +true
    • removedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / duetDisabled
      Removed value: -{
      -  "type": "boolean"
      -}
    • addedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / privacyStatus / default
      Added value: +"PUBLIC_TO_EVERYONE"
    • changedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / privacyStatus / enum
      Previous value: -[
      -  "PUBLIC_TO_EVERYONE",
      -  "MUTUAL_FOLLOW_FRIEND",
      -  "FOLLOWER_OF_CREATOR",
      -  "SELF_ONLY"
      -]New value: +[
      +  "PUBLIC_TO_EVERYONE",
      +  "MUTUAL_FOLLOW_FRIENDS",
      +  "FOLLOWER_OF_CREATOR",
      +  "SELF_ONLY"
      +]
    • removedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / stitchDisabled
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedInput schema / properties / additional / properties / tiktok / properties / postPhoto / properties / title / maxLength
      Removed value: -150
    • addedInput schema / properties / additional / properties / tiktok / properties / postType / properties / value / default
      Added value: +"video"
    • changedInput schema / properties / additional / properties / tiktok / properties / postType / properties / value / enum
      Previous value: -[
      -  "video",
      -  "image"
      -]New value: +[
      +  "video",
      +  "photo"
      +]
    • addedInput schema / properties / additional / properties / tiktokBusiness
      Added value: +{
      +  "properties": {
      +    "post": {
      +      "properties": {
      +        "aiGenerated": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "brandContent": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "brandOrganic": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "commentDisabled": {
      +          "default": true,
      +          "type": "boolean"
      +        },
      +        "duetDisabled": {
      +          "default": true,
      +          "type": "boolean"
      +        },
      +        "privacyStatus": {
      +          "default": "PUBLIC_TO_EVERYONE",
      +          "enum": [
      +            "PUBLIC_TO_EVERYONE",
      +            "MUTUAL_FOLLOW_FRIENDS",
      +            "FOLLOWER_OF_CREATOR",
      +            "SELF_ONLY"
      +          ],
      +          "type": "string"
      +        },
      +        "stitchDisabled": {
      +          "default": true,
      +          "type": "boolean"
      +        },
      +        "uploadToDraft": {
      +          "default": false,
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "postPhoto": {
      +      "properties": {
      +        "autoAddMusic": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "brandContent": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "brandOrganic": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "commentDisabled": {
      +          "default": true,
      +          "type": "boolean"
      +        },
      +        "privacyStatus": {
      +          "default": "PUBLIC_TO_EVERYONE",
      +          "enum": [
      +            "PUBLIC_TO_EVERYONE",
      +            "MUTUAL_FOLLOW_FRIENDS",
      +            "FOLLOWER_OF_CREATOR",
      +            "SELF_ONLY"
      +          ],
      +          "type": "string"
      +        },
      +        "title": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "postType": {
      +      "properties": {
      +        "value": {
      +          "default": "video",
      +          "enum": [
      +            "video",
      +            "photo"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / additional / properties / youtube / properties / post / properties / license / default
      Added value: +""
    • changedInput schema / properties / additional / properties / youtube / properties / post / properties / license / enum
      Previous value: -[
      -  "standard",
      -  "creativeCommon"
      -]New value: +[
      +  "",
      +  "youtube",
      +  "creativeCommon"
      +]
    • addedInput schema / properties / additional / properties / youtube / properties / post / properties / privacyStatus / default
      Added value: +""
    • changedInput schema / properties / additional / properties / youtube / properties / post / properties / privacyStatus / enum
      Previous value: -[
      -  "public",
      -  "private",
      -  "unlisted"
      -]New value: +[
      +  "",
      +  "public",
      +  "private",
      +  "unlisted"
      +]
    • addedInput schema / properties / additional / properties / youtube / properties / post / properties / publishAt
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / additional / properties / youtube / properties / post / properties / selfDeclaredMadeForKids / default
      Added value: +""
    • changedInput schema / properties / additional / properties / youtube / properties / post / properties / selfDeclaredMadeForKids / enum
      Previous value: -[
      -  "yes",
      -  "no"
      -]New value: +[
      +  "",
      +  "yes",
      +  "no"
      +]
    • removedInput schema / properties / additional / properties / youtube / properties / post / properties / title / maxLength
      Removed value: -100
    • addedInput schema / properties / additional / properties / youtube / properties / postType / properties / value / default
      Added value: +"video"
    • changedInput schema / properties / additional / properties / youtube / properties / postType / properties / value / enum
      Previous value: -[
      -  "short",
      -  "video"
      -]New value: +[
      +  "video",
      +  "short"
      +]
    • changedInput schema / properties / date / description
      Previous value: -"Scheduled date for the post (format: YYYY-MM-DD HH:MM)"New value: +"Scheduled datetime in format: YYYY-MM-DD HH:MM"
    • changedInput schema / properties / media / description
      Previous value: -"Media file URLs to attach to the post"New value: +"Media items attached to the post. Each entry is either a Simplified asset UUID\nor a fully qualified URL. Asset UUIDs are resolved server-side to a fresh\npermanent URL before publishing; pass them whenever the media was produced\nvia `generateImage` with `storage: \"asset\"`. URLs are passed through as-is\nand should only be used for media that already lives at a permanent public\nlocation.\n"
    • addedInput schema / properties / media / items / oneOf
      Added value: +[
      +  {
      +    "description": "Simplified asset UUID — resolved server-side at publish time.",
      +    "format": "uuid",
      +    "type": "string"
      +  },
      +  {
      +    "description": "Direct media URL — used as-is.",
      +    "format": "uri",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / media / items / pattern
      Removed value: -"^https?://.+"
    • removedInput schema / properties / media / items / type
      Removed value: -"string"
    • removedInput schema / properties / message / description
      Removed value: -"Post message/content"
    • removedInput schema / properties / message / minLength
      Removed value: -1
    • addedInput schema / properties / tags
      Added value: +{
      +  "description": "Tag (label) IDs to attach to the created post(s). Get IDs via `listSocialMediaTags`;\ncreate new ones via `createSocialMediaTag`. Tags are used by the user to filter\nposts in the Drafts/Publishing views and to deep-link the confirmation widget.\n",
      +  "items": {
      +    "type": "integer"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "message",
      -  "accountId",
      -  "action"
      -]New value: +[
      +  "message",
      +  "action"
      +]
  2. First observed

TDQS

D1.8/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose behavioral traits such as side effects (e.g., immediate posting vs scheduling), required authentication, or rate limits. The word 'create' is ambiguous given the action parameter.

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

Conciseness2/5

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

The description is extremely terse (5 words), under-informative for a tool with 7 parameters and nested objects. While concise, it does not earn its place since it adds almost no useful information.

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

Completeness1/5

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

Given the tool's complexity (no output schema, no annotations, rich input schema), the description is completely inadequate. An AI agent cannot determine return values, prerequisites, or the tool's role in a workflow from this description alone.

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

Parameters2/5

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

With 57% schema description coverage, the description adds no value beyond the schema. It does not clarify key parameters like action, message, or account_ids, nor explain the difference between accountless drafts and scheduled posts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a social media post' provides a verb and resource, but it is vague and does not distinguish this tool from siblings like update_social_media_post or create_social_media_tag. It lacks specificity about multi-platform support, actions, or scheduling.

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

Usage Guidelines1/5

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

The description offers no guidance on when to use this tool versus alternatives. It does not mention the three possible actions (schedule, add_to_queue, draft) or when each is appropriate, nor does it provide any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools