Content planner & assets 15
list_content
Read-onlyLists the coach's planned social content, newest first. Summary cards (channel, format, status, pillar, hook, scheduledAt) without the post body — use get_content for the full text. limit defaults to 20, max 100; offset skips newer items (capped at 1000).
limit?: integer (1–100) offset?: integer (≥ 0)
get_content
Read-onlyReturns one content item's full card by id, including the post body.
contentId: string
create_content
WritesCreates a content item for the coach and returns its full card. channel and format are required; status defaults to draft — pass published to log an already-posted item, or scheduled together with scheduledAtIso (ISO 8601 slot time).
channel: instagram | tiktok | youtube | telegram format: reels | carousel | story | post | short | video | text status?: idea | draft | review | scheduled | published | missed | analyzed | archived pillar?: education | results | behindTheScenes | engagement hook?: string body?: string scheduledAtIso?: datetime (ISO 8601)
update_content
WritesUpdates a content item's fields (channel, format, pillar, hook, body). Pass only the fields to change; omitted fields keep their value. Status and slot are changed by dedicated tools. Returns the updated card.
contentId: string channel?: instagram | tiktok | youtube | telegram format?: reels | carousel | story | post | short | video | text pillar?: education | results | behindTheScenes | engagement hook?: string body?: string
promote_content
WritesTurns an idea from the idea bank into a draft (status → draft). Allowed only from idea. Returns the updated card.
contentId: string
submit_content_for_review
WritesSends a draft for the coach's approval (status → review). Allowed only from draft. Returns the updated card.
contentId: string
return_content_to_draft
WritesReturns content to draft and clears its slot (status → draft) — use to reject a review, unschedule, or replan a missed slot. Allowed from review, scheduled or missed. Returns the updated card.
contentId: string
schedule_content
WritesPuts a draft or in-review content item into a calendar slot (status → scheduled). scheduledAtIso is the ISO 8601 slot time. Returns the updated card.
contentId: string scheduledAtIso: datetime (ISO 8601)
publish_content
WritesMarks a scheduled content item as published (status → published) — use once it has been posted to the channel. Returns the updated card.
contentId: string
archive_content
WritesMoves a content item into the archive (status → archived) — use to shelve an idea or draft you no longer plan to publish. Allowed from any non-terminal status; rejected for already-analyzed or archived items. Returns the updated card.
contentId: string
delete_content
IrreversibleDeletes a content item (IRREVERSIBLE, hard delete). Prefer archive_content to keep a record. No-op if missing (deleted:false).
contentId: string
list_content_assets
Read-onlyLists the coach's content library assets (video or image), newest first: title, tags and media metadata (video is null until a file is uploaded in the app; image carries the Storage url). limit defaults to 20, max 100; offset skips newer entries (capped at 1000).
limit?: integer (1–100) offset?: integer (≥ 0)
get_content_asset
Read-onlyReturns one content library asset by id.
assetId: string
create_content_asset
WritesCreates a VIDEO content library asset record (title, description, tags); the video file itself is uploaded in the app afterwards. Image assets cannot be created via MCP — an image requires the file at creation, which only the app can attach. Returns the created asset.
title: string type: value description?: string tags?: string[]
delete_content_asset
IrreversibleDeletes a content library asset record (the uploaded media file is intentionally kept in storage). No-op if missing (deleted:false).
assetId: string