social0-mcp
This server lets you manage and publish social media content across major platforms (Instagram, TikTok, YouTube, X/Twitter, LinkedIn, Facebook, Pinterest, Threads, and Bluesky) directly from AI apps like Claude, Cursor, and ChatGPT.
Manage connected accounts: List and view all social media accounts linked to your profile.
Create post drafts: Draft posts with captions, target platforms, and optional media without publishing immediately.
Update posts: Edit existing drafts or scheduled posts (caption, platforms, media, platform-specific options).
Delete posts: Permanently remove a draft or scheduled post.
List & view posts: Browse posts filtered by status, platform, account, or search text; retrieve full details of a single post.
Publish posts: Immediately publish an existing draft to connected platforms and receive a tracking ID.
Schedule posts: Set a future publish date/time (ISO 8601) for an existing post.
Publish now (one step): Create and immediately publish a post in a single action.
Schedule content (one step): Create and schedule a post for future publishing in a single action.
Upload media: Upload images/videos via public URL, base64 data, or local file path to get a media ID for attaching to posts.
Check publish status: Monitor per-platform publishing progress and errors using a tracking ID.
Suggest best platforms: Analyze post content (text length, media type) to get recommendations for the most suitable platforms to target.
Advanced platform options: Leverage platform-specific settings such as Pinterest board management, TikTok video options, Instagram reel settings, YouTube titles, and X/Twitter AI disclosure flags.
Manages Bluesky posts through Social0, allowing scheduling and publishing.
Manages Facebook posts through Social0, allowing scheduling and publishing.
Manages Instagram posts through Social0, allowing scheduling and publishing.
Manages Pinterest posts through Social0, allowing scheduling and publishing.
Manages Threads posts through Social0, allowing scheduling and publishing.
Manages TikTok posts through Social0, allowing scheduling and publishing.
Manages YouTube posts through Social0, allowing scheduling and publishing.
Social0 MCP
Post to Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky from Claude, Cursor, ChatGPT, and other AI apps — in plain English.
Prefer the social0 CLI when you have a terminal or agent shell (npx social0). Use this MCP package when the AI host only supports MCP connectors.
social0.app · CLI docs · MCP docs · Get an API key
Remote URL (recommended — no npx)
Works with Claude.ai, ChatGPT, and any AI that accepts a remote MCP connector.
Open Connectors / MCP settings in your AI app
Add remote server URL:
https://mcp.social0.app/mcpClick Connect and approve Social0 (OAuth)
Ask: “Show my connected Social0 accounts”
No Node.js, no API key in config.
Cursor (remote)
{
"mcpServers": {
"social0": {
"url": "https://mcp.social0.app/mcp"
}
}
}If your Cursor build doesn’t support remote/OAuth MCP yet, use local npx below.
Related MCP server: so-easy-mcp
Local npx (API key)
Needs Node.js 20+ and a sk_live_ key from API keys.
{
"mcpServers": {
"social0": {
"command": "npx",
"args": ["-y", "@social0/mcp"],
"env": {
"SOCIAL0_API_KEY": "sk_live_your_key_here"
}
}
}
}Unscoped
npx -y social0-mcpstill works as a deprecated alias.
Host | Where |
Cursor | Settings → MCP / |
Claude Desktop |
|
VS Code | Copilot MCP settings |
Try saying
“Show my connected Social0 accounts”
“Post this to LinkedIn and X”
“Schedule this for tomorrow at 9am UTC on Instagram and TikTok”
“Upload this image from a URL and publish it everywhere”
“How did my posts do over the last month?”
“Any comments I haven’t answered yet?”
“Reply to that Bluesky comment with a thank you”
Hosted vs local
Hosted | Local ( | |
URL / command |
|
|
Auth | OAuth |
|
Media |
|
|
What you can do
Publish or schedule to any connected platforms
Upload images and videos
Draft, edit, and delete before going live
Check per-platform publish status
Get suggestions for which platforms fit a caption
Read live metrics for a window or a single post (
get_analytics,get_post_analytics)Triage comments on posts you published, and reply, like, or hide them (
list_inbox_comments,reply_to_comment,moderate_comment)Read and answer DMs on networks that support them — X and Bluesky today (
list_inbox_dms,get_inbox_dm_thread,reply_to_dm)
Analytics and inbox read from each network at request time and cover posts published through Social0 (plus DMs on the connected account) — they are not a full social-listening feed. Replies and DMs go out publicly, so confirm the wording with the user before sending.
Help
AGENTS.md · Product docs · social0.app/mcp
License
MIT — see LICENSE.
Available Tools
13 toolscreate_postA
Create a new Social0 post draft with caption text, target platforms, and optional media. Use when the user wants to write or draft content without publishing immediately. Example: 'Create a LinkedIn post about AI.'
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | Media upload IDs from upload_media | |
| content | Yes | Post caption / text content | |
| platforms | Yes | Platform names (linkedin, twitter_x, etc.) or connected account UUIDs | |
| platform_options | No | Advanced per-platform settings. Supports content/caption and media per platform, plus pinterest board_id/title/link/create_board, tiktok title/privacy/draft/comment/duet/stitch/commercial/AI flags, instagram cover_image_url/trial_reel, youtube title, and x/twitter_x madeWithAi/paidPartnership. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It discloses that the tool creates drafts (non-destructive), but does not detail side effects, auth requirements, or behavior on repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: 3 sentences plus example. Front-loaded with key action and resource. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, nested objects, and no output schema, the description covers the essential behavior (draft creation, example) and implies the return is a draft object. Could mention that platforms accept UUIDs, but schema already does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds minimal value beyond schema by stating 'caption text', 'target platforms', and 'optional media', but does not elaborate on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'create', resource 'Social0 post draft', and distinguishes it from publishing tools by emphasizing 'without publishing immediately'. The example reinforces the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use when writing/drafting content without publishing. Implicitly excludes publishing use cases, but does not mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_postB
Permanently delete a Social0 draft or scheduled post. Use when the user wants to remove a post. Example: 'Delete yesterday's draft.'
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Post ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided so description carries full burden. States 'permanently delete' implies irreversibility, but no details on side effects, authorization, or limitations (e.g., cannot delete published posts).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus an example. Every word is necessary and front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param delete tool, covers basic purpose but omits important context like error handling, what happens to related data, and whether deletion requires confirmation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description. Parameter info adds no value beyond the schema, earning baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it permanently deletes a draft or scheduled post, providing a specific verb and resource. Distinguishes from sibling tools like update or publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells when to use ('when the user wants to remove a post') but does not specify when not to use or mention alternatives. Lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_postA
Get full details of a single Social0 post by ID, including caption, status, platforms, media, and schedule time.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Post ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explicitly states the returned fields, indicating a safe read operation. It does not mention auth, rate limits, or error conditions, but for a simple retrieval, the transparency is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, well-structured sentence with no fluff. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description lists the key fields returned, which is helpful. It does not specify the full response format or error handling, but for a simple read operation, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for post_id. The tool description adds 'by ID' but does not provide additional parameter semantics beyond what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (get), resource (single Social0 post by ID), and lists the specific details returned (caption, status, platforms, media, schedule time). This distinguishes it from sibling tools like list_posts (multiple posts) and create_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates usage for retrieving full details of a specific post, which is clear from context. However, it does not explicitly mention when not to use or provide alternatives beyond the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_publish_statusA
Check the publishing status of a post using its tracking ID. Returns overall status, per-platform progress, and any errors.
| Name | Required | Description | Default |
|---|---|---|---|
| tracking_id | Yes | Tracking ID returned from publish operations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description mentions return values (overall status, per-platform progress, errors) but does not disclose if the operation is read-only, safe to replay, or has rate limits. Adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that efficiently states the purpose and what it returns. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description explains return components (status, progress, errors). Although lacking structure details, it is reasonably complete for a simple status-checking tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage for the single parameter. The description reinforces the tracking_id's purpose but adds no new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Check' and the resource 'publishing status of a post', and specifies the method using tracking ID. It effectively distinguishes from sibling tools like publish_post or get_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after a publish operation to check status, but lacks explicit guidance on when to use vs alternatives, or when not to use. No exclusions or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_accountsA
List all social media accounts connected to the user's Social0 account. Use when the user asks to see connected accounts, which platforms are linked, or before creating a post to know available targets. Example: 'Show my connected accounts.'
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose return format, authentication needs, or any behavioral traits beyond listing. A simple read operation, but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus an example, front-loaded, no wasted words. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain the return value. It does not describe what fields are returned (e.g., platform names, IDs), leaving the agent uninformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline 4 applies. The description adds usage context but does not need to document parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists connected social media accounts. Distinguishes from some siblings by mentioning 'before creating a post', but does not differentiate from suggest_best_platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use: when user asks to see accounts or before creating a post. No exclusions or alternatives given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_postsA
List the user's Social0 posts with optional filters by status, platform, account, or search text. Use when the user asks to see drafts, scheduled posts, or published content. Example: 'Show all scheduled posts.'
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| search | No | Search in post content | |
| status | No | Filter by post status | |
| account | No | Filter by connected account UUID or unambiguous platform name | |
| platform | No | Filter by platform | |
| connected_account_id | No | Filter by connected account UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It mentions that it lists the user's posts with optional filters but does not cover pagination, ordering, rate limits, or response format. For a simple list tool, this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences and an example. No waste. The example illustrates a common use case. The description is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers main filters and use case, but for a list tool with a limit parameter and no output schema, it should mention pagination or that the limit controls max results. It is complete enough for a basic list but lacks details on response or limit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (83%), so baseline is 3. The description adds context by naming typical filters (status, platform, account, search) and their combined use, which helps the agent understand parameter roles beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists posts with optional filters, distinguishing it from siblings like create_post, delete_post. It specifies the resource (Social0 posts) and the action (list with filters).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says when to use it (for drafts, scheduled, published) and provides an example. However, it does not explicitly mention when not to use or compare with alternatives like get_post.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_nowA
Create a new post and publish it immediately in one step. Best for quick posts when no draft is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | Media IDs from upload_media | |
| content | Yes | Post caption | |
| platforms | Yes | Target platforms or account IDs | |
| platform_options | No | Advanced per-platform settings. Supports content/caption and media per platform, plus pinterest board_id/title/link/create_board, tiktok title/privacy/draft/comment/duet/stitch/commercial/AI flags, instagram cover_image_url/trial_reel, youtube title, and x/twitter_x madeWithAi/paidPartnership. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the core behavior (immediate create-and-publish), but does not mention permissions, reversibility, or return value. Adequate for a simple action but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 22-word sentence that is completely front-loaded with the action and usage context. No wasted words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the purpose and use case but omits what the tool returns (no output schema). Given 4 parameters and nested objects, the description should mention the result (e.g., post ID) for full completeness. The schema covers param details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds no additional meaning about parameters. Baseline of 3 is appropriate as the schema already documents each parameter thoroughly, including the detailed platform_options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new post and publish it immediately in one step') with a specific verb+resource combination, and distinguishes from siblings by noting it's 'best for quick posts when no draft is needed.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'when no draft is needed,' guiding when to use this tool vs. alternatives like create_post or schedule_post. It does not name alternatives directly but the exclusion is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_postA
Publish an existing Social0 draft immediately to connected platforms. Returns a tracking ID to monitor progress. Example: 'Publish my latest draft to Twitter.'
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | Optional media IDs from upload_media to attach before publishing | |
| post_id | Yes | Draft or scheduled post ID to publish immediately | |
| platforms | No | Optional subset of platforms/account IDs to publish to | |
| platform_options | No | Advanced per-platform settings. Supports content/caption and media per platform, plus pinterest board_id/title/link/create_board, tiktok title/privacy/draft/comment/duet/stitch/commercial/AI flags, instagram cover_image_url/trial_reel, youtube title, and x/twitter_x madeWithAi/paidPartnership. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states that it returns a tracking ID for progress monitoring, but does not disclose side effects (e.g., what happens if the draft is already published), required permissions, or error behavior. This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences and an example. It is front-loaded with the core purpose, and every part is informative without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, a nested object, and no output schema, the description is somewhat minimal. It mentions the return of a tracking ID but does not specify the output structure or error scenarios. It covers the main use case but lacks depth for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. The description adds no additional semantic information beyond the schema (e.g., format, constraints). The example mentions 'draft' and 'Twitter', which aligns with post_id and platforms, but does not enhance meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Publish'), the resource ('existing Social0 draft'), and the scope ('immediately to connected platforms'). It also provides an example query, which reinforces understanding. This distinguishes it from siblings like 'schedule_post' or 'publish_now'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for drafts that need immediate publication, but does not explicitly state when to use this tool versus alternatives like 'publish_now' or 'schedule_post'. No exclusion criteria or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_contentA
Create a new post and schedule it for future publishing in one step. Example: 'Schedule a LinkedIn post about our launch for tomorrow at 9 AM.'
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | Media IDs from upload_media | |
| content | Yes | Post caption | |
| platforms | Yes | Target platforms or account IDs | |
| scheduled_at | Yes | ISO 8601 datetime to publish | |
| platform_options | No | Advanced per-platform settings. Supports content/caption and media per platform, plus pinterest board_id/title/link/create_board, tiktok title/privacy/draft/comment/duet/stitch/commercial/AI flags, instagram cover_image_url/trial_reel, youtube title, and x/twitter_x madeWithAi/paidPartnership. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. Only indicates creation and scheduling; lacks details on error conditions, success response, permissions, or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded action and a helpful example. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate but lacks return value info, error handling, and relationship to upload_media. Given 5 params and no output schema, more detail would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters. Description adds minimal value beyond schema with an example; no extra semantic detail about each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb (create and schedule) and resource (post). Distinguishes from sibling tools like create_post (which may not schedule) and schedule_post (which may schedule existing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an example but no explicit guidance on when to use vs alternatives like schedule_post or publish_now. Usage is implied by name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_postB
Schedule an existing Social0 post for future publishing at a specific date and time. Example: 'Schedule tomorrow's announcement at 9 AM.'
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | Optional media IDs from upload_media to attach before scheduling | |
| post_id | Yes | Post ID to schedule | |
| platforms | No | Optional subset of platforms/account IDs | |
| scheduled_at | Yes | ISO 8601 datetime, e.g. 2026-07-12T09:00:00.000Z | |
| platform_options | No | Advanced per-platform settings. Supports content/caption and media per platform, plus pinterest board_id/title/link/create_board, tiktok title/privacy/draft/comment/duet/stitch/commercial/AI flags, instagram cover_image_url/trial_reel, youtube title, and x/twitter_x madeWithAi/paidPartnership. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It fails to disclose behavioral traits such as validation of post existence, handling of invalid dates, or whether scheduling modifies the original post. Missing critical context for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with an example, front-loaded with key information, and contains no redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 5 parameters, nested objects (platform_options), and no output schema, the description is insufficient. It omits any explanation of return values, error conditions, or parameter interactions, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are adequately documented. The description adds no additional meaning beyond the schema, such as parameter relationships or format nuances. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool schedules an existing post for future publishing, using the verb 'schedule' and specifying the resource. The example reinforces usage. It distinguishes from siblings like 'publish_now' and 'schedule_content'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for future scheduling but does not explicitly state when to use versus alternatives, prerequisites (post must exist), or limitations (e.g., time constraints). Guidance is inferred but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_best_platformsA
Analyze post content and recommend which social platforms are the best fit. Considers text length, media presence, and connected accounts. Example: 'Which platforms should I publish this to?'
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Post content to analyze | |
| has_media | No | ||
| media_type | No | Explicit content type. Prefer image/video/collection over only toggling has_media. | |
| media_is_video | No | Whether attached media is video |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It indicates the tool is read-only and uses connected accounts for recommendations, but it does not mention authentication requirements, rate limits, or how recommendations are generated (e.g., deterministic vs. AI-based). This leaves significant ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus an example, no redundant information. The description is tightly written and every sentence adds value. Example demonstrates typical usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, yet the description omits what the recommendations look like (e.g., list of platform names, scores, reasons). It does not cover edge cases like incomplete content or missing connected accounts. Given the lack of output schema, the description should provide more details on return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes 75% of parameters well. The description adds general context (e.g., 'media presence') but does not clarify the relationship between has_media, media_type, and media_is_video. Since schema coverage is high, the description's marginal contribution is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes post content and recommends the best-fit social platforms. It mentions specific criteria (text length, media presence, connected accounts) and includes an example query, making the purpose highly specific and distinct from sibling tools that focus on posting actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for pre-publish analysis when deciding which platforms to use, but it does not explicitly state when to use it versus alternatives like create_post or publish_now. No direct guidance on when-not-to-use or exclusions is provided, relying on context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_postA
Update an existing Social0 draft or scheduled post — change caption, platforms, or media. Use when the user wants to edit a post before publishing.
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | Updated media IDs | |
| content | No | Updated caption | |
| post_id | Yes | Post ID to update | |
| platforms | No | Updated target platforms or account IDs | |
| platform_options | No | Advanced per-platform settings. Supports content/caption and media per platform, plus pinterest board_id/title/link/create_board, tiktok title/privacy/draft/comment/duet/stitch/commercial/AI flags, instagram cover_image_url/trial_reel, youtube title, and x/twitter_x madeWithAi/paidPartnership. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It identifies this as a mutation and lists updatable fields, but doesn't disclose idempotency, required permissions, validation behavior, or side effects (e.g., does updating a scheduled post affect scheduling?). Missing critical behavioral traits for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Front-loaded with purpose, immediately usable by an agent. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 5 parameters (including a complex nested object) and no output schema, the description is minimal. It omits the advanced platform_options details, return value expectations, and edge cases (e.g., what happens if post is already published). Leaves the agent underinformed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. The description restates three parameters (caption, platforms, media) but adds no new detail, especially for the complex 'platform_options' parameter. Does not compensate beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action 'Update' and the resource 'existing Social0 draft or scheduled post', with specific modifiable elements (caption, platforms, media). It distinguishes from siblings like publish_post by clarifying it applies to pre-publishing edits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly states 'Use when the user wants to edit a post before publishing', providing direct usage context. Lacks explicit when-not-to-use or alternative recommendations, but the sibling set makes the scope reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_mediaA
Upload an image or video to Social0 and get a media ID for posts. For remote AI hosts (Claude.ai, ChatGPT), pass url (public direct file URL) or data (base64). file_path only works when the MCP server can read that path on its own machine.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http(s) URL to download. Must be a direct file link the server can fetch. | |
| data | No | Base64 file bytes or a data: URL (data:image/png;base64,...). | |
| filename | No | Filename with extension (required for bare base64 data; optional for url). | |
| file_path | No | Local path on the MCP server machine. Do not use for remote sandboxes. | |
| mime_type | No | MIME type if not clear from filename/url (e.g. image/png). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that file_path only works on local server and implies a write operation. However, it lacks details on idempotency, duplicate handling, or media size limits, which are useful for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and to the point. The second sentence is slightly dense but effectively packs key usage notes. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description only vaguely mentions 'get a media ID'. It doesn't specify the return format or error cases. For a tool with 5 optional parameters, more detail on expected outcome would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds context: clarifies url vs data usage, warns about direct file links, and notes that filename is required for bare base64. This adds meaningful value beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it uploads an image/video to Social0 and returns a media ID for posts. It clearly distinguishes from sibling tools like create_post or delete_post by focusing specifically on media upload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on parameter choice: url/data for remote hosts, file_path only for local files. Warns about remote sandboxes. However, it doesn't explicitly state when to use this tool versus alternatives like posting directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
v0.3.0- First observed
create_post - First observed
delete_post - First observed
get_post - First observed
get_publish_status - First observed
list_accounts - First observed
list_posts - First observed
publish_now - First observed
publish_post - First observed
schedule_content - First observed
schedule_post - First observed
suggest_best_platforms - First observed
update_post - First observed
upload_media
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes, but the creation tools (create_post, publish_now, schedule_content) and the action-on-existing tools (publish_post, schedule_post) are overlapping enough that an agent might select the wrong one without careful reading. However, descriptions resolve the ambiguity.
The naming pattern is predominantly verb_noun (create_post, delete_post, etc.), but there are inconsistent outliers like 'publish_now', 'get_publish_status', 'suggest_best_platforms', and 'schedule_content'. This mix of patterns reduces predictability.
With 13 tools, the server is well-scoped for a social media posting/scheduling service. Each tool addresses a specific need, and the count falls comfortably within the 3-15 range that typically indicates appropriate granularity.
The tool set covers the full lifecycle of post creation, editing, deletion, scheduling, and publishing, plus media upload and platform suggestions. Missing are account management (disconnect) and media library operations, but these are minor gaps for the core use case.
Maintenance
Related MCP Connectors
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Social media MCP: publish, schedule & analyze posts on TikTok, Instagram, YouTube, LinkedIn & X
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Publer social media management API, enabling AI assistants to schedule posts, upload media, pull analytics, and manage accounts across 15+ social networks.157021MIT
- AlicenseNot gradedqualityCmaintenanceA full social media management MCP server enabling post, read, schedule, and analyze across Facebook, Instagram, LinkedIn, X/Twitter, Pinterest, and YouTube from any MCP-compatible AI client.MIT
- AlicenseAqualityCmaintenanceMCP server for QPost that lets AI agents schedule and publish video/image posts to YouTube, TikTok, and Instagram via QPost's REST API.721MIT

OwlStack MCPofficial
AlicenseAqualityCmaintenanceManages social media posts, accounts, and AI usage from MCP-aware clients. Supports scheduling, editing, canceling, AI caption generation, and repurposing URLs into platform-optimized content.14MIT