create_content
ChatGPTCreate a content draft in a content calendar. It is created for review — never scheduled or published, and a person still approves it. Media and social accounts are added later in the app. Returns the created content.
create_content_calendar
ChatGPTCreate a content calendar in a hub. Subject to the plan limit on number of calendars.
create_idea
ChatGPTAdd an entry to the Ideas Hub in a content calendar. An idea is planning-only and is never published. Returns the created idea.
get_content
ChatGPTRead one piece of publishable content in full, including its current caption, media list and selected social accounts.
get_hub_metrics_overview
ChatGPTHub-wide totals (followers, posts, engagement, views) summed across every social account, plus the same per-account breakdown as list_social_accounts. The totals only sum accounts that reported: an account whose metricsStatus is not ready contributes nothing, so check the breakdown before presenting a total as the hub's whole picture. Use this for "how is the hub doing" questions; use list_top_performing_posts for "which post did best".
get_idea
ChatGPTRead one Ideas Hub entry in full, including notes, caption and attachments.
list_content
ChatGPTList publishable content in a content calendar — posts, carousels and stories, with their status and scheduled publication date. Ideas are separate; use list_ideas for those.
list_content_calendars
ChatGPTList the content calendars in a hub. A content calendar is the addressing layer: content and ideas belong to one, and cannot be listed by hub alone.
list_hubs
ChatGPTList every hub the signed-in user belongs to, with the role they hold. Start here: hub ids are needed to list content calendars.
list_ideas
ChatGPTList Ideas Hub entries in a content calendar. An idea is planning-only and is never published — that is what distinguishes it from content.
list_social_accounts
ChatGPTList the social accounts connected to a hub, each with a followers/posts/engagement snapshot over the range. Use the returned id as socialAccountId for list_top_performing_posts. metricsStatus says whether the numbers can be believed: ready (collected), pending (first collection has not landed yet), failed (it errored — initialMetricsFailedAt says when), unsupported (no insights on that platform). Anything but ready comes back with nulls rather than an error, and a null is never a zero — report it as not collected.
list_top_performing_posts
ChatGPTRank a social account's posts by a chosen metric, to find what content resonates — for turning into new ideas, pull the winners' captions and topics. A metric the platform doesn't report comes back null and sorts last, never crashes. When ourContentId is set the post was published through YSH — call get_content with it for the full caption and media; otherwise it was posted natively and caption/thumbnailUrl/permalink are all that's available.
promote_idea_to_content
ChatGPTTurn an idea into a content draft: its text, classifications, recommended social accounts, planned date and files are copied into new content created for review, and the source idea is marked sent and can no longer be edited through MCP. The result is never scheduled or published. Returns the created content.
render_social_preview
ChatGPTUse this after creating, updating, or promoting an idea or content draft to show its current social-platform preview. Pass exactly one entity id.
restore_file
ChatGPTRestore a file removed within the last 24 hours, from the recentlyDeleted list on get_content / get_idea. Works for both content and idea files, subject to the matching write scope.
update_content
ChatGPTOverwrite supplied fields of a content draft that is still awaiting review (in_review or revisions_needed). Cannot touch approved, scheduled or published content. fileOrder can move omitted files to a 24h trash before permanent purge. Setting a publication date only proposes it — a person still approves to schedule.
update_idea
ChatGPTOverwrite the supplied fields of an idea. fileOrder is the ordered list of file ids to keep; ids left out are moved to the 24h trash, then permanently purged, and a trashed id listed again is restored. Blocked once the idea has been promoted to content.