You're viewing a demo portfolio

Join the waitlist
PRSM

x-twitter.create_post

Active

Tool of Vee3

declared in 1.27.1

Publish a post to a connected X account via the official X API (POST /2/tweets). Call x-twitter.connected_accounts first. If accounts is empty, the user must connect an X account at https://vee3.io/dashboard/connections before posting. Agents cannot complete OAuth; ask the user to connect, then call x-twitter.connected_accounts again. Pass user_id or user_name to target a specific account, not both. Omit both to use the default connected account. At least one of text, poll, media, or card_uri is required. Supports text, polls, media attachments, reply settings, paid partnership disclosure, AI-generated labels, super-follower exclusivity, nullcast posts, cards, communities, and direct-message deep links. To attach media, upload files with meta-tools.upload_file and the @vee3/upload CLI, then pass file_name values returned by meta-tools.list_uploaded_files in the media array (up to 4 files). Only files listed by list_uploaded_files can be attached. poll, media, and card_uri are mutually exclusive in the X API. Token pricing: 60 tokens base for text posts. Posts whose text includes a URL are billed 1000 tokens base instead. Attaching only media (an image or video) without a URL in the text does not trigger the URL rate. Each attached image adds 50 tokens. Each attached video adds 150 tokens plus 50 tokens per 5 MB of video size. X rate limit: 100 POST /2/tweets requests per connected user per 15 minutes. Wait and retry if posting is temporarily blocked. If X authorization fails, reconnect the account in the Vee3 dashboard. Read the error message when X rejects a post and adjust the request.

Parameters schema

{
  "type": "object",
  "title": "create_x_postArguments",
  "properties": {
    "poll": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ],
      "title": "Poll",
      "default": null,
      "description": "Poll object with options (2-4 strings) and duration_minutes (5-10080)."
    },
    "text": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 25000
        },
        {
          "type": "null"
        }
      ],
      "title": "Text",
      "default": null,
      "description": "Post text content. At least one of text, poll, media, or card_uri is required."
    },
    "media": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Media",
      "default": null,
      "maxItems": 4,
      "minItems": 1,
      "description": "File names from meta-tools.list_uploaded_files to attach (up to 4). Upload with meta-tools.upload_file and @vee3/upload first, then list_uploaded_files to get the stored file_name values."
    },
    "user_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "User Id",
      "default": null,
      "description": "Numeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
    },
    "card_uri": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Card Uri",
      "default": null,
      "description": "Card URI for the post. Mutually exclusive with poll and media."
    },
    "nullcast": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Nullcast",
      "default": null,
      "description": "Whether the post is promoted-only and hidden from the public timeline."
    },
    "user_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "User Name",
      "default": null,
      "description": "X handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account."
    },
    "community_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Community Id",
      "default": null,
      "description": "Community id when posting to an X community."
    },
    "made_with_ai": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Made With Ai",
      "default": null,
      "description": "Whether the post contains AI-generated media."
    },
    "reply_settings": {
      "anyOf": [
        {
          "enum": [
            "following",
            "mentionedUsers",
            "subscribers",
            "verified"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reply Settings",
      "default": null,
      "description": "Who can reply to the post."
    },
    "paid_partnership": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Paid Partnership",
      "default": null,
      "description": "Whether the post is a paid partnership."
    },
    "share_with_followers": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Share With Followers",
      "default": null,
      "description": "Whether to share a community post with followers too."
    },
    "direct_message_deep_link": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Direct Message Deep Link",
      "default": null,
      "description": "Deep link that moves the conversation into Direct Messages."
    },
    "for_super_followers_only": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "For Super Followers Only",
      "default": null,
      "description": "Whether the post is exclusive to super followers."
    }
  }
}

What this tool wraps· 1 endpoint

min confidence0.700.50

Parent server

Vee3

https://github.com/Vee3io/Vee3

1/7 registries
View full server →
x-twitter.create_post — Vee3 — PRSM MCP