Skip to main content
Glama
MahbbRah

SocialDispatch MCP Server

by MahbbRah

SocialDispatch Model Context Protocol (MCP) Server

MCP License: MIT Node.js Version

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

  1. SocialDispatch Account: Sign up at socialdispatch.site and connect your social profiles.

  2. API Key: Generate an API key from your workspace settings (starts with sd_live_...).

  3. Node.js: v18.0.0 or 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.json

  • Windows: %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

list_social_connections

(none)

Returns connected accounts (Facebook Pages, YouTube, TikTok, Instagram, X) with channel IDs, account names, and connection status.

generate_social_content

topicPrompt, targetPlatforms, tone

Uses the SocialDispatch copywriting engine to write platform-optimized copy with appropriate hashtags and character limits.

upload_media

filePath

Uploads local images (png, jpg, webp) or videos (mp4, mov) to SocialDispatch storage. Returns the CDN URL.

publish_social_post

channelIds, content, mediaUrls, videoThumbnailUrl

Immediately publishes to one or more connected channels with media attachments and custom video thumbnails.

schedule_social_post

channelIds, content, scheduledFor, mediaUrls, videoThumbnailUrl

Schedules a post for a specific ISO-8601 UTC timestamp or the next optimal posting slot.

generate_and_publish_post

topicPrompt, channelIds, scheduleTime

One-shot tool: drafts tailored copy for the target channels and automatically publishes or schedules.

get_post_status

postId

Fetches live publishing status, platform post links, and platform-specific error messages.

list_recent_posts

limit, channelId

Retrieves recent posts, scheduled queues, and execution history.

update_social_post

postId, content, scheduledFor

Edits copy or reschedules a pending queued post.

delete_social_post

postId

Cancels and permanently deletes a scheduled post.


💡 Content Pipeline & Workflow

Tool

Parameters

Description

add_content_ideas

ideas (title, notes, platforms)

Adds brainstorming ideas into your team's content ideation backlog.

list_content_pipeline

stage, limit

Queries items in the production pipeline across stages: IDEA, SCRIPT, FOOTAGE, EDITING, REVIEW, SCHEDULED.

update_content_progress

itemId, stage, notes, mediaUrls

Transitions an item forward in the pipeline with updated assets or review notes.

get_next_pipeline_item

stage

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 install

2. Build TypeScript

npm run build

3. Run Dev Server with Live Reload

export SOCIALDISPATCH_API_URL="https://api.socialdispatch.site"
export SOCIALDISPATCH_API_KEY="sd_live_..."

npm run dev

4. 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 tools
add_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).

NameRequiredDescriptionDefault
ideasYesList of content ideas to insert into the queue
accountIdNoOptional default target social account/page ID for these ideas
workspaceIdNoTarget workspace ID (optional if using default API key workspace)

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

NameRequiredDescriptionDefault
postIdYesThe unique ID of the post to delete
deleteFromPlatformNoIf 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

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
toneNoTone of voice
topicYesTopic, product announcement, or instructions for the AI copywriter
linkUrlNoOptional link to attach
mediaUrlsNoOptional array of image or video URLs to attach (or local file paths, which will be automatically uploaded)
accountIdsYesTarget connection IDs to publish to
mediaFilesNoOptional array of local file paths on disk (e.g. ["/path/to/video.mp4"]) to upload directly to SocialDispatch storage and attach to post
scheduledAtNoOptional ISO-8601 datetime if scheduling for future
publishImmediatelyNoWhether to publish immediately (default: true)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
toneNoTone of voice for the copy (default: engaging)
topicYesThe core topic, announcement, or rough draft notes to turn into social posts
linkUrlNoOptional URL link to include in the generated copy

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
stageNoThe pipeline stage to pull next item from (default: IDEA)
accountIdNoFilter by target social account ID (optional)
workspaceIdNoTarget workspace ID (optional)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
postIdYesThe unique ID of the post to inspect

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

NameRequiredDescriptionDefault
limitNoMaximum number of items to return (default: 50)
stageNoOptional filter by content stage (IDEA, SCRIPTED, GENERATING, GENERATED, etc.)
accountIdNoOptional filter by social account ID
workspaceIdNoTarget workspace ID (optional)

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
limitNoNumber of posts to return (default: 10, max: 50)
statusNoFilter posts by status

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
platformNoFilter connections by specific platform (optional)

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
tagsNoKeywords/tags for video discovery (supported on YouTube SEO).
titleNoVideo title for platforms requiring dedicated titles (e.g. YouTube). Max 100 characters. If omitted, falls back to the first line of content.
contentNoText caption/content of the post (or video description on YouTube)
isShortNoExplicitly 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.
linkUrlNoOptional URL for link preview card
mediaUrlsNoOptional array of publicly accessible image or video URLs to attach (or local file paths, which will be automatically uploaded)
accountIdsYesList of connection IDs to publish to (obtained via list_social_connections)
mediaFilesNoOptional array of local file paths on disk (e.g. ["/path/to/video.mp4"]) to upload directly to SocialDispatch storage and attach to post
thumbnailUrlNoOptional 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)
privacyStatusNoVideo privacy visibility (supported on YouTube, defaults to "public").
thumbnailFileNoOptional 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
tiktokThumbnailNoAlias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for TikTok video uploads
variantContentsNoOptional dictionary of platform-specific or account-specific text overrides (e.g. {"facebook": "...", "x": "..."})
youtubeThumbnailNoAlias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for video uploads
facebookThumbnailNoAlias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for Facebook video uploads

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
tagsNoKeywords/tags for video discovery (supported on YouTube SEO).
titleNoVideo title for platforms requiring dedicated titles (e.g. YouTube). Max 100 characters. If omitted, falls back to the first line of content.
contentNoText caption/content of the post (or video description on YouTube)
isShortNoExplicitly 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.
linkUrlNoOptional URL link
mediaUrlsNoOptional array of media URLs (or local file paths, which will be automatically uploaded)
accountIdsYesList of connection IDs to post to
mediaFilesNoOptional array of local file paths on disk (e.g. ["/path/to/video.mp4"]) to upload directly to SocialDispatch storage and attach to post
scheduledAtNoISO-8601 datetime string when the post should be published (e.g. "2026-10-15T15:30:00Z")
thumbnailUrlNoOptional 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)
useQueueSlotNoIf true, automatically assigns the post to the next available configured posting slot
privacyStatusNoVideo privacy visibility (supported on YouTube, defaults to "public").
thumbnailFileNoOptional 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
tiktokThumbnailNoAlias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for TikTok video uploads
variantContentsNoOptional platform-tailored text overrides
youtubeThumbnailNoAlias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for video uploads
facebookThumbnailNoAlias for thumbnailFile/thumbnailUrl: custom thumbnail image path or URL for Facebook video uploads

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

NameRequiredDescriptionDefault
stageYesThe updated stage (typically SCRIPTED, GENERATING, or GENERATED)
itemIdYesThe unique ID of the content item in the pipeline
scriptNoUpdated voiceover script, body text, or refined caption
mediaUrlNoRemote public media URL (if already uploaded or hosted remotely)
workspaceIdNoTarget workspace ID (optional)
localMediaPathNoLocal file path on disk where rendered video or image is stored

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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).

NameRequiredDescriptionDefault
tagsNoUpdated video SEO tags (for YouTube uploads)
titleNoUpdated video title (for YouTube uploads)
postIdYesThe unique ID of the post to update
contentNoUpdated text content/caption of the post (or video description on YouTube)
isShortNoDesignate video as YouTube Short
linkUrlNoUpdated link URL preview
scheduledAtNoOptional updated ISO-8601 datetime if rescheduling
thumbnailUrlNoOptional public image URL to update the custom video thumbnail for published YouTube or Facebook videos (when updateOnPlatform is true)
privacyStatusNoUpdated video privacy visibility status
thumbnailFileNoOptional local file path to upload and update custom video thumbnail for published YouTube or Facebook videos (when updateOnPlatform is true)
variantContentsNoOptional platform or account-specific text overrides
updateOnPlatformNoIf 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

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
fileNameNoOptional custom file name to assign to the uploaded asset
filePathYesAbsolute or relative path to the local media file on disk (e.g. "/path/to/video.mp4" or "./image.png")

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 14 tool updatesv0.1.0
    • First observedadd_content_ideas
    • First observeddelete_social_post
    • First observedgenerate_and_publish_post
    • First observedgenerate_social_content
    • First observedget_next_pipeline_item
    • First observedget_post_status
    • First observedlist_content_pipeline
    • First observedlist_recent_posts
    • First observedlist_social_connections
    • First observedpublish_social_post
    • First observedschedule_social_post
    • First observedupdate_content_progress
    • First observedupdate_social_post
    • First observedupload_media

TDQS

A3.7/5.0

Scored across 14 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Official 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.
    33
    126 npm
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to manage social media publishing across platforms like LinkedIn, Twitter, Facebook, Instagram, Threads, and Bluesky.
    7
    19 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Gives 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.
    12
    MIT