PostSider
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POSTSIDER_API_KEY | Yes | Your organization's PostSider API key, used for authenticating the MCP server with PostSider. | |
| POSTSIDER_API_URL | Yes | The URL of the PostSider instance the MCP server should connect to. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| extensions | {
"io.modelcontextprotocol/skills": {}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| postsider_list_channelsA | List the social channels (integrations) connected to this PostSider organization. Returns each channel id, name and platform. Call this first to get the channel ids needed by postsider_create_post. |
| postsider_get_agency_overviewA | Get an organization-wide operational overview for an agency: clients, channels, queued posts, drafts, published posts, errors, recent errors and pending approvals. Useful for morning checks and client reporting. |
| postsider_get_customer_reportA | Get a customer-scoped agency report with channels, queued, draft, published, error and pending approval counts. |
| postsider_list_groupsA | List configured channel groups. In PostSider a group is a customer, so an id returned here is the customerId expected by postsider_get_customer_report and by the customer filter of postsider_list_posts. |
| postsider_find_slotA | Return the next free scheduling date-time (UTC) for a channel, based on its configured posting queue. Use the returned value as the |
| postsider_list_postsA | List posts scheduled or published within a date range (UTC). Useful for reviewing the content calendar before scheduling more. |
| postsider_get_post_missing_fieldsA | Return per-channel validation problems / missing required fields for a post, so they can be fixed before publishing. |
| postsider_get_postA | Get the full organization-scoped post group, including current state, scheduled time, media, channel and publish error. Use this to inspect the result of an asynchronous create or publish operation. |
| postsider_get_post_analyticsA | Get performance analytics for a single post over the last N days (where the provider supports it). |
| postsider_get_channel_analyticsA | Get account-level analytics for a connected channel (where the provider supports it). |
| postsider_get_notificationsA | List recent notifications for the organization (e.g. publish failures, channels needing reconnection). |
| postsider_pause_publishingA | Immediately halt ALL publishing for this organization (kill switch): no |
| postsider_get_publishing_stateA | Check whether publishing is active or paused for this organization. Useful before scheduling (a paused org rejects new posts with publishing_paused), and to confirm a kill switch is on. |
| postsider_upload_media_from_urlA | Download an image or video from a public URL and store it in the PostSider media library. Returns a media object; pass it (or its array) as |
| postsider_create_postA | Create a post across one or more channels. |
| postsider_update_post_statusB | Change the status of an existing post (e.g. move between draft and queue). |
| postsider_delete_postA | Permanently delete a post and every other channel version of it. The id may be any post in a group: PostSider stores a multi-channel post as one group, and a single id deletes the whole group. Read the post first (postsider_get_post) and confirm the full set of channel versions with the user before calling this. |
| postsider_request_approvalA | Push a draft post into the human approval queue for review, instead of publishing or scheduling it directly. The post must already exist as a draft (see postsider_create_post with type "draft"). Approval is optional in PostSider, and most posts can also be scheduled directly without ever going through this. |
| postsider_get_approval_statusA | Check whether a post submitted via postsider_request_approval has been approved, rejected (with the reviewer's note, if any), or is still pending. Returns status "NONE" if the post was never sent for approval. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| skill://postsider/postsider-agency-operations/agents/openai.yaml | |
| skill://postsider/postsider-agency-operations/SKILL.md | |
| skill://postsider/postsider-approval-workflow/agents/openai.yaml | |
| skill://postsider/postsider-approval-workflow/SKILL.md | |
| skill://postsider/postsider-calendar-review/agents/openai.yaml | |
| skill://postsider/postsider-calendar-review/SKILL.md | |
| skill://postsider/postsider-content-publishing/agents/openai.yaml | |
| skill://postsider/postsider-content-publishing/SKILL.md | |
| skill://postsider/postsider-performance-reporting/agents/openai.yaml | |
| skill://postsider/postsider-performance-reporting/SKILL.md |
TDQS
Scored across 19 tools
Most tools target a clearly distinct resource+action (channels, groups, posts, analytics, approvals, publishing state). The only real overlap is postsider_get_customer_report vs postsider_get_agency_overview, which both return operational rollups and differ mainly in scope (customer vs organization). The per-channel/per-post analytics and post/get_post/missing_fields tools are adequately distinguished by their descriptions.
Every tool uses the same postsider_ prefix plus a consistent snake_case verb_noun pattern (list_channels, get_post, create_post, delete_post, get_agency_overview). Verbs are used predictably and no conventions are mixed. This makes the surface easy to scan and predict.
19 tools is on the heavier side of the ideal 3-15 range, but the domain (channels, groups, posts, scheduling, analytics, approvals, publishing controls, media) is broad enough to justify most of them. A few reporting/analytics tools could plausibly be consolidated, so it is slightly over-scoped rather than bloated.
The post lifecycle is well covered: discover channels/slots, create (schedule/now/draft), inspect, validate missing fields, update status, submit/check approval, and delete. Gaps are minor: no way to edit post content (only status), no media-library management beyond upload, and no channel connect/disconnect (resume publishing is intentionally human-only).