POSTARYX

Tools Reference

Complete reference for all Postiz MCP tools

integrationList

List all connected social media accounts (channels) for your organization.

Parameters:

FieldTypeRequiredDescription
groupstringNoGroup (customer) ID from groupList. When provided, only channels belonging to that group are returned

Returns:

FieldTypeDescription
idstringIntegration ID (use this when scheduling posts)
namestringDisplay name of the account
picturestringProfile picture URL
platformstringPlatform identifier (e.g., x, linkedin, facebook)
customerobjectThe group (customer) this channel belongs to, as { id, name }, omitted if the channel is not assigned to a group

groupList

List all groups (customers) for your organization. Use a group's id with integrationList to filter channels down to a single group.

Parameters: None

Returns:

FieldTypeDescription
idstringGroup (customer) ID (pass to integrationList as group)
namestringGroup (customer) display name

integrationSchema

Get the posting rules, character limits, required settings, and available helper tools for a specific platform. Call this before scheduling a post to understand what the platform expects.

Parameters:

FieldTypeRequiredDescription
isPremiumbooleanYesWhether the user has a premium subscription
platformstringYesPlatform identifier (e.g., x, linkedin, reddit, discord)

Returns:

FieldTypeDescription
rulesstringPlatform-specific posting rules and best practices
maxLengthnumberMaximum character length for posts
settingsobjectJSON schema of required settings for this platform
toolsarrayPlatform-specific helper tools (see triggerTool)

The tools array contains helper functions specific to the platform. For example, Discord returns a tool to list available channels, Reddit returns a tool to search for subreddits, and LinkedIn Page returns a tool to list pages.

Each tool in the array has:

FieldTypeDescription
methodNamestringFunction name to pass to triggerTool
descriptionstringWhat the tool does
dataSchemaarrayParameters the tool accepts

triggerTool

Execute a platform-specific helper function. These are discovered through integrationSchema and are used to fetch dynamic data like channel lists, subreddit suggestions, or page IDs.

Parameters:

FieldTypeRequiredDescription
integrationIdstringYesThe integration ID from integrationList
methodNamestringYesThe function name from integrationSchema tools
dataSchemaarrayYesKey-value pairs of parameters for the function

Each item in dataSchema:

FieldTypeDescription
keystringParameter name
valuestringParameter value

Example use cases:

  • Get the list of Discord channels for a server
  • Search for Reddit subreddits
  • List LinkedIn pages you manage
  • Get Facebook page options
  • Search Instagram audio (audioSearch) to attach to a Reel, only on Facebook Business-linked Instagram channels

schedulePostTool

Schedule, draft, or immediately publish posts to social media platforms. This is the main tool for creating content.

Parameters:

FieldTypeRequiredDescription
socialPostarrayYesArray of posts to create

Each item in socialPost:

FieldTypeRequiredDescription
integrationIdstringYesIntegration ID from integrationList
isPremiumbooleanYesWhether the user has premium
datestringYesUTC datetime (e.g., 2025-01-15T10:00:00.000Z)
shortLinkbooleanYesWhether to shorten links in the post
typestringYesdraft, schedule, or now
postsAndCommentsarrayYesThe post content and optional comments
settingsarrayYesPlatform-specific settings from integrationSchema

Each item in postsAndComments:

FieldTypeDescription
contentstringHTML content (see formatting rules below)
attachmentsarrayArray of image/media URLs

Each item in settings:

FieldTypeDescription
keystringSetting name
valueanySetting value (prefer IDs over labels when available)

Content Formatting

Content must be HTML with these allowed tags only:

TagUsage
<p>Wrap each line
<h1>, <h2>, <h3>Headings
<strong>Bold text
<u>Underlined text
<ul>, <li>Lists

You cannot combine <u> and <strong> in the same element. Each line of text must be wrapped in <p> tags.

Posts vs Comments

The postsAndComments array behavior depends on the platform:

  • Thread-based platforms (X, Threads, Bluesky): Each array item becomes a separate post in a thread
  • Comment-based platforms (LinkedIn, Facebook): First item is the post, remaining items are comments

Multiple Posts

To schedule multiple posts (e.g., 20 posts across different days), add multiple items to the socialPost array, each with its own date and integrationId.

Returns:

FieldTypeDescription
postIdstringThe created post ID
integrationstringThe integration it was posted to

If validation fails, returns { errors: string } with details about what went wrong (e.g., content exceeds character limit).


postsListTool

List the organization's posts scheduled between two dates. It returns the same posts as the List Posts API endpoint, but with the channel details flattened into integrationId, platform, and integrationName fields instead of the API's nested integration object. Each item includes the post's current provider settings.

Parameters:

FieldTypeRequiredDescription
startDatestringYesUTC ISO datetime for the start of the range (e.g. 2026-07-20T00:00:00Z)
endDatestringYesUTC ISO datetime for the end of the range (e.g. 2026-07-27T00:00:00Z)
customerstringNoGroup (customer) ID from groupList to filter channels down to a single group

Returns:

An object with a posts array. Each item has:

FieldTypeDescription
idstringPost ID
publishDatestringUTC datetime the post is scheduled for
statestringPost state (QUEUE, DRAFT, PUBLISHED, or ERROR)
contentstringThe post content
settingsobjectThe post's current provider-specific settings
groupstringThe post group ID (shared across a post and its per-channel variations)
integrationIdstringID of the channel the post is scheduled to
platformstringPlatform identifier (e.g., x, linkedin, facebook)
integrationNamestringDisplay name of the channel

postSettingsTool

Update only the provider settings of a not-yet-published post (scheduled or draft). Merges the given keys into the post's existing settings. Content and publish date are unchanged.

Parameters:

FieldTypeRequiredDescription
idstringYesThe post ID
settingsarrayYesThe settings keys to change (only those are updated). Get valid keys from integrationSchema

Each item in settings:

FieldTypeDescription
keystringSetting name
valueanySetting value (prefer IDs over labels when available)

Returns:

FieldTypeDescription
postIdstringThe updated post ID
publishDatestringThe post's publish date (unchanged)

If the update fails, returns { errors: string } with details (e.g., post not found, already published, a comment id was passed instead of the root post, or the merged settings failed validation).


generateImageTool

Generate an AI image to use as a post attachment.

Parameters:

FieldTypeRequiredDescription
promptstringYesDescription of the image to generate

Returns:

FieldTypeDescription
idstringMedia ID
pathstringURL of the generated image

Use the returned path in the attachments array when scheduling a post.


generateVideoOptions

List all available video generation types and their required parameters.

Parameters: None

Returns: An array of video generators, each with:

FieldTypeDescription
typestringVideo type identifier (e.g., image-text-slides, veo3)
outputstringSupported orientations: vertical|horizontal
toolsarrayHelper functions (call with videoFunctionTool)
customParamsobjectJSON schema of required parameters

Available Video Types

TypeDescriptionRequirements
Image Text SlidesSlide-based videos with text-to-speechprompt, voice (get voice ID via videoFunctionTool)
Veo3AI-generated video with audioprompt, optional images (max 3)

videoFunctionTool

Execute helper functions for video generators. Use this to fetch required data before generating a video (e.g., listing available voices).

Parameters:

FieldTypeRequiredDescription
identifierstringYesVideo type identifier from generateVideoOptions
functionNamestringYesFunction name from the video type's tools array

Example: Call with identifier: "image-text-slides" and functionName: "loadVoices" to get available ElevenLabs voice IDs.


generateVideoTool

Generate a video to use as a post attachment.

Parameters:

FieldTypeRequiredDescription
identifierstringYesVideo type from generateVideoOptions
outputstringYesvertical or horizontal
customParamsarrayYesKey-value pairs of parameters for the video type

Each item in customParams:

FieldTypeDescription
keystringParameter name
valueanyParameter value

Returns:

FieldTypeDescription
urlstringURL of the generated video

Use the returned url in the attachments array when scheduling a post.