com.socialfaktory/mcp

SocialFaktory: Social Media MCP Server

Social media MCP server: write in a brand's voice, generate short video, schedule and publish posts.

Endpointhttps://www.socialfaktory.com/mcp (streamable-http)
Registry version1.0.1
Now21 tools · grade C (65) · pin ts_482bb95dedaea1bc9a808393e6e17148 · protocol 2025-06-18
First / last listed2026-11-02 02:40 UTC / 2026-11-02 02:40 UTC
Grade over time2026-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.

Timeline

First listing · 2026-11-02 02:40 UTC
21 tools, grade C (65)

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

Current tools (21)

list_brandsList the brands this token may act for. A pinned token sees only the brand it is pinned to.
params: none
list_channelsList a brand connected social channels with the caption and media limits each one enforces.
params: brand_id
get_channel_requirementsAsk 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_formatsList the video formats a generation can be built from, and the render styles they can be drawn in.
params: page
get_generationRead 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_generationsList the generations this token may see, newest first.
params: brand_id, page
get_text_generationRead one text generation and the variants it wrote.
params: brand_id*, text_generation_id*
quote_generationShow 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_generationRun 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_textWrite 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_uploadOpen 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_uploadTell 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_uploadRead 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_mediaBrowse the finished exports in a brand media library, by folder or by name.
params: brand_id, folder_id, query, kind, page
create_postsCompose 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_postSend 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_postsList 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_postDelete 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_referenceAsk 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_walletRead 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_actorsList 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.