MCP App Store
by KeenEthics

Overview

Sydium is a social media operating system for creators, small businesses and agencies. This connector puts your Sydium workspace inside Claude, so the work of drafting, scheduling and checking on posts happens in the conversation you are already in. What you can do from a chat: - See which social accounts are connected and what each platform accepts (post types, media limits, caption lengths). - Draft captions in your own brand voice, learned from what you have already published. - Add an image or video by link and learn up front which platforms will take it. - Publish now or schedule to Instagram, TikTok, YouTube, Facebook, LinkedIn, X, Pinterest, Threads, Bluesky, Mastodon and Google Business Profile, with per-platform options such as Pinterest boards, TikTok privacy settings and Google Business calls to action. - Draft a carousel from slide text you write. Sydium renders it in your brand style and gives you a link to review the slides and schedule. - Review the upcoming queue, read a post's full caption, change its text, media or time, or cancel it. - Pull today's content idea from Muse and read account analytics over any date range. - Agencies act for a specific client workspace with the same permissions they have in the Sydium app. Publishing is explicit. The publish tool is annotated as destructive, so Claude confirms before anything lands on a public feed, and a scheduled post stays editable or cancellable until it goes out. Media is stored in Sydium first, so publishing never fetches from arbitrary URLs. Requires a Sydium workspace with an active plan or trial. Connecting authorizes exactly one workspace through OAuth; it does not create an account or start a plan, and plans are managed at sydium.com. Social accounts are connected in the Sydium app, not through this connector.

Tools

add_media

ChatGPT
Store an image or video in Sydium and return the media URL that publish_post and update_post require. Media MUST be hosted by Sydium - an external URL passed straight to publish_post is rejected - so call this first. Pass EITHER file (a file the user attached to this conversation) OR url (a direct, publicly reachable link to the image or video itself, not a web page containing it). Supported: jpeg, png, gif, webp, mp4, mov, webm - up to 200MB. HEIC/AVIF photos (the iPhone default) are NOT supported; ask the user to convert to JPEG. A Google Drive or Dropbox SHARE link works, as long as the file is shared with anyone who has the link. 200MB is a hard limit on this tool only - if the file is larger, do NOT keep retrying or look for another link. If the file is on the user's own computer and you can run shell commands there (Claude Code, a terminal), use create_upload_url instead: it takes a local file directly, up to 2GB for video, with no link needed. Otherwise tell the user to upload it in Sydium directly (Publish, or the media library), where there is no such limit, and then carry on with the caption and scheduling. Returns the media url plus its measured size, dimensions and duration, and acceptedBy / rejectedBy: which platforms will take this file. Pass postType when you already know it (reel, story, carousel...) - story and carousel limits are stricter than the platform default, and without it acceptedBy is optimistic. Check rejectedBy before scheduling. The media is REMOVED once its post publishes, so a url cannot be reused for a second post - call add_media again. If the user attached a file to this conversation but you cannot pass it to file, that is a limitation of the CLIENT you are running in, not of Sydium - say so plainly, in those terms, and ask for a public link, which works everywhere. Do not tell the user that Sydium cannot accept their image, and do not claim an upload happened. This is for real images and videos only. For a carousel, call draft_carousel instead: never create, render or upload placeholder or text-only images to stand in for carousel slides.

cancel_post

ChatGPT
Cancel a scheduled post operation by id (only targets still scheduled are cancelled)

create_upload_url

ChatGPT
Upload a file from the user's OWN computer. For agents that can run shell commands on that machine (Claude Code, a terminal) - add_media can only fetch a public link, and a file on the user's disk has none, so this is how a local photo or video gets into Sydium. It is also the way for a video over add_media's 200MB limit: up to 2GB for video, 50MB for images. Steps: (1) read the file's exact size in bytes (e.g. stat -f%z FILE on macOS, stat -c%s FILE on Linux) and its type - jpeg, png, gif, webp, mp4, mov or webm; (2) call this with contentType and fileSize; (3) PUT the file's bytes to uploadUrl with the header Content-Type set to exactly the returned contentType - the returned curl is the command, with FILE replaced by the quoted path. The size must match fileSize exactly, or storage refuses the upload; (4) pass the returned url in publish_post's or update_post's media. The upload URL expires in an hour; mint a new one rather than retrying an expired one. HEIC/AVIF photos (the iPhone default) are NOT supported: convert to JPEG first (on macOS: sips -s format jpeg IN.heic --out OUT.jpg). Unlike add_media this does not measure the file, so it returns no acceptedBy/rejectedBy - publish_post still checks the file exists before scheduling. The media is REMOVED once its post publishes, so a url cannot be reused for a second post. If you cannot run commands on the user's machine (a chat app), this tool cannot help you: use add_media with a public link or an attached file.

generate_caption

ChatGPT
Generate a social caption with AI

get_analytics

ChatGPT
Account analytics time-series (optional from/to YYYY-MM-DD)

get_platform_capabilities

ChatGPT
Get posting limits/capabilities; optional single platform

get_post_status

ChatGPT
Get a publish operation's per-target status AND its full, untruncated caption (list_scheduled_posts truncates captions at 280 chars - read the full text here before editing a post)

get_today_idea

ChatGPT
Fetch today's Muse content idea for the team, or for a specific agency client via clientId (a read; does not generate)

list_accounts

ChatGPT
List connected social accounts for the team, or for a specific agency client via clientId. Also returns team, the workspace this connection is bound to - a connection reaches exactly one workspace, fixed when the user authorized it. If the user expected different accounts, they likely authorized a different workspace: say which one you are on and tell them to reconnect and pick the right one.

list_clients

ChatGPT
List the agency clients under this team (id/name/status). Pass a client id to other tools' clientId to act for that client.

list_scheduled_posts

ChatGPT
List the team's upcoming scheduled posts (optional from/to ISO dates to bound a window, e.g. this week)

publish_post

ChatGPT
Publish now or schedule a post to connected platforms. media entries must be Sydium-hosted URLs returned by add_media; any other URL is rejected. Pinterest needs a board per post: set targets[].options.pinterestBoardId to a board id or name from list_accounts; a Pinterest target without one is refused up front. TikTok needs the user's OWN choices: options.privacyLevel and options.musicUsageConfirmed: true. Ask them - the second is the user agreeing to TikTok's Music Usage Confirmation and is not yours to assert. If they would rather not decide here, use options.saveAsDraft: true and they finish it in the TikTok app. A TikTok target with neither is refused up front. Do not use this to post a carousel you cannot see: Sydium renders carousels itself. Call draft_carousel and give the user its link to review the slides and schedule.

update_post

ChatGPT
Edit a scheduled post operation by id: change its caption, media, and/or scheduled time. Only targets still scheduled are updated; omitted fields are left unchanged; media:[] clears media. media entries must be Sydium-hosted URLs returned by add_media; any other URL is rejected. Cannot change which platforms it posts to - cancel and re-create for that. options changes per-platform settings (cover, privacy, first comment...) and MERGES with what is already set.

add_media

Claude

cancel_post

Claude

generate_caption

Claude

get_analytics

Claude

get_platform_capabilities

Claude

get_post_status

Claude

get_today_idea

Claude

list_accounts

Claude

list_clients

Claude

list_scheduled_posts

Claude

publish_post

Claude

update_post

Claude

Similar Apps