SocialFaktory: Social Media MCP Server
Social media MCP server: write in a brand's voice, generate short video, schedule and publish posts.
| Endpoint | https://www.socialfaktory.com/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.1 |
| Now | 21 tools · grade C (65) · pin ts_482bb95dedaea1bc9a808393e6e17148 · protocol 2025-06-18 |
| First / last listed | 2026-11-02 02:40 UTC / 2026-11-02 02:40 UTC |
| Grade over time | 2026-11-02: C (65), 21 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: list_brands list_channels get_channel_requirements list_formats get_generation list_generations get_text_generation quote_generation create_generation generate_text create_upload complete_upload get_upload list_media create_posts send_post list_posts delete_post check_reference get_wallet list_actors
list_brands | List the brands this token may act for. A pinned token sees only the brand it is pinned to. params: none |
list_channels | List a brand connected social channels with the caption and media limits each one enforces. params: brand_id |
get_channel_requirements | Ask the connected social account what it accepts right now: its limits, the TikTok privacy levels the creator allows, and the Pinterest boards a pin can go to. params: brand_id, channel_id* |
list_formats | List the video formats a generation can be built from, and the render styles they can be drawn in. params: page |
get_generation | Read one generation: where it is, the finished video, and the editor asset it produced. While it runs, stage is its current step, waiting_on names what holds it up and deadline_at is when it would be failed for that. A run waiting on the user will not move until the person acts, so ask them rather than poll. params: generation_id* |
list_generations | List the generations this token may see, newest first. params: brand_id, page |
get_text_generation | Read one text generation and the variants it wrote. params: brand_id*, text_generation_id* |
quote_generation | Show how many credits a generation would use before it starts, so the user can agree to it. Inputs it would refuse to run come back as a refusal instead. params: workflow* |
create_generation | Run a video generation, spending credits already in the account. Quote it first with quote_generation and run only once the user agrees to the quote: the token monthly credit cap is the only other guard on the spend. params: idempotency_key*, workflow* |
generate_text | Write post variants for a brand from a brief, a link, a finished generation or a media item. Spends the user credits: 3 are reserved up front against the token monthly credit cap, and the write settles at what it used, which can land a little over the cap. params: idempotency_key*, brand_id*, brief, source_url, generation_id, media_id, platform |
create_upload | Open a ticket for a file from the user machine, content the service has not seen. Send the bytes in one raw HTTPS PUT to the returned url with exactly the returned headers, then call complete_upload. Limits: 2 GB, 30 minutes, 4096 px a side, 50 megapixels. An editor asset, the default purpose, needs its kind. Purpose video_reference stores a trend remake's source video: pass the ready ticket's vid params: idempotency_key*, filename*, byte_size*, content_type*, purpose, kind, name |
complete_upload | Tell the service the bytes are in place and start the ingest. Safe to call again: the ticket is claimed once, so a repeat reports progress rather than ingesting twice. params: upload_id* |
get_upload | Read an upload ticket. Poll it every 2 seconds, backing off to 5, for up to 16 minutes: the ingest gives up at 15, so the ticket always reaches ready or failed inside that window. A ready video ticket carries the editor asset id and its thumbnail_url, which a Pinterest pin needs. A ready actor ticket carries the actor id and its portrait_url. params: upload_id* |
list_media | Browse the finished exports in a brand media library, by folder or by name. params: brand_id, folder_id, query, kind, page |
create_posts | Compose one post per channel from the same media. Drafts by default, which stay inside the service and run no checks; send them one at a time with send_post so a refusal names the channel it belongs to. status "scheduled" instead checks every target first, creates nothing if one fails, then hands the posts to the publisher in the background for the social accounts the user connected: they come bac params: idempotency_key*, brand_id, generation_id, media_item_id, editor_asset_id, scheduled_at, status, targets* |
send_post | Send one draft to the social account the user connected for its channel, at its scheduled time or straight away. The channel checks run inside this call, so a refusal comes back here with its code. The post then returns queued and the publisher takes it from there: poll list_posts to see it turn scheduled and then published. params: idempotency_key*, brand_id, post_id*, mode* |
list_posts | List posts with their scheduled time, the link they were released at, and their metrics. A post just sent stays queued until the publisher takes it, then turns scheduled. A release link and metrics appear once the channel reports back, which takes a few minutes. params: brand_id, status, page |
delete_post | Delete a post from the account. A scheduled one is withdrawn from the live social channel first, inside this call. A post already published stays online on its channel: only the record here goes. Rescheduling is a delete followed by create_posts. params: idempotency_key*, brand_id, post_id* |
check_reference | Ask whether a video link can be used as the source of a swap, and if so record it on the account and start fetching that third-party video from its host. Safe to call again while the fetch is running: it reports progress rather than fetching twice. params: url* |
get_wallet | Read the credit balance of the account the token belongs to, and its auto top-up settings (read-only: they change only in the Billing page). params: none |
list_actors | List the actors this account can cast: its own and the ready-made cast, by name, 25 a page. Pass an id as actor_id or actor_ids to quote_generation and create_generation. params: query, kind, page |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.