Skip to main content
Glama
stimQQ

sparkshare-mcp

Publish post

publish_post

Publish a post with optional images or video to selected social accounts, validating every target first so nothing goes live if any target fails.

Instructions

Publish one post, optionally with images or a video, to some of the user's accounts. Facebook, Instagram and LinkedIn are published immediately and cannot be undone from here; X waits for the user (the SparkShare browser extension fills it in, or a compose link with the text). Only call this after the user has seen the exact text for each target and the media, and said yes. Every target is checked first: if any has a problem, nothing is published and the problems are listed.

Input Schema

NameRequiredDescriptionDefault
linkNoOptional link. Facebook and LinkedIn add it to the post, X uses it as the link card, Instagram leaves it out because caption links are not clickable.
textYesThe post text exactly as it should appear, hashtags included. Used for every target without its own text.
mediaNoOptional images or one video, in order. Each item is an absolute local file path, a public https URL, or an id from upload_media. Several images or one video per post (Instagram: up to 10 of either as a carousel; X: up to 4 images). Images up to 20 MB become JPEG; MP4 or MOV video up to 300 MB, best uploaded first with upload_media.
targetsYesWhere to publish.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only, non-idempotent, open-world action, but the description adds critical behavior beyond that: Facebook, Instagram, and LinkedIn publish immediately and cannot be undone; X waits for the user; all targets are validated first and nothing publishes if any target has a problem. This is exactly the kind of irreversible-action and atomic-validation context an agent needs before invoking a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose, then moves through platform behavior, the confirmation precondition, and the atomic validation guarantee. Every clause carries useful operational information, and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description supplies the missing operational context: confirmation requirement, irreversibility on three platforms, deferred X behavior, and failure semantics where problems are listed and nothing is published. An agent has enough information to decide whether and how to call it.

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 fully documents parameters such as link, text, media, and targets. The description adds only general framing ('optionally with images or a video') and does not provide parameter-specific semantics beyond what the schema already says, so the baseline of 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 and resource ('Publish one post') plus scope ('to some of the user's accounts') and optional media. It clearly distinguishes this from sibling tools like upload_media or get_post by describing an actual multi-account publishing action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit precondition: only call after the user has seen the exact text for each target and the media, and said yes. It also explains the platform-specific alternative behavior for X, where the extension fills it in or a compose link is used, so the agent knows what happens instead of immediate publishing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.