Skip to main content
PostSider exposes 17 tools through the Model Context Protocol. The tools cover channels, agency reports, scheduling, approvals, media, analytics, and notifications. This page documents each tool, its parameters, and when to use it.
Call postsider_list_channels first in any workflow. Almost every other tool needs a channel id, and that is where you get them.
All tool names are prefixed with postsider_ so they never collide with tools from other MCP servers your agent has loaded.

Read tools

These tools only read data. They never change anything in your organization.
Lists the social channels (integrations) connected to your PostSider organization.Parameters: noneReturns: an array of channels, each with its id, name, and platform. Use the id values for the scheduling and analytics tools.Example prompt:
Lists configured channel groups, which are sets of channels you publish to together.Parameters: noneReturns: an array of group objects.
Returns the next free scheduling time (UTC) for a channel, based on its configured posting queue. Use the returned value as the date for postsider_create_post when you want to drop a post into the queue.Parameters:
  • channelId - channel id, from postsider_list_channels
Returns: an object such as { "date": "2026-07-01T10:00:00" }. Use its date property when creating a post.
Lists posts scheduled or published within a date range. Useful for reviewing the content calendar before scheduling more.Parameters:
  • startDate - range start, ISO 8601 (for example 2026-06-01T00:00:00Z)
  • endDate - range end, ISO 8601 (for example 2026-06-30T23:59:59Z)
  • customer (optional) - customer id to filter by
Returns: an object such as { "posts": [...] }.
Returns the provider-flagged missing-media status for a post (content the platform reported as not yet available). It is not a general validator - it reports the missing-media case and returns an empty list otherwise.Parameters:
  • postId - the post id
Returns: a list of missing content entries, or an empty array.
Returns performance analytics for a single post over the last N days, where the platform supports it.Parameters:
  • postId - the post id
  • days (optional) - look-back window in days (default 7)
Returns: platform-specific metrics for that post.
Returns account-level analytics for a connected channel, where the platform supports it.Parameters:
  • channelId - channel id, from postsider_list_channels
  • date (optional) - provider-specific date or range parameter, if required
Returns: platform-specific account metrics.
Not every platform exposes analytics through its API. Channels on platforms without analytics support return no data.
Lists recent notifications for the organization, such as publish failures or channels that need reconnecting.Parameters: noneReturns: a paginated object with notifications, total, page, limit, and hasMore.
Returns organization-wide operational counts and recent errors.Parameters: days (optional) - look-back window, default 30.Returns: counts and recent errors for the organization.
Returns a customer-scoped report for agency workflows.Parameters: customerId - customer or organization identifier; days (optional) - look-back window, default 30.Returns: customer-scoped counts and recent errors.
Returns one post and its group, channels, state, media, settings, and integration metadata.Parameters: postId - the post id.Returns: the post object.

Media tools

Downloads an image or video from a public URL and stores it in the PostSider media library. Run this before scheduling a post that needs media, then pass the returned media object to postsider_create_post.Parameters:
  • url - public URL of the image or video to import
Returns: a media object. Pass it (or an array of them) as images on a post.
The URL must be publicly reachable. Private or internal addresses are blocked.

Write tools

These tools create or change content. Use them once you have the channel ids and, for scheduling, a slot.
The main publishing tool. Creates a post across one or more channels.Parameters:
  • type - draft saves without publishing, schedule books the post for date, now publishes immediately (default schedule)
  • date - when to publish, ISO 8601 UTC (for example 2026-07-01T10:00:00Z); for now, use the current time
  • shortLink (optional) - whether to shorten links in the content (default false)
  • posts - one entry per channel, each with:
    • channelId - channel id to publish to
    • content - the post text or caption
    • firstComment (optional) - a first comment posted right after, where the platform supports it
    • images (optional) - media objects from postsider_upload_media_from_url
    • settings (optional) - provider-specific settings (advanced; usually omit)
  • tags (optional) - an array of { value, label } tags
  • idempotencyKey (optional) - stable key to safely retry the same create request without creating a duplicate
Example prompt:
Get channel ids from postsider_list_channels, and a free queue time from postsider_find_slot. Run postsider_get_post_missing_fields if a publish is rejected.
Changes the status of an existing post. Valid values are draft and schedule; schedule moves a draft into the publishing queue. Any other value is rejected.Parameters:
  • postId - the post id
  • status - the new status value (draft or schedule)
Permanently deletes a scheduled or draft post by id.Parameters:
  • postId - the post id to delete
This permanently removes the post. It cannot be undone.

Typical agent workflow

Most publishing flows follow the same pattern:
1

Discover channels

Call postsider_list_channels to get the ids and names of connected channels.
2

Pick a time

Call postsider_find_slot for the target channel to get the next free queue slot, or choose your own date.
3

Prepare media (if needed)

Call postsider_upload_media_from_url to import an image or video, and keep the returned media object.
4

Create the post

Call postsider_create_post with the channel id, content, date, and any media. If it is rejected, call postsider_get_post_missing_fields to see what to fix.
5

Review later

Use postsider_list_posts, postsider_get_post_analytics, and postsider_get_notifications to check results.