MCP tools reference

These are the tools Postwase's MCP server offers, generated from the same list the server uses. read tools work on read-only connections; write tools need write access. Arguments ending in ? are optional.

Projects

ToolWhat it doesAccess
list_projects
no arguments
List the user's Postwase projects (brands, shops, clients) with their id, time zone, the user's role and connected networks. Start here.read
list_channels
project_id
List the social accounts connected to a project (Facebook Page, Instagram, YouTube, TikTok, X, Pinterest, Threads, Bluesky, Reddit). Use these ids in create_post.read
get_posting_rules
networks
Character limits, hashtag limits, media requirements and required options for the given networks. Check before writing captions.read

Media

ToolWhat it doesAccess
upload_media_from_url
project_id, url, filename?
Download an image or video from a public https link into the project's media library. Returns a media id; poll get_media until status is "ready" before posting.write
upload_media
project_id, filename, mime_type, data_base64
Upload an image or short video you have as base64 (for example an image attached in the chat), up to 15 MB. Returns a media id; poll get_media until ready.write
complete_upload
project_id, media_id
Tell Postwase a file sent to an upload link has arrived, so it starts preparing it.write
get_media
project_id, media_id
Status (uploaded → processing → ready, or failed with a reason), size and duration of one media item.read
list_media
project_id, limit?
Recent images and videos in the project's media library, newest first.read

Posts

ToolWhat it doesAccess
validate_post
project_id, text, channels, media_ids?
Check a post against every chosen network's rules without saving it. Returns valid, or the problems to fix.read
create_post
project_id, text, channels, media_ids?, when, scheduled_at?
Create a post for one or more channels: save as draft, schedule at a time, add to the posting queue, or publish now. Confirm text, channels and time with the user before scheduling or publishing.write
update_post
project_id, post_id, text, channels, media_ids?, when, scheduled_at?
Replace the text, media, channels or timing of a draft or of a scheduled post that hasn't started publishing.write
changes existing posts
reschedule_post
project_id, post_id, scheduled_at
Move a scheduled post to another time, keeping everything else.write
list_posts
project_id, status?, from?, to?, limit?
Recent posts with their status per channel (and links once published), optionally filtered by status or time range.read
get_post
project_id, post_id
Everything about one post: text, media, channels with options, status and schedule.read
cancel_post
project_id, post_id
Stop a scheduled post on every channel that hasn't published yet. Already-published channels are not deleted.write
changes existing posts
duplicate_post
project_id, post_id
Copy a post (text, media, channels) into a new draft.write

Planning

ToolWhat it doesAccess
get_posting_schedule
project_id
The project's weekly posting times and the next free slot that when="queue" would use.read
get_analytics
project_id, days?
Views, likes, comments and shares of posts published in the last N days: totals, per network, per day and top posts.read
ToolWhat it doesAccess
fetch
id
Full text and status of a post found with search.read

create_post in detail

when is one of draft, schedule (with scheduled_at), queue (next free slot of the project's posting schedule) or now. scheduled_at takes an ISO time with offset, or a local time like 2026-11-02T09:00 read in the project's time zone. Each entry of channels can carry its own text and network options:

arguments
{
  "project_id": "…",
  "text": "Our autumn menu is here 🍂 #coffee",
  "media_ids": ["…"],
  "when": "schedule",
  "scheduled_at": "2026-11-02T09:00",
  "channels": [
    { "channel_id": "… facebook …" },
    { "channel_id": "… tiktok …", "options": { "privacyLevel": "PUBLIC_TO_EVERYONE" } },
    { "channel_id": "… youtube …", "options": { "title": "Autumn menu in 30 seconds" } },
    { "channel_id": "… reddit …", "options": { "subreddit": "coffee", "title": "Our autumn menu" } }
  ]
}
NetworkRequired options
YouTubetitle (max 100 characters); a video is required
TikTokprivacyLevel: PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR or SELF_ONLY; media required
Redditsubreddit and title
Instagram, Pinterestnone, but media is required

Prompts

  • plan_week: Draft a week of posts around a theme, as drafts to review.
  • repurpose_video: Import a video and write a caption per network.

Resources

postwase://rules: the posting rules of every network as JSON, for apps that load resources into context.