Tool Reference
A complete reference for all tools exposed by the Outstand MCP server, with parameters, descriptions, and example usage.
Complete reference for all 28 tools exposed by the Outstand MCP server. Each tool includes its parameters, descriptions, and example usage.
Posts
create_post
Create and publish or schedule a post to one or more social media platforms.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
accounts | string[] | Yes | Social account identifiers (network name, username, or nickname) to publish to |
content | string | No | Text content for a single-container post. Either content or containers is required |
containers | object[] | No | Multi-container posts (threads, carousels). Each container is { content, media }, where media is an array of { url, filename, altText }. Every container after the first is published as a reply |
scheduledAt | string | No | ISO 8601 datetime for scheduling (up to 30 days ahead). Omit to publish immediately |
Platform-specific overrides (optional object per platform):
- Instagram:
publishAsStory,reelThumbOffset,userTags,collaborators,altText - YouTube:
isShort,categoryId,privacyStatus,madeForKids,tags,title - TikTok:
postMode,privacyLevel,disableComment,disableDuet,disableStitch,autoAddMusic - Google Business:
topicType(STANDARD/EVENT/OFFER), event details, offer details, call-to-action - Pinterest:
board_id,link,alt_text,title - Threads: country geo-restrictions,
reply_control
Field names are camelCase, except for Pinterest and
threads.reply_control, which are snake_case. Names that do not match are dropped and reported in the responsewarningsarray - sopost_modeis silently ignored, whilepostModetakes effect. TikTok defaults topostMode: "MEDIA_UPLOAD"(a draft in the creator's inbox); setpostMode: "DIRECT_POST"with aprivacyLevelto publish straight to the profile.
Example conversation:
"Post 'Excited to announce our new feature!' to my X and LinkedIn accounts"
update_post
Update a post that has not been published yet. Every field is optional - only the fields you send are changed.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string | Yes | The post ID |
content | string | No | New text content. Replaces the post body |
containers | object[] | No | New containers, same shape as create_post. Replaces the post body and all its media |
scheduledAt | string | null | No | New ISO 8601 publish time. Pass null to clear the schedule; omit to leave it untouched |
isDraft | boolean | No | Setting this to true cancels the queued publishing job; setting it to false re-queues the post |
Platform-specific overrides accept the same per-platform objects as create_post, and are merged per network and per field within a network - sending only tiktok leaves the stored YouTube configuration alone, and sending only tiktok.disableComment leaves the stored TikTok postMode and privacyLevel alone.
Notes:
- Sending
contentorcontainersreplaces the post body entirely; there is no per-container patching. - The set of social accounts a post publishes to cannot be changed. Delete the post and create a new one instead.
- Changing
scheduledAtcancels the queued publishing job and creates a new one for the new time. The response reportsrescheduled: truewhen that happened. - Posts that are already published, even for a single account, cannot be edited.
Example conversation:
"Move tomorrow's LinkedIn post to Friday at 9am and change the copy to mention the new pricing"
list_posts
Query posts with optional filters and pagination.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status: draft, scheduled, published, failed |
social_account_id | string | No | Filter by social account |
limit | number | No | Number of results (default: 20) |
offset | number | No | Pagination offset |
Example conversation:
"Show me my last 5 published posts on LinkedIn"
get_post
Retrieve details of a specific post including its containers and media.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string | Yes | The post ID |
get_post_analytics
Fetch engagement metrics for a published post across platforms.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string | Yes | The post ID |
Returns: likes, comments, shares, views, impressions, reach, engagement rate (where supported by the platform).
Example conversation:
"How did my last tweet perform? Show me the engagement numbers."
delete_post
Delete a post or cancel a scheduled post.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string | Yes | The post ID |
delete_remote_post
Delete a published post from the remote social network platforms it was published to. The Outstand record is kept, but the post is removed from the platforms themselves.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string | Yes | The post ID |
Returns: Per-account results. Networks that do not support deletion via API (TikTok, Instagram, Threads) are reported as failed while others are still attempted.
repost_post
Repost (reshare) a published post to the social networks it was published to. Optionally add a quote (commentary) on top of the repost where the network supports it.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string | Yes | The post ID |
quote | string | No | Commentary to add on top of the repost (quote-repost) where supported: X quote tweet, Bluesky quote post, LinkedIn reshare with commentary, Threads quote post. Omit for a plain repost/reshare. |
Returns: Per-account results (network, username, platform_post_id, status, repost_id, error). Networks without a native repost API (Facebook, Instagram, Pinterest, TikTok, Google Business, Vimeo, YouTube) are reported as failed while others are still attempted. success is true if at least one network was reposted to.
Example conversation:
"Reshare my last LinkedIn post and add the comment 'Still true a month later.'"
create_reply
Reply to a published post on the platform.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_container_id | string | Yes | The container ID of the post to reply to |
content | string | Yes | The reply content |
get_replies
Fetch comments and replies on a published post.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
post_container_id | string | Yes | The container ID of the post |
Social Accounts
list_social_accounts
List all connected social media accounts.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | No | Filter by network (e.g., x, linkedin, instagram) |
username | string | No | Filter by username |
Example conversation:
"Show me all my connected accounts"
get_social_account
Get details of a specific connected account.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
social_account_id | string | Yes | The account ID |
delete_social_account
Permanently disconnect a social account.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
social_account_id | string | Yes | The account ID |
connect_bluesky
Connect a Bluesky account using handle and app password (no OAuth required).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
handle | string | Yes | Bluesky handle (e.g., yourname.bsky.social) |
app_password | string | Yes | App password from Bluesky settings |
get_account_metrics
Get follower count and engagement metrics over a date range.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
social_account_id | string | Yes | The account ID |
start_date | string | No | Start date (ISO 8601) |
end_date | string | No | End date (ISO 8601) |
list_pinterest_boards
List available Pinterest boards for a connected Pinterest account. Required before creating pins.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
social_account_id | string | Yes | The Pinterest account ID |
Media
upload_media
Get a presigned URL for uploading an image or video file. The URL is valid for 1 hour.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
file_name | string | Yes | Name of the file to upload |
content_type | string | Yes | MIME type (e.g., image/jpeg, video/mp4) |
Returns: upload_url (presigned URL for HTTP PUT) and media_id.
Upload workflow:
- Call
upload_mediato get the presigned URL and media ID - Upload the file via HTTP PUT to the presigned URL
- Call
confirm_media_uploadwith the media ID to activate it - Use the media ID in
create_postto attach it to a post
confirm_media_upload
Confirm a completed upload and make the file available for use.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
media_id | string | Yes | The media ID from upload_media |
Returns: Public URL of the uploaded file. Media files are retained for 60 days.
list_media
List all media files in your organization.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Number of results |
offset | number | No | Pagination offset |
get_media
Get details of a specific media file including metadata and URLs.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
media_id | string | Yes | The media ID |
delete_media
Delete a media file from storage.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
media_id | string | Yes | The media ID |
Social Networks
create_social_network
Store OAuth credentials for a social media platform (BYOK model).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | Yes | Platform identifier (e.g., x, linkedin, instagram) |
client_key | string | Yes | OAuth Client ID / API Key |
client_secret | string | Yes | OAuth Client Secret / API Secret |
list_social_networks
List all configured social network credentials. Secrets are never returned.
get_social_network
Get configuration details of a specific platform.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
network_id | string | Yes | The network ID |
update_social_network
Update or rotate OAuth credentials for a platform.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
network_id | string | Yes | The network ID |
client_key | string | No | New Client ID |
client_secret | string | No | New Client Secret |
delete_social_network
Remove a platform configuration and its stored credentials.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
network_id | string | Yes | The network ID |
get_auth_url
Generate an OAuth authorization URL to connect a new social account.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | Yes | Platform identifier |
callback_url | string | Yes | URL to redirect to after authorization |
Account
get_account_usage
View your current usage statistics and billing information.
Returns:
- Connected social account count vs. plan limit
- Post count in current billing period
- Billing period start and end dates
Example conversation:
"How many posts have I used this month?"