SocialDispatch MCP Server
Allows publishing and scheduling posts to connected Facebook Pages, including media attachments and custom video thumbnails.
Allows publishing and scheduling posts to connected Instagram accounts.
Allows publishing and scheduling content to connected TikTok accounts.
Allows uploading and publishing YouTube videos, including titles, descriptions, tags, custom thumbnails, and scheduling.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SocialDispatch MCP ServerSchedule a post about our spring sale for tomorrow at 9am on Instagram and X"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SocialDispatch Model Context Protocol (MCP) Server
The official Model Context Protocol (MCP) server for SocialDispatch.
Connects AI coding assistants and autonomous agents (such as Claude Desktop, Google Antigravity, Cursor, Windsurf, and Cline) directly to your social media accounts. Let AI agents manage, generate, schedule, and publish content across Facebook Pages, YouTube, TikTok, Instagram, and X (Twitter).
⚡ Quickstart
Prerequisites
SocialDispatch Account: Sign up at socialdispatch.site and connect your social profiles.
API Key: Generate an API key from your workspace settings (starts with
sd_live_...).Node.js:
v18.0.0or higher.
Related MCP server: Publora MVP MCP Server
🛠️ Client Configuration
1. Claude Desktop
Add the following to your configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"socialdispatch": {
"command": "npx",
"args": ["-y", "@socialdispatch/mcp-server"],
"env": {
"SOCIALDISPATCH_API_URL": "https://api.socialdispatch.site",
"SOCIALDISPATCH_API_KEY": "sd_live_YOUR_API_KEY_HERE"
}
}
}
}Tip: You can also run directly from GitHub without installing:
"args": ["-y", "github:MahbbRah/socialdispatch-mcp"]
2. Google Antigravity / Gemini CLI
Add to ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"socialdispatch": {
"command": "npx",
"args": ["-y", "@socialdispatch/mcp-server"],
"env": {
"SOCIALDISPATCH_API_URL": "https://api.socialdispatch.site",
"SOCIALDISPATCH_API_KEY": "sd_live_YOUR_API_KEY_HERE"
}
}
}
}3. Cursor & Windsurf
Add to .cursor/mcp.json or your MCP Settings pane:
{
"mcpServers": {
"socialdispatch": {
"command": "npx",
"args": ["-y", "@socialdispatch/mcp-server"],
"env": {
"SOCIALDISPATCH_API_URL": "https://api.socialdispatch.site",
"SOCIALDISPATCH_API_KEY": "sd_live_YOUR_API_KEY_HERE"
}
}
}
}🧠 Agent Skill: One-Shot Publishing (/socialdispatch-publish)
This repository includes a pre-built agent skill at skills/socialdispatch-publish/SKILL.md.
It provides AI assistants with step-by-step procedures to post or schedule to Facebook, YouTube, Instagram, and X without code inspection or token burn. It handles:
YouTube uploads: Titles, video descriptions, tags, and custom video thumbnail pairing.
YouTube Shorts auto-detection: Correct aspect ratio & duration handling (
#Shorts).Multi-channel dispatch: Posting across Facebook Pages, Instagram, and X in a single command.
How to Install the Skill:
For Google Antigravity / Gemini CLI:
Copy the skill into your Gemini skills directory:
mkdir -p ~/.gemini/skills/socialdispatch-publish
cp skills/socialdispatch-publish/SKILL.md ~/.gemini/skills/socialdispatch-publish/Once installed, your agent automatically activates the skill whenever you ask to publish, or you can trigger it via the /socialdispatch-publish slash command.
For Cursor / Windsurf / Claude:
Copy the content of skills/socialdispatch-publish/SKILL.md into your .cursorrules, project rules, or Claude Project Custom Instructions.
🧰 Available Tools (14 Tools)
🚀 Publishing & Scheduling
Tool | Parameters | Description |
| (none) | Returns connected accounts (Facebook Pages, YouTube, TikTok, Instagram, X) with channel IDs, account names, and connection status. |
|
| Uses the SocialDispatch copywriting engine to write platform-optimized copy with appropriate hashtags and character limits. |
|
| Uploads local images ( |
|
| Immediately publishes to one or more connected channels with media attachments and custom video thumbnails. |
|
| Schedules a post for a specific ISO-8601 UTC timestamp or the next optimal posting slot. |
|
| One-shot tool: drafts tailored copy for the target channels and automatically publishes or schedules. |
|
| Fetches live publishing status, platform post links, and platform-specific error messages. |
|
| Retrieves recent posts, scheduled queues, and execution history. |
|
| Edits copy or reschedules a pending queued post. |
|
| Cancels and permanently deletes a scheduled post. |
💡 Content Pipeline & Workflow
Tool | Parameters | Description |
|
| Adds brainstorming ideas into your team's content ideation backlog. |
|
| Queries items in the production pipeline across stages: |
|
| Transitions an item forward in the pipeline with updated assets or review notes. |
|
| Picks up the highest-priority item ready for the next creation step. |
💻 Local Development & Contributing
1. Clone & Install
git clone https://github.com/MahbbRah/socialdispatch-mcp.git
cd socialdispatch-mcp
npm install2. Build TypeScript
npm run build3. Run Dev Server with Live Reload
export SOCIALDISPATCH_API_URL="https://api.socialdispatch.site"
export SOCIALDISPATCH_API_KEY="sd_live_..."
npm run dev4. Test via MCP Inspector
You can inspect and debug the tools interactively using the official MCP inspector:
npx @modelcontextprotocol/inspector node dist/index.js📄 License
This project is licensed under the MIT License.
Available Tools
14 toolsadd_content_ideasA
Batch adds new content ideas/plans into the SocialDispatch pipeline queue in IDEA stage. Allows brainstorming and researching batches of content ideas (up to 50 at once).
| Name | Required | Description | Default |
|---|---|---|---|
| ideas | Yes | List of content ideas to insert into the queue | |
| accountId | No | Optional default target social account/page ID for these ideas | |
| workspaceId | No | Target workspace ID (optional if using default API key workspace) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden, and it does disclose two real behavioral facts: the operation is a batch insert and it caps at 50 items per call, and inserted items land in the IDEA stage. It omits what matters most for an unannotated write tool — duplicate handling, partial-failure semantics, permission requirements, and whether IDEA is a starting stage that can be advanced.
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, front-loaded with the verb, resource, destination, and stage; the batch cap sits in the second sentence where it belongs. No filler and nothing restating the title.
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?
There is no output schema, yet the description says nothing about what an insert returns (created IDs? count? per-item errors), which an agent needs to chain into update_content_progress. The pipeline framing is present but the surrounding workflow — what 'IDEA stage' implies for subsequent calls — is left implicit.
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%, including descriptions for the nested idea object fields and the optional accountId/workspaceId, so the schema already does the explanatory work and baseline 3 applies. The description adds only the 50-item ceiling on `ideas`, which is genuinely useful but is the sole semantic addition.
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?
States a specific verb and resource ('Batch adds new content ideas/plans') plus the exact target and resulting state ('SocialDispatch pipeline queue in IDEA stage'), which no sibling does — list_content_pipeline and update_content_progress operate on items already in the queue. An agent can distinguish this from generate_social_content (which generates copy) at a glance.
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?
'Allows brainstorming and researching batches of content ideas (up to 50 at once)' implies the up-front ideation phase, but never states when to use this versus generate_social_content or how it relates to update_content_progress / get_next_pipeline_item downstream. Usage is inferred rather than prescribed; no exclusions or preconditions (e.g., required workspace context) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_social_postA
Delete a post from SocialDispatch. Supports deleting locally only, or deleting both locally and from connected live platforms (Facebook, X/Twitter, YouTube).
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The unique ID of the post to delete | |
| deleteFromPlatform | No | If true, deletes the post from connected social media platforms (X/Twitter, Facebook, YouTube) in addition to deleting locally in SocialDispatch. Defaults to false (local delete only). Note that Instagram and TikTok APIs do not support automated post deletion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses which platforms support remote deletion and that Instagram/TikTok do not, which is valuable, but it never states that deletion is irreversible, what permissions are required, or how partial failure is handled when a platform-side delete fails.
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, with the core action stated first and the mode distinction second. Nothing could be removed without losing 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?
For a 2-parameter destructive tool with no annotations and no output schema, the description covers purpose and modes but says nothing about the result of the call (e.g., whether platform-specific failures are reported) or the irreversibility of the action. The schema is fully documented, so this is adequate but leaves a real gap around destructive semantics.
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 schema already documents both postId and deleteFromPlatform in detail, including the Instagram/TikTok limitation. The description only restates the two modes at a higher level, adding no syntax or edge-case meaning beyond the schema, so baseline 3 applies.
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 gives a specific verb and resource ("Delete a post from SocialDispatch") and immediately clarifies the two deletion scopes, so the agent knows exactly what the tool does. It does not name or contrast with any sibling tool, but no sibling in the list performs deletion, so the ambiguity is low.
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 two modes (local-only vs. local-plus-platform) are described, which implies when each is appropriate, but there is no explicit "use this when..." framing, no prerequisites, and no exclusions or alternatives mentioned. The agent must infer that this is the terminal action after publish_social_post or schedule_social_post.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_and_publish_postC
End-to-end AI agent action: Generates platform-tailored copies (Facebook, Instagram, X) from a topic and immediately publishes (or schedules) across target connections. Supports remote media URLs or local file paths directly.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | Tone of voice | |
| topic | Yes | Topic, product announcement, or instructions for the AI copywriter | |
| linkUrl | No | Optional link to attach | |
| mediaUrls | No | Optional array of image or video URLs to attach (or local file paths, which will be automatically uploaded) | |
| accountIds | Yes | Target connection IDs to publish to | |
| mediaFiles | No | Optional array of local file paths on disk (e.g. ["/path/to/video.mp4"]) to upload directly to SocialDispatch storage and attach to post | |
| scheduledAt | No | Optional ISO-8601 datetime if scheduling for future | |
| publishImmediately | No | Whether to publish immediately (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states that content is published immediately or scheduled, but does not disclose permission requirements, whether publishing is irreversible, how multi-account failures are handled, or what the tool returns. For an external publishing action, these are significant omissions.
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 front-loads the core action. It is efficient, though the opening phrase 'End-to-end AI agent action' is slightly padded and could be removed without losing meaning.
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?
This is a complex, multi-account publishing tool with 8 parameters, no annotations, and no output schema, yet the description omits return behavior, side effects, and guidance versus sibling tools. The schema is complete, but the description is not sufficient for safe invocation of an irreversible publishing action.
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%, with every parameter documented in the schema itself. The description reinforces remote media URL and local file path support, but adds no semantics beyond what the schema already provides.
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 states a specific compound action: generating platform-tailored copies for Facebook, Instagram, and X from a topic, then publishing or scheduling across target connections. It is clear what the tool does. However, it does not explicitly distinguish itself from the separate generate_social_content, publish_social_post, and schedule_social_post siblings.
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 phrase 'End-to-end AI agent action' implies a one-shot workflow, but the description never says when to use this combined tool versus the separate generate/publish/schedule siblings, nor when not to use it. No preconditions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_social_contentA
Generate platform-tailored social media post drafts for Facebook, Instagram, and X (Twitter) from a topic, idea, or link using SocialDispatch AI copywriting engine.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | Tone of voice for the copy (default: engaging) | |
| topic | Yes | The core topic, announcement, or rough draft notes to turn into social posts | |
| linkUrl | No | Optional URL link to include in the generated copy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses that output is drafts (not published posts) and that copy is tailored per platform by an AI engine, but it omits how many drafts are returned, whether they are per-platform variants, and any auth or rate-limit behavior.
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 front-loaded sentence with no filler; the platforms and inputs are packed in 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?
With no annotations and no output schema, the description should explain what comes back (one draft per platform? character-limit awareness?) and that nothing is posted. It covers the what and the inputs adequately but leaves the return shape and non-publishing guarantee underspecified.
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 schema already defines topic, tone (with enum), and linkUrl. The description restates topic/link sources but adds nothing about tone selection or default behavior beyond what the schema declares, so baseline 3 applies.
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?
States a specific verb (generate) and resource (social media post drafts), names the three target platforms and the input sources (topic, idea, link). The word 'drafts' implicitly separates it from publish_social_post and generate_and_publish_post, though no sibling is named explicitly.
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?
Usage context is implied by 'drafts' and 'from a topic, idea, or link', so an agent can infer this comes before publish_social_post or schedule_social_post. However, there is no explicit when-to-use/when-not statement, no mention of generate_and_publish_post as the one-shot alternative, and no prerequisites given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_next_pipeline_itemB
Retrieves the next oldest or prioritized ungenerated content item from the pipeline queue to resume work where left off across sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| stage | No | The pipeline stage to pull next item from (default: IDEA) | |
| accountId | No | Filter by target social account ID (optional) | |
| workspaceId | No | Target workspace ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and no output schema, so the description carries the full burden, yet it never says whether pulling an item mutates queue state or reserves/locks it, what happens when the queue is empty, or how ordering ('oldest or prioritized') is decided. The one behavioral hint is the cross-session resume framing.
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 front-loaded sentence with no filler. The only cost is that 'oldest or prioritized' is compressed into an undefined term rather than elaborated.
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 to select the tool, but for a queue-advancing operation with no annotations and no output schema, an agent still lacks the empty-queue behavior, side-effect semantics, and any notion of what the returned item contains.
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% (stage enum with default, accountId, workspaceId all documented), so the baseline is 3. The description adds only the vague 'prioritized' ordering concept, which is not tied to any parameter and is never explained.
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?
States a specific verb and resource ('Retrieves ... next ... ungenerated content item from the pipeline queue') with scope (oldest or prioritized). It is reasonably distinguishable from list_content_pipeline, though it never names that sibling or explains the split between listing the pipeline and pulling one item.
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?
'To resume work where left off across sessions' implies a usage context but gives no explicit when-to-use vs. when-to-use-alternatives guidance. An agent is left to infer that list_content_pipeline is for inspection and this tool is for advancing work.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_statusA
Check publication status, external live URLs, and execution logs for a specific post in SocialDispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The unique ID of the post to inspect |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. "Check" implies a read-only operation and the description usefully names the kinds of information returned, but it does not explicitly state side effects, permissions, or rate limits.
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 a single front-loaded sentence with no wasted words. It efficiently covers the action, the target, and the information returned.
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?
This is a simple one-parameter read tool with a fully documented schema and no output schema. The description explains what information the tool surfaces, which is enough for an agent to call it correctly, though it could mention error behavior for invalid post IDs.
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 schema has 100% description coverage and clearly documents the single postId parameter. The description only says "for a specific post" and adds no further parameter meaning beyond what the schema provides, so the 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 gives a specific verb ("Check") and resource ("publication status, external live URLs, and execution logs for a specific post"), making the tool's purpose clear. It does not explicitly contrast itself with sibling tools such as list_recent_posts, so it falls short of a 5.
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?
Usage is implied by "for a specific post," since the tool clearly applies when inspecting a known post. However, there is no explicit guidance on when to use this versus alternatives like list_recent_posts, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_content_pipelineB
Returns current queued items in the SocialDispatch content pipeline, showing counts and progress (e.g. 3 generated, 7 pending ideas).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of items to return (default: 50) | |
| stage | No | Optional filter by content stage (IDEA, SCRIPTED, GENERATING, GENERATED, etc.) | |
| accountId | No | Optional filter by social account ID | |
| workspaceId | No | Target workspace ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It signals a read-style operation and explains the content of the result, but doesn't say whether it returns item records or only aggregates, nor how pagination via 'limit' interacts with the counts shown. No permission or rate-limit context either.
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 well-formed sentence with the resource stated up front and a concrete illustrative example. The example is the only arguable extra, but it clarifies the output shape, so nothing is wasteful.
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 read-only list tool with no required parameters, full schema coverage and no output schema, the description is nearly adequate. The remaining gap is the tension between 'queued items' and 'counts and progress' — an agent can't tell whether it gets rows or aggregates.
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 every parameter is already documented in the schema, setting the baseline at 3. The description adds no extra meaning about the filters (stage, accountId, workspaceId) or how limit applies to the counts.
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 names a specific verb ('Returns'), a clear resource ('queued items in the SocialDispatch content pipeline') and even characterizes the payload ('counts and progress'). It never distinguishes itself from siblings like get_next_pipeline_item or list_recent_posts, so an agent must infer the boundary from the name alone.
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?
There is no statement of when to call this versus the closely related siblings (get_next_pipeline_item for acting on the next item, update_content_progress for advancing items, add_content_ideas for enqueueing). Usage is only implied by the word 'queued', leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_postsA
List recent posts in SocialDispatch to see publishing history, scheduled queue items, and statuses.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of posts to return (default: 10, max: 50) | |
| status | No | Filter posts by status |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. 'List' implies a read operation and the description adds that it surfaces history/queue/statuses, but it does not explicitly state read-only safety, permissions, ordering, or pagination behavior.
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?
One front-loaded sentence states the core action and resource with no filler or repetition. It is appropriately sized for a simple list tool.
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 two-parameter list tool with complete schema descriptions and no output schema, the description gives enough context to understand what categories of posts are returned. It could mention ordering or default recency behavior, but the essentials are covered.
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 the limit and status parameters are already fully documented in the schema. The description adds no parameter-specific semantics beyond the schema, making the baseline 3 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?
States a specific verb and resource ('List recent posts') plus the scope of what is surfaced: publishing history, scheduled queue items, and statuses. It implies a collection view distinct from get_post_status, though it does not explicitly name sibling alternatives.
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 when to use the tool—reviewing publishing history or the scheduled queue—but does not give explicit when/when-not guidance or name alternatives such as get_post_status for checking one post. Usage is inferable but not directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_social_connectionsA
List all connected social media accounts/pages (Facebook Pages, Instagram, X/Twitter, TikTok, YouTube) in SocialDispatch. Returns connection IDs, names, platforms, and connection status.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Filter connections by specific platform (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does disclose useful return content (connection IDs, names, platforms, status). However, it does not explicitly state this is a non-mutating read, nor address pagination, ordering, or whether all connections are always returned without the platform filter.
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 tight sentences with no waste: the resource and scope come first, followed immediately by the returned fields. Every sentence 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?
For a simple single-optional-param list tool with no output schema but with the return shape summarized in prose, the description is essentially complete. Minor gaps are pagination and explicit read-only assurance, which are low-risk for a listing operation.
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 single optional platform filter is already fully documented in the schema including its enum values. The description adds no syntax or format detail beyond implying platform filtering via the enumerated platforms; baseline 3 applies.
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 states a specific verb (List) and resource (connected social media accounts/pages) and enumerates the supported platforms and returned fields. It is clearly distinct from all sibling tools, which are publish/schedule/update/pipeline operations rather than reads of connection inventory.
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?
Usage is only implied: an agent can infer this is the way to discover connection IDs before calling publish_social_post or schedule_social_post. It never states when to use this versus alternatives, whether results are paginated, or any prerequisites (auth, workspace scoping).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_social_postB
Publish a social post immediately across one or more connected social accounts in SocialDispatch. Supports remote media URLs or local file paths directly.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Keywords/tags for video discovery (supported on YouTube SEO). | |
| title | No | Video title for platforms requiring dedicated titles (e.g. YouTube). Max 100 characters. If omitted, falls back to the first line of content. | |
| content | No | Text caption/content of the post (or video description on YouTube) | |
| isShort | No | Explicitly designate video as a YouTube Short (appends #Shorts to title and formats link as youtube.com/shorts/...). If omitted, auto-detected from aspect ratio and duration. | |
| linkUrl | No | Optional URL for link preview card | |
| mediaUrls | No | Optional array of publicly accessible image or video URLs to attach (or local file paths, which will be automatically uploaded) | |
| accountIds | Yes | List of connection IDs to publish to (obtained via list_social_connections) | |
| mediaFiles | No | Optional array of local file paths on disk (e.g. ["/path/to/video.mp4"]) to upload directly to SocialDispatch storage and attach to post | |
| thumbnailUrl | No | Optional public image URL to use as custom video thumbnail (supported for YouTube, Facebook, and TikTok; JPEG/PNG recommended max 2MB for YouTube, up to 10MB for Facebook) | |
| privacyStatus | No | Video privacy visibility (supported on YouTube, defaults to "public"). | |
| thumbnailFile | No | Optional local file path to a custom thumbnail image on disk (e.g. "/path/to/thumb.jpg") to automatically upload and set for YouTube, Facebook, or TikTok videos | |
| tiktokThumbnail | No | Alias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for TikTok video uploads | |
| variantContents | No | Optional dictionary of platform-specific or account-specific text overrides (e.g. {"facebook": "...", "x": "..."}) | |
| youtubeThumbnail | No | Alias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for video uploads | |
| facebookThumbnail | No | Alias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for Facebook video uploads |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full behavioral burden. It discloses two useful traits beyond the schema: publishing is immediate (no scheduling) and local file paths are auto-uploaded rather than rejected. It omits what an agent most needs for a multi-platform write: failure semantics (does one failed account abort the rest?), whether posts are live/public immediately and how to undo, and any rate or size limits.
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 tight sentences with the core action front-loaded and the media note second. Nothing is wasted, though the second sentence largely restates schema content rather than adding decision-relevant 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?
For a 15-parameter, multi-platform, nested-object publishing tool with no annotations and no output schema, the description is thin: it says nothing about the result (per-account outcomes/IDs), partial-failure behavior, or platform-specific constraints. The rich schema compensates for parameter-level gaps, but the operational picture is incomplete.
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 the schema already explains all 15 parameters in detail, including aliases and platform support. The description only echoes the media-URL/local-path distinction already documented in mediaUrls and mediaFiles, adding no syntax or precedence guidance (e.g. when to use mediaUrls vs mediaFiles).
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?
States a specific verb (publish) and resource (social post) plus scope: one or more connected accounts in SocialDispatch. The word 'immediately' implicitly distinguishes it from schedule_social_post, but no sibling is named, so differentiation is only implied.
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?
Usage is only inferable from 'publish ... immediately' – an agent can guess this is the now-path versus schedule_social_post or generate_and_publish_post, but the description never says so, nor does it state prerequisites such as requiring connected accounts or that content/media must satisfy per-platform rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_social_postB
Schedule a social post for a specific future date/time or into the next scheduled queue slot. Supports remote media URLs or local file paths directly.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Keywords/tags for video discovery (supported on YouTube SEO). | |
| title | No | Video title for platforms requiring dedicated titles (e.g. YouTube). Max 100 characters. If omitted, falls back to the first line of content. | |
| content | No | Text caption/content of the post (or video description on YouTube) | |
| isShort | No | Explicitly designate video as a YouTube Short (appends #Shorts to title and formats link as youtube.com/shorts/...). If omitted, auto-detected from aspect ratio and duration. | |
| linkUrl | No | Optional URL link | |
| mediaUrls | No | Optional array of media URLs (or local file paths, which will be automatically uploaded) | |
| accountIds | Yes | List of connection IDs to post to | |
| mediaFiles | No | Optional array of local file paths on disk (e.g. ["/path/to/video.mp4"]) to upload directly to SocialDispatch storage and attach to post | |
| scheduledAt | No | ISO-8601 datetime string when the post should be published (e.g. "2026-10-15T15:30:00Z") | |
| thumbnailUrl | No | Optional public image URL to use as custom video thumbnail (supported for YouTube, Facebook, and TikTok; JPEG/PNG recommended max 2MB for YouTube, up to 10MB for Facebook) | |
| useQueueSlot | No | If true, automatically assigns the post to the next available configured posting slot | |
| privacyStatus | No | Video privacy visibility (supported on YouTube, defaults to "public"). | |
| thumbnailFile | No | Optional local file path to a custom thumbnail image on disk (e.g. "/path/to/thumb.jpg") to automatically upload and set for YouTube, Facebook, or TikTok videos | |
| tiktokThumbnail | No | Alias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for TikTok video uploads | |
| variantContents | No | Optional platform-tailored text overrides | |
| youtubeThumbnail | No | Alias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for video uploads | |
| facebookThumbnail | No | Alias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for Facebook video uploads |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It adds only one behavioral fact — that local file paths are automatically uploaded — and says nothing about the fact that accountIds are connection IDs that must already exist, what happens on partial platform failure, whether the created post can be edited/unscheduled afterwards, or any validation/permission requirements. For a 17-parameter mutating tool this is a substantial disclosure gap.
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 tightly written sentences, front-loaded with the core action and scheduling modes. No filler, no repetition of the name or title.
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 17 parameters, a nested variantContents object, and no output schema, yet the description never says what a successful call returns (a post ID? a scheduled job?) or how to subsequently inspect it via get_post_status. It also does not explain how scheduledAt and useQueueSlot interact when both are supplied. For this complexity level the description is under-specified.
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 all parameters including the thumbnail alias maze and variantContents are already documented in the schema. The description only restates the media URL / local path support and adds no semantics beyond that. Baseline 3 applies when the schema does the heavy lifting.
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?
States a specific verb+resource ("schedule a social post") and distinguishes two timing modes: explicit datetime vs. next queue slot. It also notes media source flexibility. It does not explicitly differentiate itself from the sibling publish_social_post (immediate publishing) or update_social_post, so the boundary is left implicit.
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 when to use it (future-dated or queued posting) and hints at the scheduledAt vs. useQueueSlot choice, but never states when NOT to use it or which sibling to pick for immediate publishing or editing an existing post. Usage is inferable from the purpose line rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_content_progressA
Updates progress of a content item after script generation or media rendering (transitions stage to SCRIPTED, GENERATING, or GENERATED, and attaches script or media).
| Name | Required | Description | Default |
|---|---|---|---|
| stage | Yes | The updated stage (typically SCRIPTED, GENERATING, or GENERATED) | |
| itemId | Yes | The unique ID of the content item in the pipeline | |
| script | No | Updated voiceover script, body text, or refined caption | |
| mediaUrl | No | Remote public media URL (if already uploaded or hosted remotely) | |
| workspaceId | No | Target workspace ID (optional) | |
| localMediaPath | No | Local file path on disk where rendered video or image is stored |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure; it does disclose the main side effects — it mutates the item's stage (SCRIPTED, GENERATING, GENERATED) and attaches script or media. It is silent on whether stage transitions are validated or reversible, what happens to previously attached media or script, whether either is overwritten, and what errors result from an invalid transition.
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 sentence with the action, trigger, and effects front-loaded in that order; there is no filler or 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?
For a 6-parameter mutation with fully described schema and enum, the description covers purpose, timing, and effects adequately. Gaps are the absence of any return/confirmation detail (there is no output schema to lean on) and the lack of validation or overwrite semantics when both script and media paths are supplied.
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% and the enum documents valid stage values, so the schema does the heavy lifting. The description only restates the script/media attachment role and typical stages, saying nothing about how mediaUrl and localMediaPath relate or what workspaceId scoping does, so it adds little 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?
States a specific verb and resource ('Updates progress of a content item') plus the lifecycle moments that trigger it (after script generation or media rendering), and names the concrete stage transitions and attachments it performs. It is clearly the pipeline-mutation tool among siblings like list_content_pipeline and get_next_pipeline_item, though it never names those siblings explicitly.
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?
'after script generation or media rendering' gives a clear usage trigger tied to pipeline lifecycle, which is more than implied context. It does not state when not to use it (e.g., versus upload_media for a raw upload) or name any alternative, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_social_postB
Update or edit a post content or schedule in SocialDispatch. If the post is already published, you can optionally set updateOnPlatform=true to sync the update to supported live platforms (Facebook Page, YouTube).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Updated video SEO tags (for YouTube uploads) | |
| title | No | Updated video title (for YouTube uploads) | |
| postId | Yes | The unique ID of the post to update | |
| content | No | Updated text content/caption of the post (or video description on YouTube) | |
| isShort | No | Designate video as YouTube Short | |
| linkUrl | No | Updated link URL preview | |
| scheduledAt | No | Optional updated ISO-8601 datetime if rescheduling | |
| thumbnailUrl | No | Optional public image URL to update the custom video thumbnail for published YouTube or Facebook videos (when updateOnPlatform is true) | |
| privacyStatus | No | Updated video privacy visibility status | |
| thumbnailFile | No | Optional local file path to upload and update custom video thumbnail for published YouTube or Facebook videos (when updateOnPlatform is true) | |
| variantContents | No | Optional platform or account-specific text overrides | |
| updateOnPlatform | No | If true and post is published, also attempts to update live content on supported platforms (Facebook, YouTube). Note: 𝕏, Instagram, and TikTok APIs do not allow editing published posts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that live updates are limited to supported platforms (Facebook Page, YouTube) and that some platforms cannot edit published posts, but it omits mutation semantics such as overwriting existing content, failure behavior, or permission requirements.
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, front-loaded with the core action and followed by the key conditional behavior. It is efficient, though the second sentence could be slightly tightened.
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 mutation tool with 12 parameters and no annotations, the description covers the high-level purpose and platform limitation but leaves important behavioral context thin, such as overwrite semantics and what happens when unsupported platforms are targeted. The schema fills in parameter details, but behavioral completeness is only partial.
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 schema already explains all 12 parameters, including updateOnPlatform and scheduling details. The description only briefly mentions updateOnPlatform, adding no meaningful parameter semantics 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 states a specific verb ('Update or edit') and resource ('post content or schedule') in SocialDispatch, clearly distinguishing it from create/publish/delete siblings. It could be slightly sharper about how it differs from schedule_social_post for rescheduling, but the core purpose is unambiguous.
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?
It provides a clear conditional usage note for published posts via updateOnPlatform=true, but it does not explicitly say when to use this tool versus schedule_social_post or publish_social_post. The guidance is implied rather than stated as alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_mediaA
Upload a local image or video file directly to SocialDispatch and its enabled storage (Cloudflare R2 or local storage). Returns the public media URL, storage provider, and metadata to use for publishing.
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | No | Optional custom file name to assign to the uploaded asset | |
| filePath | Yes | Absolute or relative path to the local media file on disk (e.g. "/path/to/video.mp4" or "./image.png") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It usefully discloses the storage providers and returned values, but it omits permissions/auth requirements, file size or format limits, overwrite behavior, and failure modes for an upload 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, front-loaded with the action and destination, followed by the return values. Every sentence is relevant and there is no repetition or filler.
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 low-complexity two-parameter tool with full schema coverage but no output schema, the description supplies the key return information and storage context. Remaining gaps around limits, auth, and errors keep it from being fully 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 description coverage is 100%, so both parameters are already documented in the schema. The description does not add meaning beyond the schema, such as clarifying required filePath behavior or how fileName is applied, which is the baseline case for high schema coverage.
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?
States a specific verb and resource: uploading a local image or video file directly to SocialDispatch and its enabled storage. It also names the storage providers and the return values, so the agent can immediately distinguish this from posting/publishing siblings.
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 gives clear context that this is used to obtain a public media URL and metadata for publishing, implying it should be called before a publish step. It does not explicitly name alternatives or exclusions, such as whether it should not be used for remote URLs.
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.
14 tool updates
v0.1.0- First observed
add_content_ideas - First observed
delete_social_post - First observed
generate_and_publish_post - First observed
generate_social_content - First observed
get_next_pipeline_item - First observed
get_post_status - First observed
list_content_pipeline - First observed
list_recent_posts - First observed
list_social_connections - First observed
publish_social_post - First observed
schedule_social_post - First observed
update_content_progress - First observed
update_social_post - First observed
upload_media
TDQS
Scored across 14 tools
Most tools map to a distinct resource+action (list connections, upload media, publish, schedule, update, delete, status, pipeline ops). The only real overlap is between generate_and_publish_post and the pair generate_social_content + publish_social_post, which do the same work in one call versus two; descriptions make the distinction clear but an agent could still hesitate. update_social_post vs update_content_progress target different objects (posts vs pipeline items) and are adequately separated by wording.
Every tool follows a consistent snake_case verb_noun pattern: list_*, get_*, generate_*, upload_*, publish_*, schedule_*, update_*, delete_*, add_*. The compound generate_and_publish_post is a slight deviation but still readable and follows the same convention.
14 tools sit comfortably in the well-scoped range and each covers a distinct stage of the workflow (connections, generation, media, publishing, scheduling, post CRUD, pipeline). Nothing appears redundant or padded beyond the single convenience wrapper.
Post lifecycle is fully covered (publish, schedule, list, status, update, delete) and the AI pipeline has ideas, listing, progress, and next-item retrieval. Gaps remain: connections are read-only (no connect/disconnect/refresh), media has upload but no list/delete, and there is no analytics/engagement retrieval for published posts, so agents cannot close the measurement loop.
Maintenance
Related MCP Connectors
- ZoosialOAuthcom.zoosial
Social media API for AI agents: publish, DMs, comments, Meta ads and leads.
Post and schedule to Instagram, Facebook, YouTube, TikTok, LinkedIn and X from your AI app.
- PostgaleOAuthcom.postgale
Lets AI agents post and reply on Instagram, TikTok, Threads and more, with a human approval queue.
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceOfficial MCP server for PostEverywhere (posteverywhere.ai/social-media-scheduler). Let Claude, ChatGPT, Cursor or any MCP client schedule and publish posts to 13 platforms: Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Telegram, Discord, WordPress and Google Business Profile. 40 tools: best-time scheduling, threads, cross-posting, campaigns, analytics.33126 npm5MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to create, schedule, and manage social media posts across 10 platforms via a unified API.-

PostMCP MCP Serverofficial
AlicenseAqualityBmaintenanceEnables AI assistants to manage social media publishing across platforms like LinkedIn, Twitter, Facebook, Instagram, Threads, and Bluesky.719 npmMIT
AdaptlyPostofficial
AlicenseAqualityAmaintenanceGives AI agents the ability to schedule and publish social media posts to Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky. Create, schedule, and bulk-plan posts with per-platform captions, then check per-platform results and retry failures.12MIT