Skip to main content
Glama
postproxy

PostProxy MCP Server

Official
by postproxy

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
POSTPROXY_API_KEYYesYour PostProxy API key.
POSTPROXY_BASE_URLNoBase URL for PostProxy API. Default: https://api.postproxy.dev/apihttps://api.postproxy.dev/api
POSTPROXY_MCP_DEBUGNoSet to '1' to enable debug logging.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
auth_statusA

Check authentication status, API configuration, and workspace information

profile_groups_listA

List all profile groups accessible with your API key. Profile groups are organizational containers (e.g. per brand or client) that hold related social media profiles. Use the returned group id to filter profiles_list by profile_group_id.

profiles_listA

List all available social media profiles for posting. Optionally filter by profile_group_id.

upload_createA

Create a temporary file upload URL for sandboxed environments. Returns a key, an upload_url, and expires_in (seconds). Flow: (1) call this tool, (2) POST the raw file bytes to the returned upload_url (valid for expires_in seconds), which responds with {"url": "https://..."}, (3) pass that returned url in the media array of post_publish (or post_update). The upload host is tmpfiles.postproxy.dev — that domain must be whitelisted/allowlisted in the sandbox's network egress rules for the upload to succeed. Only use this when running against the remote (hosted) MCP server: if you are running the local (stdio) MCP server, do NOT use this — instead pass local file paths directly in the media array, which uploads them via multipart.

post_publishA

Publish a post to specified social media profiles. Supports text content, media attachments, scheduling, drafts, threads (X and Threads only), and platform-specific customization via the 'platforms' parameter.

post_statusA

Get status of a published post by post ID

post_publish_draftA

Publish a draft post. Only posts with draft status can be published using this endpoint

post_updateA

Update an existing post. Only drafts or scheduled posts (more than 5 min before publish) can be updated. Only send fields you want to change — omitted fields are left unchanged.

post_deleteA

Delete a post from the database. By default does NOT remove from social media platforms. Pass delete_on_platform=true to also remove from all published platforms before DB deletion.

post_delete_on_platformA

Delete a published post from social media platforms WITHOUT removing it from the database. Async via background job. Optionally narrow scope by post_profile_id (covers entire thread for that profile), profile_id, or network. With no scope, deletes from all published platforms. Supported: Facebook, Threads, X (Twitter), LinkedIn, Pinterest, YouTube. NOT supported: Instagram, TikTok.

history_listB

List recent post jobs

post_statsA

Get stats snapshots for one or more posts. Returns all matching snapshots so you can see trends over time. Supports filtering by profiles/networks and timespan.

profiles_placementsA

List available placements for a profile. For Facebook: business pages. For LinkedIn: personal profile and organizations. For Pinterest: boards. For Telegram: channels the bot can post to. For Google Business: locations (returned as full resource paths 'accounts/X/locations/Y' to pass as location_id). Available for facebook, linkedin, pinterest, telegram, and google_business profiles.

profiles_statsA

Get the follower/engagement timeseries for a profile. Returns daily snapshots (captured every ~23h). placement_id is required for facebook, linkedin, and telegram profiles (get it from profiles_placements); omit for other networks. Fields in records[].stats are platform-native and not normalized.

queues_listA

List all posting queues. Queues automatically schedule posts into recurring weekly timeslots with priority-based ordering.

queues_getA

Get details of a single posting queue including its timeslots and post count

queues_createA

Create a new posting queue with weekly timeslots. Use profiles.list to find the profile_group_id.

queues_updateA

Update a queue's settings, timeslots, or pause/unpause it. Changes to timezone or timeslots trigger rearrangement of all queued posts.

queues_deleteA

Delete a posting queue. Posts in the queue will have their queue reference removed but will not be deleted.

queues_next_slotA

Get the next available timeslot for a queue

comments_listA

List comments on a published post. Returns paginated top-level comments with nested replies. Not all platforms support comments.

comments_getA

Get a single comment with its replies

comments_createA

Create a comment or reply on a published post. The comment is published to the platform asynchronously. Supported on Instagram, Facebook, Threads, YouTube, and LinkedIn.

comments_deleteA

Delete a comment from the platform asynchronously. Supported on Instagram, Facebook, YouTube, and LinkedIn. Not supported on Threads.

comments_hideA

Hide a comment on the platform asynchronously. Supported on Instagram, Facebook, and Threads.

comments_unhideA

Unhide a previously hidden comment on the platform asynchronously. Supported on Instagram, Facebook, and Threads.

comments_likeA

Like a comment on the platform asynchronously. Currently only supported on Facebook.

comments_unlikeA

Remove a like from a comment on the platform asynchronously. Currently only supported on Facebook.

profile_comments_listA

List profile-scoped comments. Currently surfaces Google Business reviews (reviews live on a location, not a post, so they cannot be reached via comments_list). Each item may include nested replies. Reviews sync from Google twice daily (06:00 and 18:00 UTC).

profile_comments_getA

Get a single profile comment (review or your reply) by Postproxy hashid or the platform's external_id (e.g. 'accounts/.../locations/.../reviews/...').

profile_comments_createA

Reply to an existing profile comment (Google Business review). Top-level comments are NOT allowed — you can only reply to a review that already exists. parent_id is required. Response is returned immediately with status 'pending'; a background job then publishes to Google and updates status to 'published' or 'failed'.

profile_comments_deleteA

Delete your reply to a profile comment. Only your own reply is removed — the underlying review is NOT deleted (Google does not allow businesses to delete reviews). Returns {accepted: true} while the delete is dispatched asynchronously.

dm_chats_listA

List direct-message chats (conversations) for a DM-capable profile, ordered by most recent activity. Supported on Facebook (Messenger), Instagram, Telegram, and Bluesky.

dm_chat_createA

Find or create a chat for a participant on a DM-capable profile (idempotent — returns the existing chat if one already exists). Use before sending a message to a participant the profile has not yet messaged.

dm_chat_getA

Get a single chat by Postproxy hashid or by the platform's external_conversation_id.

dm_messages_listA

List messages in a chat, most recent first. Optionally filter by direction or status.

dm_message_sendA

Send an outbound direct message. Provide EITHER body (text) OR media (a single attachment), not both. The message is queued and delivered asynchronously (returns status: pending). Outside Meta's 24h messaging window, pass tag: HUMAN_AGENT (Facebook/Instagram only). reply_to_external_id and reply_markup are Telegram-only.

dm_message_getB

Get a single message by Postproxy hashid or by the platform's external_id.

dm_message_editA

Edit a previously-sent outbound message on the platform. Telegram only — Facebook and Instagram do not expose outbound edits. Provide body (new text/caption) and/or reply_markup (pass {} to clear the keyboard); at least one is required.

dm_message_reactA

Add a reaction from your business account to a message. Facebook Messenger and Instagram Direct only (not Telegram or Bluesky). A second react replaces the previous one.

dm_message_unreactA

Remove your business account's reaction from a message. Facebook Messenger and Instagram Direct only.

dm_chat_archiveA

Archive (mute) a chat. Bluesky only — calls Bluesky's muteConvo. Returns the chat with archived: true.

dm_chat_unarchiveA

Unarchive (unmute) a chat. Bluesky only — calls Bluesky's unmuteConvo. Returns the chat with archived: false.

dm_comment_private_replyA

Send a DM to the author of a comment, in reply to that comment (Meta 'Private Replies'). Bypasses the 24h window (comments up to 7 days old) and creates/reuses a chat automatically. One private reply per comment, ever. Instagram and Facebook (Page comments) only.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/postproxy/postproxy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server