MCP App Store
by KeenEthics

Overview

Create and schedule posts, inspect connected accounts, work with queues, review analytics, manage automations, browse curated content, and handle social listening items in an authorized SocialBu workspace.

Tools

add_post_to_queue

ChatGPT
Add content to a custom publishing queue. Pass media as HTTP(S) URLs (up to 500MB) or base64 data URLs (up to 75MB encoded, about 56MB decoded) in media_urls and they will be uploaded automatically. Local paths (including /mnt/data/...), sandbox: links, and attachment IDs are not accessible to SocialBu. For a local attachment, read its bytes and explicitly encode the complete file as data:<mime_type>;base64,<encoded_bytes>; do not pass its path or a placeholder. If the signed upload host cannot be reached, use this base64 route instead. Supports custom options (use get_post_options) passed as a JSON-encoded object.

approve_post

ChatGPT
Approve a post that is awaiting team approval. Requires approval permission in the team.

archive_all_listen_items

ChatGPT
Archive every active item in a Listen stream. Params: stream_id required integer.

archive_listen_item

ChatGPT
Archive one item in a Listen stream. Params: stream_id required integer; item_id required integer.

assign_inbox_conversation

ChatGPT
Assign a conversation in a team inbox (t_ ID) to an approved member with inbox_access=true from list_inboxes. The conversation must belong to that team. Uses the existing assignment notification preferences.

bulk_archive_listen_items

ChatGPT
Archive multiple active items in a Listen stream. Params: stream_id required integer; item_ids required array of integer item IDs.

bulk_delete_listen_items

ChatGPT
Delete multiple items from a Listen stream. Requires Manage Social Listening permission for team streams. Params: stream_id required integer; item_ids required array of integer item IDs.

create_listen_stream

ChatGPT
Create a listening stream to find people discussing a topic, asking for help, or mentioning a brand. First inspect list_listen_sources and existing streams. query is 1-10 search strings: entries are OR alternatives, words within an entry are AND, quoted phrases match phrases, and -term excludes a term. Follow each source query_hint. options is a JSON object supporting ai_filter_enabled, ai_filter_prompt (required when enabled, max 1000 chars), ai_analyze_sentiment, and ai_generate_tags; AI processing uses credits. platform_queries is a JSON object mapping selected source keys to replacement query arrays. team_id requires Manage Social Listening permission and uses the team owner plan. Collection runs asynchronously; use get_listen_stream, then list_listen_items for author details and supporting posts. Do not interpret an empty new stream as no matching people.

create_media_upload

ChatGPT
Create a direct media upload for an agent-held file. Provide the original filename and MIME type. Returns a signed_url and headers: PUT the raw file bytes to signed_url within 30 minutes, sending every header in headers exactly as given (the upload is rejected with SignatureDoesNotMatch without x-amz-acl). Once uploaded, use the returned temporary url in media_urls when creating a post. The temporary url is valid for 24 hours. This only creates an upload slot; it does not upload the file or resolve local attachment paths. If your environment cannot resolve or reach the signed_url host, read the file bytes locally and pass a complete data:<mime_type>;base64,<encoded_bytes> URL in create_post.media_urls instead, without calling this tool.

create_post

ChatGPT
Create or schedule a social media post to a single account. scheduled_at must be in UTC (Y-m-d H:i:s). Supports custom options (use get_post_options) passed as a JSON-encoded object. Pass media as HTTP(S) URLs (up to 500MB) or base64 data URLs (up to 75MB encoded, about 56MB decoded) in media_urls and they will be uploaded automatically. Local paths (including /mnt/data/...), sandbox: links, and attachment IDs are not accessible to SocialBu. For a local attachment, read its bytes and explicitly encode the complete file as data:<mime_type>;base64,<encoded_bytes>; do not pass its path or a placeholder. If the signed upload host cannot be reached, use this base64 route instead. For media_upload options (like thumbnails), use an HTTP(S) URL or base64 data URL as the option value. post_type can be: scheduled (default), draft, or awaiting_approval (creates post pending team approval).

delete_account

ChatGPT
Remove a connected social media account.

delete_listen_item

ChatGPT
Delete one saved item from a Listen stream. Requires Manage Social Listening permission for team streams. Params: stream_id required integer; item_id required integer.

delete_listen_stream

ChatGPT
Permanently delete a listening stream and all its saved items. Requires Manage Social Listening permission for team streams. Use update_listen_stream with is_active=false when the intent is only to pause collection.

delete_post

ChatGPT
Delete a single post by ID.

get_account_connect_url

ChatGPT
Get the OAuth URL to connect a new social media account. Supported types: facebook, twitter, instagram, linkedin, google, mastodon, tiktok, reddit, youtube, gmb, pinterest, threads, bluesky.

get_account_metrics

ChatGPT
Get account-level metrics like followers, impressions, reach for connected social accounts.

get_automation

ChatGPT
Get details of a specific automation by ID.

get_automation_log

ChatGPT
Get recent automation execution logs. Optionally filter by automation ID.

get_curated_items

ChatGPT
Get curated content items. Filter by feed ID, search by meaning, source scope, or rolling time range.

get_current_user

ChatGPT
Get the currently authenticated user information including name, email, timezone, and active subscription plan. All scheduling timestamps (scheduled_at) must be in UTC format (Y-m-d H:i:s). Use the timezone field to convert from user local time to UTC.

get_engagement_trend

ChatGPT
Get engagement trend (likes, comments, shares, etc.) over a date range.

get_inbox_conversation

ChatGPT
Read one conversation with account, contact, assignment, unread count, latest activity, and available MCP actions. Does not mark it read. Use list_inbox_items for the full paginated history. Reply support is subject to network validation, including messaging windows.

get_inbox_item

ChatGPT
Read one item by its local ID, including content, thread parent, is_internal, and current status. After replying, use the returned item ID here to check pending, sent, or failed. Pending means queued, not sent; sent confirms the network accepted the reply, not that the recipient read it. Do not resend a pending reply.

get_listen_activity

ChatGPT
Get daily saved-item counts by keyword or platform to assess which searches yield results. Includes archived items. Defaults to the last 30 days; maximum date range is 90 days. Params: stream_id required; group_by keyword (default) or platform; platform optional source key; from/to optional inclusive YYYY-MM-DD dates.

get_listen_item

ChatGPT
Get one saved item from a Listen stream. Params: stream_id required integer; item_id required integer.

get_listen_stream

ChatGPT
Get one Listen stream by ID, including query configuration, permissions, counts, last_fetched_at, next_fetch_at, and quota state. Fetching is asynchronous; null last_fetched_at means no completed collection yet. Check this before concluding a search found no people. Params: stream_id required integer.

get_post

ChatGPT
Get a post by ID, including its current status, published_at, permalink, approval state, attachments, and any publishing error. Only status published confirms publication; queued and pending posts are not yet live.

get_post_metrics

ChatGPT
Get post engagement metrics (likes, comments, shares, etc.) grouped by date.

get_post_options

ChatGPT
Get the supported custom options (like first comment, location, post as reel/story, etc.) for specific accounts or all available accounts. Use this before creating a post to know what options are available. For media_upload type options, provide an HTTP(S) URL (up to 500MB) or a base64 data URL (up to 75MB encoded, about 56MB decoded) and it will be uploaded automatically.

get_stats_overview

ChatGPT
Get overall stats overview including unread feeds, pending posts, failed posts, and inactive accounts.

get_top_posts

ChatGPT
Get top performing posts by engagement metrics for a date range.

list_accounts

ChatGPT
List all social media accounts accessible to the authenticated user, including accounts shared via teams.

list_automations

ChatGPT
List all automations accessible by the authenticated user.

list_inbox_conversations

ChatGPT
Search collected inbox conversations by text/contact name, account, status, assignment, unread state, or inclusive updated dates. Does not mark anything read. unread_only=false includes read and unread conversations. assigned_to accepts mine, unassigned, assigned (other teammates), or a user ID as a string. Dates use YYYY-MM-DD. Follow nextPage until null. Read a conversation and its items before replying.

list_inbox_items

ChatGPT
Read paginated messages, comments, reviews, or internal notes. By default returns root items, oldest first; use newest_first for recent context. Pass parent_item_id to read its direct threaded replies, and follow children_count and nextPage for more. filter=needs_reply or replied applies only to post/video comments and replies; pending sends count as in progress, failed sends still need a reply. Notes have is_internal=true and cannot be replied to. Does not mark read.

list_inboxes

ChatGPT
List accessible account and team inboxes, supported/enabled item types, connection state, and team members. Use these inbox IDs for all inbox tools. Team assignment requires a member with approved=true and inbox_access=true. Inactive inboxes may contain history but are not collecting new interactions.

list_listen_items

ChatGPT
Search saved posts and their authors in a listening stream. This filters collected items, not live platform search. Use post content and permalinks as evidence when finding people; get_listen_stream reports collection state. Params: stream_id required integer; page optional integer default 1; per_page optional integer default 20, max 100; search optional string min 3 chars; platform optional source key; status optional active or archived; from optional YYYY-MM-DD; to optional YYYY-MM-DD.

list_listen_sources

ChatGPT
List supported social listening sources and their query syntax. Call this before creating or refining a stream; use the returned source keys and query_hint for each platform.

list_listen_streams

ChatGPT
List visible listening streams, permissions, and creation capacity. Reuse a relevant stream before creating another for a people or topic search. Params: page optional integer default 1; per_page optional integer default 20, max 100.

list_posts

ChatGPT
List posts filtered by type (scheduled, draft, published, awaiting_approval). Supports pagination and account filtering.

list_queue_posts

ChatGPT
List posts in a specific custom publishing queue, ordered by queue position.

list_queues

ChatGPT
List all custom publishing queues for the authenticated user. Custom queues let users schedule posts on a recurring cycle.

list_teams

ChatGPT
List all teams the authenticated user belongs to.

mark_inbox_conversation_read

ChatGPT
Mark the conversation read through the current time. Reading with other inbox tools does not change unread state.

publish_post_now

ChatGPT
Request publication of a scheduled or draft post. Publishing runs asynchronously and may require approval. Success means the request was accepted, not that the post is live. Use get_post to check status, errors, and the final permalink.

reconnect_account

ChatGPT
Get the OAuth URL to reconnect an existing social media account (e.g. after token expiry). Supported types: facebook, twitter, instagram, linkedin, google, mastodon, tiktok, reddit, youtube, gmb, pinterest, threads, bluesky.

reject_post

ChatGPT
Reject a post that is awaiting team approval with a reason. Requires approval permission in the team.

reply_inbox_conversation

ChatGPT
Send a text reply through the connected social account. Read the conversation and check available_actions first. Omit item_id for a direct message, top-level comment, or review response; supply item_id to reply to a specific comment/reply. A Google Business Profile review response replaces any existing response on the network. This sends externally, never creates an internal note, and is not idempotent. The returned item status is usually pending; use get_inbox_item to confirm sent or failed before reporting success or attempting another send.

search_accounts

ChatGPT
Search connected social media accounts by name. Returns matching accounts with id, name, type, and network.

search_teams

ChatGPT
Search teams by name. Returns matching teams.

set_inbox_conversation_status

ChatGPT
Set a conversation to open, closed, pending, or spam. Use open to reopen a closed conversation. This changes inbox workflow state and does not send a network reply.

toggle_automation

ChatGPT
Enable or disable an automation.

unarchive_listen_item

ChatGPT
Unarchive one item in a Listen stream. Params: stream_id required integer; item_id required integer.

update_account

ChatGPT
Update the display name of a connected social media account.

update_listen_stream

ChatGPT
Update a listening stream; requires Manage Social Listening permission for team streams. Omitted fields stay unchanged. query and sources replace their lists; platform_queries is a JSON object replacing all overrides, with {} clearing them. options is a JSON object merging supplied AI settings (ai_filter_enabled, ai_filter_prompt, ai_analyze_sentiment, ai_generate_tags) or digest settings (notify_daily_digest, digest_recipient_ids). AI processing uses credits. Use is_active=false to pause and true to resume. Send an empty description to clear it. Query or AI filter changes schedule collection through the normal asynchronous fetcher; existing saved items are retained. Read list_listen_sources for query syntax and get_listen_stream before refining a search.

update_post

ChatGPT
Update a scheduled, draft, or awaiting-approval post. Can change content, scheduled time (UTC, Y-m-d H:i:s), JSON-encoded options, or post_type. To convert a draft into a scheduled post, set post_type to scheduled and provide scheduled_at. post_type can be scheduled, draft, or awaiting_approval (requires approval before publishing). Omitting post_type preserves awaiting approval.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

56

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily