MCP Tool Reference
The Schedulala connector at https://schedulala.com/api/mcp gives an AI assistant 39 tools. Each one is labeled by what it can change, so the assistant knows which ones need your approval.
| Label | Meaning | Tools |
|---|---|---|
| Read | Only looks things up. Changes nothing. | 25 |
| Write | Changes only your own Schedulala media library or saved keywords. Nothing appears on a social platform. | 6 |
| Sensitive write | Publishes, changes or hides something on a social platform, or deletes a draft. Should be approved every time. | 8 |
The same labels are sent to the assistant as MCP tool annotations: read tools have readOnlyHint: true, sensitive writes have destructiveHint: true, and tools that reach public platforms have openWorldHint: true.
Sensitive writes
| Tool | What it does | What it changes |
|---|---|---|
create_post | Schedules a post to one or more platforms, adds it to the queue, saves a draft, or publishes now. | When published, the post is public and Schedulala cannot unpublish it. |
bulk_create_posts | Creates up to 25 posts in one call. | Same as create_post, for each post. Uses post quota per post. |
create_thread | Creates a thread on X, Threads, Bluesky or Mastodon. | Publishes a public chain of posts at the scheduled time. |
update_post | Edits a draft or scheduled post (text, media, time, settings). | Changes what will publish. Posts already published cannot be edited. |
retry_post | Retries the platforms where a post failed. | Publishes to those platforms, now or after a delay. |
cancel_post | Cancels a scheduled post or deletes a draft. | A cancelled post will not publish. A deleted draft cannot be restored. |
reply_to_comment | Posts a reply to a comment, or a top-level comment. | The reply is public immediately. On Google Business it replaces the existing owner reply. |
hide_comment | Hides or unhides a comment on Facebook, Instagram, YouTube or Threads. | Changes who can see the comment. Hiding on YouTube rejects it and cannot be undone. |
Writes
| Tool | What it does | What it changes |
|---|---|---|
attach_media | Opens an in-chat uploader. Files go straight into the user's media library. | Adds files to the library. |
upload_media | Copies an image or video from a public URL (or a small inline image) into the media library. | Adds a library item. Nothing is posted. |
begin_generated_media_upload | Starts a chunked upload for an image the assistant made in the conversation. | Creates a temporary upload session. |
append_generated_media_chunk | Adds the next chunk to that upload session. | Adds data to the session. |
finish_generated_media_upload | Turns the finished session into a media library item. | Adds a library item. |
update_feed_keywords | Adds or removes a saved listening keyword. | Changes the user's saved keyword list only. |
Reads
Tools starting with show_ render an interactive panel in assistants that support MCP Apps (Claude, ChatGPT) and also return a text summary the assistant can read.
| Tool | What it does |
|---|---|
list_accounts | Lists the connected social accounts, with their ids and connection health. |
connect_account | Returns a schedulala.com link where the user connects a new account in their own browser. Connects nothing by itself. |
show_connections | Shows the connected accounts as an interactive panel. |
list_posts | Lists posts created through the API, filterable by status, platform, workspace and date. |
get_post | Returns one post with its per-platform status, post links and any errors. |
show_calendar | Shows upcoming and recent posts as an interactive calendar. |
validate_post | Checks a draft against each platform's rules (length, media, required fields) without creating anything. |
show_post_preview | Shows how a draft will look on each platform. Does not schedule or post. |
list_media | Lists the user's uploaded media library. |
get_post_analytics | Returns per-post analytics stored in Schedulala. |
get_follower_growth | Returns follower counts and growth history stored in Schedulala. |
get_best_posting_times | Returns the best hours and days to post, from the user's own history. |
show_analytics | Shows follower growth and top posts for one account as an interactive card. |
show_leaderboard | Shows an account's posts ranked by a metric. |
show_comparison | Shows metrics the assistant already gathered side by side. |
get_video_retention | Returns audience retention for one of the user's YouTube videos (live from YouTube Analytics, cached 7 days). |
get_video_transcript | Returns the captions of one of the user's YouTube videos. |
get_usage | Returns the plan, post quota usage and rate limit for this connection. |
list_comments | Reads comments on the user's connected accounts, live from each platform. |
list_mentions | Reads posts that mention the user's account, live from each platform. |
show_inbox | Shows recent comments as an interactive inbox. Its Hide and Reply buttons call hide_comment and reply_to_comment. |
search_feeds | Searches public posts on Bluesky, Threads and Mastodon by keyword. |
lookup_profile | Looks up a public Bluesky profile and its recent posts. |
show_feeds | Shows public posts matching the user's saved keywords as an interactive feed. |
list_feed_keywords | Lists the user's saved listening keywords. |
Errors and limits
- A failed call returns a readable message that says what went wrong, for example a caption over a platform's limit or an account that needs reconnecting. See Error Handling.
- Each connection uses your plan's API rate limit and post quota.
get_usageshows both. See Rate Limits. - Threads keyword search in
search_feedshas a daily budget set by Meta, shared with the Schedulala dashboard. Bluesky and Mastodon searches do not.
Setup for Claude is on the Claude Connector page. Other assistants connect to the same URL and sign in with OAuth.