Skip to main content
Glama

Server Details

Schedule and publish social media posts to 10 platforms from your AI agent

Ownership verified
Status
Healthy
Uptime
64.0% over 48 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
post-bridge-hq/agent-mode
GitHub Stars
14

TDQS

A4.1/5.0

Scored across 16 tools

Disambiguation4/5

Each tool targets a fairly distinct resource+action, and descriptions do heavy lifting to separate them. The main potential confusion is upload_media vs request_upload_link (both media ingestion) and the analytics trio (list_analytics, get_analytics_daily, sync_analytics), but the descriptions clearly delineate each use case.

Naming Consistency5/5

Every tool follows a clean verb_noun snake_case pattern (create_post, delete_media, list_analytics, get_post, upload_media, etc.). No mixed conventions or vague verbs anywhere in the set.

Tool Count4/5

16 tools is slightly heavy but justified by the domain: multi-platform posting, media handling, accounts, analytics, and connect/upload link flows. Each tool maps to a real operation, though a few could theoretically be consolidated.

Completeness4/5

Strong lifecycle coverage: post create/update/delete, media upload/list/preview/delete, analytics listing/daily/sync, account listing, and connect/upload link flows. Minor gaps like no account disconnect and published posts not deletable (an API limitation) are workaroundable.

Available Tools

16 tools
create_postCreate PostA
Destructive
Inspect

Publish or schedule a social media post to Instagram, TikTok, YouTube, X (Twitter), LinkedIn, Facebook, Pinterest, Threads, Bluesky, and Google Business Profile. One call can cross-post the same text, image, or video to multiple accounts and platforms at once. Use list_social_accounts first to get account IDs. Omit scheduled_at to post immediately. Pass public media URLs via media_urls (the API downloads them). IMPORTANT for X/Twitter: links are automatically removed from the text before posting to X — this includes full URLs (http://, https://, www.) AND bare domains like foo.com or foo.io/path. X charges far more for posts that contain links. Other platforms keep their links. To share a link on X, post it in a reply or put it in the account bio. Note: is_draft saves the post in Post Bridge only — it does not create a draft on any platform. All platforms will publish immediately when the draft is later sent. TikTok's platform_configurations.tiktok.draft is a separate option that creates an actual draft on TikTok. TikTok photo carousels: pass several images (media or media_urls) to a TikTok account and it publishes as a photo carousel. Caption limits: Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500, Instagram 2,200, TikTok 2,200 for videos and 4,000 for photo posts, LinkedIn 3,000 characters. When the shared caption is longer than a platform allows, write a shorter platform-specific caption in platform_configurations..caption in the same call, without being asked. X allows 280 characters, or up to 25,000 when the account has X Premium: check has_x_premium on that account from list_social_accounts, keep the full caption if it is true, and write a shorter X caption if it is false.

ParametersJSON Schema
NameRequiredDescriptionDefault
mediaNoArray of media IDs from previously uploaded media (use list_media to find IDs). Media files are automatically deleted after all posts using them have published — IDs become invalid after that. Media shared across multiple scheduled/draft posts is safe until the last one publishes. MEDIA REQUIRED (the post fails on these platforms with no media): youtube (exactly 1 video), tiktok (1 video, or one+ images), instagram (1-10 images/videos; a story is exactly 1; PDFs are dropped), pinterest (1-5 images — 2+ publishes as a carousel pin and ALL images must share the same width/height ratio or Pinterest rejects the pin — or 1 video). MEDIA OPTIONAL (text-only allowed): twitter/X (up to 4 images, or 1 video), facebook, linkedin (up to 20 images, or 1 video, or 1 PDF document), threads (up to 20 images/videos), bluesky (up to 4 images, or 1 video), google_business (text or a single image; no video). A post may be created with no media and have media added later via update_post — but it will not publish to a media-required platform until media exists.
captionYesThe post caption/text content
is_draftNoIf true, saves as a draft in Post Bridge only — not a draft on any platform. All platforms will publish immediately when the draft is later sent. The response includes a warning confirming this.
use_queueNoAutomatically schedule the post to the next available queue slot. Cannot be used with scheduled_at. Pass true to use your saved timezone, or { timezone: '...' } to override.
media_urlsNoArray of publicly accessible media URLs (images/videos). The API will download them.
scheduled_atNoISO 8601 datetime to schedule the post (e.g. 2025-12-31T09:00:00Z). Omit to post immediately.
social_accountsYesArray of social account IDs to post to (get these from list_social_accounts)
account_configurationsNoPer-account overrides for caption and media
platform_configurationsNoOptional per-platform overrides. Keyed by platform name (pinterest, instagram, tiktok, twitter, youtube, facebook, linkedin, bluesky, threads, google_business). Only include a key for a platform you are actually posting to, and only the fields you want to override — everything else falls back to the top-level caption/media. Each platform exposes different extra fields (e.g. tiktok.draft, instagram.placement, youtube.thumbnail, google_business.cta_action_type); see each field's description for accepted values.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare a mutating, destructive, open-world operation, and the description adds substantial context beyond them: X strips URLs (including bare domains) to avoid surcharges, is_draft is Post-Bridge-only vs TikTok's real draft, media is auto-deleted after publishing, and per-platform caption caps. This is exactly the behavioral detail annotations cannot carry.

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?

It is long, but length is justified by ten platforms and several genuine gotchas. It is front-loaded with purpose, then routing, then critical caveats. Minor redundancy: caption limits are restated in both the description and the per-platform schema fields.

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 9-parameter tool with nested per-platform objects, no output schema, and 100% schema coverage, the description supplies the missing cross-platform judgment (link stripping, draft semantics, caption overflow handling). It does not describe the response shape, though no output schema exists to defer to.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds cross-cutting meaning: media_urls are downloaded by the API from public URLs, is_draft semantics, and the platform caption-limit strategy that ties caption/platform_configurations together. It largely restates rather than extends a few fields, keeping it below a 5.

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 precise verb (publish/schedule) and resource (social media post) and enumerates the supported platforms plus cross-posting capability. An agent can immediately distinguish this from siblings like update_post or list_posts without opening a schema.

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?

Gives explicit operational routing: call list_social_accounts first for IDs, omit scheduled_at to post immediately, write platform-specific captions without being asked, and check has_x_premium before writing an X caption. When-to-do-X conditions are spelled out rather than implied.

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

delete_mediaA
Destructive
Inspect

Delete an uploaded media file. Only deletes media not currently used by any post.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe media ID to delete

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already mark the operation as destructive, so the description does not need to restate that. The added constraint that media in use by a post will not be deleted provides useful behavioral context beyond the annotations, though it does not specify whether an error is raised or the action is silently ignored.

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 only two short sentences, with the core action stated first and the important limitation stated second. Every word earns its place and there is no redundancy or fluff.

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 one-parameter, no-output-schema tool with a destructive annotation, the description covers the essential purpose and key constraint. A minor gap is that it does not clarify what happens when deletion is attempted on media still in use by a post.

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 fully documents the single required 'id' parameter with a clear description, so the parameter semantics are already well covered. The description adds only the 'media file' context and does not provide additional meaning beyond the schema.

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 action ('Delete') and target resource ('uploaded media file'), clearly distinguishing it from deleting a post or managing other resources. The added condition about media not used by posts further clarifies scope.

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 on when deletion is appropriate by specifying that only media not currently used by any post can be deleted. It does not explicitly name alternative sibling tools like delete_post or list_media, but the conditional guidance is enough to inform basic routing.

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

delete_postA
Destructive
Inspect

Delete a scheduled or draft post. Published posts cannot be deleted via the API.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe post ID to delete

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already flag destructive behavior, but the description adds a non-obvious API restriction: published posts cannot be deleted. It also narrows the behavioral scope to scheduled/draft posts. This exceeds the annotations, though it does not mention permanence or response 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?

Two short sentences with no filler. The action and target are front-loaded, and the key constraint about published posts is stated immediately after.

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 single-parameter destructive action, the description is complete: it clearly defines what can be deleted and the one major limitation. With annotations already covering the destructive nature and no output schema requiring explanation, nothing critical is missing.

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 covers the only parameter, id, with a clear description: 'The post ID to delete'. The tool description adds context that only scheduled/draft post IDs are valid, which slightly supplements the schema, but the parameter itself is already well-documented.

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 clearly states the action (delete) and resource (post), and specifies the scope by saying 'scheduled or draft post' while explicitly excluding published posts. This makes it distinct from sibling tools like create_post, update_post, get_post, and list_posts.

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 tells the agent when to use this tool: for deleting scheduled or draft posts. It also tells the agent when not to use it: published posts cannot be deleted via the API. It does not explicitly name an alternative for published posts, 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.

get_analytics_dailyA
Read-only
Inspect

Get per-day analytics snapshots and deltas for a single post. Returns cumulative snapshots and per-day gains (views/likes/comments/shares). Use the analytics record ID from list_analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAnalytics record ID (from list_analytics)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the base safety profile is known. The description adds meaningful behavioral detail: it returns cumulative snapshots and per-day gains for views/likes/comments/shares, and scopes to a single post. This goes beyond what annotations provide, though it stops short of discussing pagination or date-range 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?

Three sentences with no filler: the primary action, the return shape, and the parameter source. The description is front-loaded and every sentence earns its place, with only minor, acceptable redundancy between 'snapshots and deltas' and 'cumulative snapshots and per-day gains'.

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 single-parameter read-only tool with no output schema, the description tells the agent what ID to pass, where to get it, and what kind of data to expect. It would be slightly more complete if it specified the response structure or ordering, but this is a minor gap for such a simple tool.

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 already fully documents the only parameter as 'Analytics record ID (from list_analytics)' with 100% coverage. The description repeats this source but adds no new meaning beyond the schema, so the baseline score of 3 is appropriate.

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 clearly states the verb 'Get', the resource 'per-day analytics snapshots and deltas for a single post', and the return contents. It is unambiguous and naturally distinguishes itself from siblings like list_analytics and sync_analytics.

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: this tool is for per-day analytics of one post, and it tells the agent to source the ID from list_analytics. It does not explicitly name alternative tools or when-not-to-use conditions, but the workflow is well implied.

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

get_postA
Read-only
Inspect

Get details of a single post by ID, including its status, caption, media, and platform results.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe post ID

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description only needs to add context. It adds the returned fields, but it does not disclose edge-case behaviors such as not-found handling, permission requirements, or whether 'platform results' are always present. This is adequate but not rich.

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 concise sentence that front-loads the operation and resource, then lists the key returned details. Every part earns its place and there is no redundant wording.

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 read-by-ID tool with one required parameter and no output schema, the description is largely complete: it states what is returned and the annotations cover safety. 'Platform results' could be slightly more specific given the list_post_results sibling, but the overall context is sufficient.

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 only parameter, id, is already fully described in the schema as 'The post ID', with 100% schema description coverage. The description reinforces that the tool fetches by ID but adds no extra meaning beyond the schema.

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 clearly identifies a specific verb ('Get'), a specific resource ('details of a single post by ID'), and enumerates the included fields (status, caption, media, platform results). This distinguishes it from list-oriented siblings like list_posts and list_post_results.

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 phrase 'single post by ID' implies that this tool is for retrieving a specific post rather than listing posts, but it does not explicitly name alternatives or state when not to use it. Usage guidance is implied rather than explicit.

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

list_analyticsA
Read-only
Inspect

Get social media post performance analytics — views, likes, comments, and shares for posts published through Post Bridge (TikTok, YouTube, Instagram, Facebook). Can filter by platform, timeframe, or media type (video vs TikTok slideshow).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return
offsetNoOffset for pagination
platformNoFilter by platform (e.g. instagram, tiktok, youtube)
timeframeNoOnly posts published in this window. Default all.
media_typeNoslideshow = TikTok photo posts, video = TikTok and YouTube videos. Instagram and Facebook posts are excluded when set (they don't report duration).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description usefully adds that results are scoped to posts published through Post Bridge and that media_type has platform-specific exclusion behavior, but it does not cover pagination, default limits, or return shape. Modest added value over annotations.

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 front-loaded sentences with no filler: the first names the resource and metrics, the second lists the filters. Every clause earns its place.

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?

Annotations cover the safety profile and the schema fully documents parameters, so the essential invocation info is present. However, for a list/analytics tool with no output schema, the description says nothing about return format, pagination behavior, or how results relate to get_analytics_daily or sync_analytics, leaving sibling disambiguation 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 description coverage is 100%, so every parameter already has a description. The description echoes the filterable dimensions (platform, timeframe, media type) but adds no syntax, defaults, or edge cases beyond what the schema provides. Baseline 3 is appropriate 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('social media post performance analytics'), and enumerates the metrics returned (views, likes, comments, shares) plus the platforms involved. An agent can distinguish this from get_analytics_daily and sync_analytics without opening any schema.

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 usage by naming supported platforms and filter dimensions, but never states when to use this over the sibling get_analytics_daily or exactly what its scope is relative to sync_analytics. No alternative is named and no when-not condition is given.

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

list_mediaA
Read-only
Inspect

List your uploaded media files. Returns media IDs, URLs, and types. Use media IDs when creating posts with previously uploaded content.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of media items to return
offsetNoOffset for pagination

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful scope information ('your uploaded media files') and return content details, but it doesn't disclose behaviors like pagination defaults or ordering. With strong annotation coverage, this is adequate but not exceptional.

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?

Three short sentences each earn their place: the first states the action, the second lists what is returned, and the third explains a practical downstream use. There is no redundancy or 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 simple, read-only list tool, the description is complete: it states scope, return fields, and a relevant use case. The schema covers parameters, annotations cover safety, and the description covers what the agent will receive. No essential information is missing.

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 both limit and offset already described as 'Number of media items to return' and 'Offset for pagination'. The description adds no parameter-specific detail beyond this, so the schema carries the burden and the baseline of 3 is appropriate.

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 clearly states the verb ('List') and resource ('your uploaded media files'), and the mention of returned media IDs, URLs, and types distinguishes it from sibling tools like upload_media or delete_media. An agent can immediately identify what action this tool performs.

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 provides clear context: it lists uploaded media and notes that media IDs are useful when creating posts with previously uploaded content. However, it doesn't explicitly state when not to use it or name alternative tools, though the usage context is sufficient for most cases.

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

list_post_resultsA
Read-only
Inspect

Check posting results per platform. Shows whether each platform post succeeded or failed, with error details if applicable.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return
offsetNoOffset for pagination
post_idNoFilter results by a specific post ID

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds useful context about per-platform success/failure and error details, but it does not disclose pagination behavior, ordering, or data freshness. This meets the lowered bar set by annotations but does not go beyond into richer behavioral context.

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 short sentences with no redundant wording. The core purpose is front-loaded, and every clause adds value: the action, the scope, and the outcome details. This is appropriately concise for the tool's simplicity.

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 operation with no output schema, the description explains the main return content (success/failure per platform and error details), while the input schema covers pagination and filtering. It could be more explicit about the response shape or default ordering, but nothing critical is missing for an agent to invoke it correctly.

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 limit, offset, and post_id are already fully documented in the input schema. The description adds no additional parameter meaning, so the baseline score 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 uses specific action verbs ('Check', 'Shows') with a clear object ('posting results per platform') and explicitly states what it reports: success/failure with error details. This clearly distinguishes it from sibling tools like list_posts or get_post, which focus on the posts themselves rather than platform-level delivery outcomes.

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 conveys the tool's purpose clearly, which implies when it should be used, but it does not explicitly mention alternatives or state conditions for choosing this tool over list_posts or get_analytics. There is no 'use when' or 'use instead' guidance, only an implied use case.

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

list_postsA
Read-only
Inspect

List your posts with optional filters. Returns post ID, caption, status (scheduled, processing, posted), is_draft flag, scheduled time, and associated accounts. Drafts have status 'scheduled' with is_draft: true and scheduled_at: null.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of posts to return (default 50)
offsetNoOffset for pagination
statusNoFilter by status: scheduled, processing, or posted. Drafts have status 'scheduled' — use is_draft on results to distinguish.
platformNoFilter by platform (e.g. instagram, tiktok, youtube, twitter, facebook, linkedin, pinterest, bluesky, threads, google_business)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already mark the operation as read-only and non-destructive. The description adds meaningful behavioral context beyond that: drafts use status 'scheduled' with is_draft: true and scheduled_at: null, which is essential for correctly interpreting filtered results. This prevents a likely misinterpretation when filtering by status.

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 deliver the purpose, return fields, and a subtle behavioral caveat with no wasted words. The core action is front-loaded and the additional draft clarification is directly relevant to interpreting results.

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 simple read-only list tool with no required parameters and full schema coverage, the description is complete. It specifies the return fields, covers the tricky draft/status edge case, and benefits from annotations that already establish safety. No critical information needed to call the tool correctly is missing.

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 parameters (limit, offset, status, platform) are already well documented. The description does not add parameter-specific details beyond what the schema provides, matching the baseline of 3.

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 clearly states the tool's function: 'List your posts with optional filters' and enumerates the returned fields (post ID, caption, status, is_draft, scheduled time, accounts). This distinguishes it from the more specific get_post sibling, though it does not explicitly name any alternative tool.

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 description gives no guidance about when to use this tool versus siblings like get_post or list_post_results. The phrase 'List your posts' implies the basic use case, but there are no explicit conditions, exclusions, or references to alternatives, leaving the agent to infer selection criteria.

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

list_social_accountsA
Read-only
Inspect

List the user's connected social media accounts across Instagram, TikTok, YouTube, X (Twitter), LinkedIn, Facebook, Pinterest, Threads, Bluesky, and Google Business Profile. Returns account IDs, platforms, usernames, needs_reconnect, and has_x_premium (X accounts only: true means posts can be up to 25,000 characters instead of 280). When needs_reconnect is true, repeated dead-token failures have paused posting to that account: posts to it are skipped until the user reconnects it in the dashboard (reconnecting clears it automatically). Do not post or retry against accounts in that state; tell the user to reconnect instead.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish the safe read-only, non-destructive, closed-world profile, but the description goes well beyond them: it details the returned fields, decodes has_x_premium (25,000 vs 280 character limit for X), and explains the operational consequence of needs_reconnect (posting paused, posts skipped, cleared automatically upon reconnect). That is the root-cause-plus-remediation context an agent needs and cannot get from annotations.

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?

Front-loaded with the core purpose, then progressively adds return fields and the needs_reconnect rule; every sentence carries information. The ten-platform enumeration in the first sentence is slightly bloated but defensible as scope-setting, so it falls just short of a 5.

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?

There is no output schema, so the description carries the full burden of explaining the return value, and it does so by enumerating the fields and interpreting the two non-obvious ones. Combined with complete safety annotations and zero parameters, nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4. The description correctly adds no parameter guidance since there is none to give, and instead spends its words on the return shape.

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 (list) and resource (the user's connected social media accounts) and enumerates the exact platforms covered, which no sibling tool addresses. An agent can immediately distinguish this from list_posts, list_media, or list_analytics without opening any schema.

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?

Clear context for when to reach for it (checking connected accounts and their health) and an explicit negative rule: do not post or retry against accounts flagged needs_reconnect, and tell the user to reconnect instead. It stops short of naming alternative sibling tools or explicitly framing this as a prerequisite step before create_post, so it is strong but not fully prescriptive.

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

preview_mediaA
Read-only
Inspect

See an uploaded image: returns a small preview of the picture itself so you can tell photos apart (which one is the pink hat). Images only; videos and PDFs return a text note. Use list_media first to get ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe media ID (from list_media or upload_media)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral context by explaining that images return a visual preview while videos and PDFs return only a text note. This goes beyond the annotations and helps set expectations.

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 two compact sentences with no filler. The core purpose is front-loaded, and the illustrative 'pink hat' example adds clarity without bloating the text.

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-parameter read-only tool, the description covers the main behavior, the unsupported media types, and the prerequisite. It does not specify the exact preview format (e.g., image URL vs. inline data), but the lack of an output schema makes that a minor gap.

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 already fully documents the single 'id' parameter with a description and provenance ('from list_media or upload_media'). The description reinforces using list_media first, which is helpful, but adds little beyond the schema's own documentation.

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: 'See an uploaded image' and 'returns a small preview of the picture itself.' It also clarifies scope by saying images only, and distinguishes the tool from other media operations clearly.

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 explicit guidance: 'Images only; videos and PDFs return a text note' and 'Use list_media first to get ids.' This tells the agent when the tool is useful and what prerequisite step is needed, though it does not name an alternative tool for non-image media.

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

sync_analyticsAInspect

Trigger a refresh of analytics data from all connected platforms. Use this if analytics seem stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoSync a specific platform only. Omit to sync all platforms.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate this is not read-only and has open-world effects, and the description adds that the refresh applies to all connected platforms unless a specific one is chosen. It does not describe potential asynchronous behavior or side effects, but the annotations lower the burden and this is sufficient for a simple trigger action.

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 consists of two short, front-loaded sentences. The first states the main purpose and the second gives a usage trigger, with no unnecessary words.

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 low-complexity tool with one optional parameter, no output schema, and annotations covering safety, the description is complete. The agent knows what the tool does, when to use it, and how the optional parameter behaves.

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 single parameter is fully documented in the schema, including its enum and the behavior when omitted ('Omit to sync all platforms'). The description adds 'all connected platforms' context but does not need to go beyond the schema, so the baseline score of 3 is appropriate.

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 clearly states the action ('Trigger a refresh of analytics data') and the scope ('from all connected platforms'). It distinguishes this tool from siblings like list_analytics and get_analytics_daily, which read data, by emphasizing the refresh/update nature.

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 explicitly says when to use the tool: 'Use this if analytics seem stale.' This gives a clear condition for invocation. However, it does not mention when not to use it or name any alternative tools.

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

update_postA
Destructive
Inspect

Update a scheduled or draft post. You can change the caption, schedule time, accounts, or media.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe post ID to update
mediaNoNew array of media IDs
captionNoNew caption text
is_draftNoSet draft status
media_urlsNoNew array of public media URLs
scheduled_atNoNew scheduled datetime (ISO 8601)
social_accountsNoNew array of social account IDs
account_configurationsNo
platform_configurationsNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the mutation risk is covered structurally. The description adds the useful scope constraint (scheduled/draft only), but omits the critical update semantics — whether unspecified fields are preserved or wiped — and says nothing about auth or platform-side side effects.

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 short sentences with the primary action first and the editable surface second. Zero filler; every clause carries information.

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?

Nine parameters including nested platform override objects and no output schema, but the schema itself is exhaustively documented per field (overrides, character limits, failure behavior). The description only needs to frame the operation, which it does adequately.

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 78%, so the schema already explains almost every parameter, including the deep platform_configurations overrides. The description names four field categories but adds no syntax, defaults, or interaction rules (e.g. top-level vs per-platform override precedence) beyond what the schema states.

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 ('Update a ... post') and enumerates the mutable fields (caption, schedule time, accounts, media). It scopes the target to 'scheduled or draft' posts, which distinguishes it from create_post/delete_post without needing the schema. No explicit sibling routing, though the sibling set makes the intent 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?

Implies a precondition (the post must be a scheduled or draft post) but never states what happens for published posts or when to choose update_post over delete_post + create_post. Usage is inferable rather than spelled out; no exclusions or alternatives are named.

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

upload_mediaAInspect

Upload media and get back a reusable media_id. Three modes: (1) pass url to upload from a publicly accessible URL, (2) pass data (base64-encoded file bytes) plus mime_type for small files (3MB cap), or (3) for a file on the user's machine when you can run shell commands (Claude Code, Cowork, Codex, Cursor), pass size_bytes plus mime_type and name with no url or data: you get a media_id and a presigned upload_url, then PUT the raw file to it yourself (curl command included in the result, valid 2 hours, up to 500MB, no 3MB cap). Use mode 3 for any local video. Supports images (PNG/JPEG), videos (MP4/MOV), and PDFs (application/pdf). A PDF returns a document-kind media_id — pass it to create_post on a LinkedIn account to publish a native LinkedIn document post (PDF carousel); set platform_configurations.linkedin.document_title to control the title. Use the returned media_id with the media param on create_post/update_post. HEIC/HEIF images are not supported — convert to JPEG or PNG first. Direct data uploads are capped at 3MB raw because of serverless request-body limits — for larger local files use mode 3 if you can run commands, otherwise request_upload_link.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublicly accessible URL of the image or video to upload. Provide either `url` or `data`, not both.
dataNoBase64-encoded file contents. Requires `mime_type`. Capped at 3MB raw (serverless request-body limit). For larger files, host the file at a public URL and pass it as `url` instead. Provide either `data` or `url`, not both.
nameNoOptional filename to store (defaults to the URL's filename, or 'file' for direct uploads)
mime_typeNoRequired with `data` or `size_bytes`. One of: image/png, image/jpeg, video/mp4, video/quicktime, application/pdf.
size_bytesNoMode 3: exact size of the local file in bytes (e.g. from `stat` or `wc -c`). With `mime_type` and `name`, and no `url`/`data`, returns a presigned upload_url to PUT the file to yourself. Max 500MB.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover safety hints (readOnlyHint=false, destructiveHint=false, openWorldHint=true). The description adds substantial behavior beyond that: 3MB serverless body cap, 500MB presigned limit, 2-hour URL validity, HEIC/HEIF rejection, PDF producing a document-kind media_id with LinkedIn carousel semantics, and the curl command returned in the result.

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?

Dense but front-loaded: the core purpose and the three modes come first, then format support, then downstream usage. Nearly every clause carries information, though the mode enumeration is long enough that a reader must parse carefully.

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?

No output schema exists, yet the description explains what is returned (media_id, presigned upload_url, included curl command) and how to use it downstream. Supported and unsupported formats, size limits, and the LinkedIn PDF path are all covered, leaving no operational gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3. The description goes further by grouping parameters into named modes and spelling out cross-parameter rules (url XOR data; size_bytes requires mime_type and name and forbids url/data), which is genuine added meaning over the per-field schema text.

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+resource ('Upload media and get back a reusable media_id') and immediately distinguishes the three input modes. It also names the downstream consumer (create_post/update_post `media` param) and the relevant sibling request_upload_link, so an agent can place it precisely among siblings.

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?

Explicit routing rules: mode 1 for public URLs, mode 2 for small base64 files (3MB cap), mode 3 for local files when shell commands are available, plus 'Use mode 3 for any local video' and 'otherwise request_upload_link'. Both the when and the fallback alternative are named.

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. 2 tool updates
    • Changedcreate_post2 fields changed
      • changedInput schema / properties / platform_configurations / properties / linkedin / description
        Previous value: -"LinkedIn overrides. Supports first_comment; document_title only matters for PDF (document) posts."New value: +"LinkedIn overrides. document_title only matters for PDF (document) posts."
      • removedInput schema / properties / platform_configurations / properties / linkedin / properties / first_comment
        Removed value: -{
        -  "description": "Optional comment posted on the LinkedIn post immediately after it publishes (a 'first comment'), as the same person or page. A good spot for a link. Trimmed to 1,250 characters. A failed comment won't fail the post.",
        -  "type": "string"
        -}
    • Changedupdate_post2 fields changed
      • changedInput schema / properties / platform_configurations / properties / linkedin / description
        Previous value: -"LinkedIn overrides. Supports first_comment; document_title only matters for PDF (document) posts."New value: +"LinkedIn overrides. document_title only matters for PDF (document) posts."
      • removedInput schema / properties / platform_configurations / properties / linkedin / properties / first_comment
        Removed value: -{
        -  "description": "Optional comment posted on the LinkedIn post immediately after it publishes (a 'first comment'), as the same person or page. A good spot for a link. Trimmed to 1,250 characters. A failed comment won't fail the post.",
        -  "type": "string"
        -}
  2. 2 tool updates
    • Changedcreate_post2 fields changed
      • changedInput schema / properties / platform_configurations / properties / linkedin / description
        Previous value: -"LinkedIn overrides. document_title only matters for PDF (document) posts."New value: +"LinkedIn overrides. Supports first_comment; document_title only matters for PDF (document) posts."
      • addedInput schema / properties / platform_configurations / properties / linkedin / properties / first_comment
        Added value: +{
        +  "description": "Optional comment posted on the LinkedIn post immediately after it publishes (a 'first comment'), as the same person or page. A good spot for a link. Trimmed to 1,250 characters. A failed comment won't fail the post.",
        +  "type": "string"
        +}
    • Changedupdate_post2 fields changed
      • changedInput schema / properties / platform_configurations / properties / linkedin / description
        Previous value: -"LinkedIn overrides. document_title only matters for PDF (document) posts."New value: +"LinkedIn overrides. Supports first_comment; document_title only matters for PDF (document) posts."
      • addedInput schema / properties / platform_configurations / properties / linkedin / properties / first_comment
        Added value: +{
        +  "description": "Optional comment posted on the LinkedIn post immediately after it publishes (a 'first comment'), as the same person or page. A good spot for a link. Trimmed to 1,250 characters. A failed comment won't fail the post.",
        +  "type": "string"
        +}
  3. 1 tool update
    • Changedupload_media2 fields changed
      • changedInput schema / properties / mime_type / description
        Previous value: -"Required when using `data`. One of: image/png, image/jpeg, video/mp4, video/quicktime, application/pdf."New value: +"Required with `data` or `size_bytes`. One of: image/png, image/jpeg, video/mp4, video/quicktime, application/pdf."
      • addedInput schema / properties / size_bytes
        Added value: +{
        +  "description": "Mode 3: exact size of the local file in bytes (e.g. from `stat` or `wc -c`). With `mime_type` and `name`, and no `url`/`data`, returns a presigned upload_url to PUT the file to yourself. Max 500MB.",
        +  "exclusiveMinimum": 0,
        +  "type": "integer"
        +}
  4. 1 tool update
    • Changedlist_analytics2 fields changed
      • addedInput schema / properties / media_type
        Added value: +{
        +  "description": "slideshow = TikTok photo posts, video = TikTok and YouTube videos. Instagram and Facebook posts are excluded when set (they don't report duration).",
        +  "enum": [
        +    "video",
        +    "slideshow"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / timeframe
        Added value: +{
        +  "description": "Only posts published in this window. Default all.",
        +  "enum": [
        +    "7d",
        +    "30d",
        +    "90d",
        +    "all"
        +  ],
        +  "type": "string"
        +}
  5. 2 tool updates
    • Changedcreate_post1 field changed
      • addedInput schema / properties / platform_configurations / properties / youtube / properties / has_paid_product_placement
        Added value: +{
        +  "description": "Set true when the video includes paid product placement, a sponsorship or an endorsement. YouTube shows viewers an \"Includes paid promotion\" label. Maps to the YouTube Data API paidProductPlacementDetails.hasPaidProductPlacement field.",
        +  "type": "boolean"
        +}
    • Changedupdate_post1 field changed
      • addedInput schema / properties / platform_configurations / properties / youtube / properties / has_paid_product_placement
        Added value: +{
        +  "description": "Set true when the video includes paid product placement, a sponsorship or an endorsement. YouTube shows viewers an \"Includes paid promotion\" label. Maps to the YouTube Data API paidProductPlacementDetails.hasPaidProductPlacement field.",
        +  "type": "boolean"
        +}
  6. 2 tool updates
    • Changedcreate_post10 fields changed
      • changedInput schema / properties / platform_configurations / properties / bluesky / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / facebook / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / google_business / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / instagram / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / linkedin / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / pinterest / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / threads / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / tiktok / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / twitter / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / youtube / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
    • Changedupdate_post10 fields changed
      • changedInput schema / properties / platform_configurations / properties / bluesky / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / facebook / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / google_business / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / instagram / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / linkedin / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / pinterest / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / threads / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / tiktok / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / twitter / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
      • changedInput schema / properties / platform_configurations / properties / youtube / properties / caption / description
        Previous value: -"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption."New value: +"Platform-specific caption. Overrides the top-level caption for this platform only. Omit to use the shared caption. Write one whenever the shared caption is longer than this platform allows (Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500 characters; X 280 unless has_x_premium is true on the account) so nothing gets cut."
  7. 1 tool update
    • Addedpreview_media
  8. 1 tool update
    • Addedrequest_connect_link
  9. 14 tool updates
    • First observedcreate_post
    • First observeddelete_media
    • First observeddelete_post
    • First observedget_analytics_daily
    • First observedget_post
    • First observedlist_analytics
    • First observedlist_media
    • First observedlist_post_results
    • First observedlist_posts
    • First observedlist_social_accounts
    • First observedrequest_upload_link
    • First observedsync_analytics
    • First observedupdate_post
    • First observedupload_media

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Social media scheduling and publishing for AI agents. 17 validation-first tools to post to X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Discord, Telegram, and more through one connected workspace.
    142 npm
    93
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to schedule and publish social media posts to platforms like Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, and Pinterest using natural language.
    33
    586 npm
    4
    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
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.