AutomateSocials

net.automatesocialsPublished by automatesocials.netOfficial publisherv1.0.0Updated Oct 26, 2026

Write, schedule and publish social posts to Facebook, Instagram, X, LinkedIn and TikTok.

Overview

AI-generated overview

AutomateSocials lets an assistant write, schedule and publish social posts to Facebook, Instagram, X, LinkedIn and TikTok, with brand voice, knowledge and AI…

What you can do
  • Check the workspace, plan, credit balance and connected social accounts, and connect or disconnect accounts and subaccounts
  • Write, save as draft, edit, schedule, publish or delete posts across connected platforms
  • Read and update the brand kit, learn voice from past posts, and analyze the project website
  • Store and search workspace knowledge from text, URLs or uploaded files
  • Generate images and videos, estimate their credit cost, and track video jobs
  • Upload media via presigned URLs or from public links
When to use it
Useful when an assistant should draft, schedule or publish social content for a workspace, keep posts consistent with a brand voice, or produce images and short videos to attach to posts.
Requirements
Remote MCP endpoint at automatesocials.net over streamable HTTP. Requires an AutomateSocials API key sent in the x-api-key header, created in the project's API keys and MCP settings. Social accounts must be connected through the platform authorization links. Credits are needed for generated media, transcription and scraping.
Before you install
The API key grants access to the workspace and its connected social accounts. Publishing, scheduling, editing and deleting posts change live data, and delete_project permanently removes posts, accounts, knowledge and API keys. buy_credits returns a Stripe checkout link and generated media spends credits; video generation is the most expensive. Uploaded files and fetched URLs are stored in the workspace.

Installation

In SourceWeft

  1. Open AutomateSocials in the dashboard and add it to a workspace.
  2. Connect x-api-key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/net.automatesocials%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "automatesocials": {
      "type": "http",
      "url": "https://automatesocials.net/mcp",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}

Tools

76

noop

Connectivity check

Verifies the connection end to end. Returns the caller identity, the channel it arrived on, and the server time. It is for someone checking that an API key or an MCP setup works, and it does nothing else: never call it as a step in doing what the user asked.

Parametersecho

get_user

Account info

Returns the signed-in user, the active workspace, the plan and the credit balance. Call this first to confirm which workspace you are acting on.

Takes no parameters.

get_credits

Credit balance

Returns the credit balance for the workspace. Credits pay for generated images, video, transcription and scraping; writing, publishing and scheduling are free on paid plans.

Takes no parameters.

buy_credits

Buy credits

Returns a Stripe checkout link for a credit pack. Nothing is charged until the user opens the link and pays; the credits are added to their account as soon as Stripe confirms the payment. Packs: starter (50 credits, $4.99), growth (200, $14.99), power (500, $29.99), power_plus (1000, $49.99). Credits never expire. Give the user the link; never claim the credits were added.

ParameterspackageIdrequired

delete_project

Delete this project

Permanently deletes the current project and everything in it: posts, scheduled posts, connected accounts, knowledge, workflows, campaigns and its API keys. Credits are not affected. Only the owner can do it, it cannot be the only project, and confirmName must be the project name exactly as the user typed it. Before calling, tell the user what will be lost and have them type the name. It cannot be undone.

ParametersconfirmNamerequired

list_accounts

Connected accounts

Lists the social accounts connected to this workspace, with their platform, handle and whether they are currently usable. Call this before writing or scheduling, so you only offer platforms that are actually connected.

Parametersplatform

list_subaccounts

Pages and organizations

Lists the pages, organizations or boards an account can publish to. Facebook posts go to a page and LinkedIn can post as a company, so this is where the id for those comes from.

ParametersaccountIdrequired

choose_facebook_page

Choose the Facebook page

Sets which Facebook page this project posts to, when its Facebook connection holds several. The other pages are removed from this project only. Ask the user which page belongs to this project; list_subaccounts gives the choices.

Parameterspagerequired

connect_account

Connect an account

Produces a link the user opens to connect a social account. Authorization happens on the platform, so give them the link and wait; the account appears in list_accounts once they have finished. Use this when an account they want is missing, or when one is marked as needing a reconnect.

Parametersplatformrequired

disconnect_account

Disconnect an account

Removes a connected account and cancels anything still scheduled to it. Say how many posts that is before asking the user to confirm.

ParametersaccountIdrequired

list_instagram_accounts

Instagram accounts

Lists the Instagram business accounts linked to the connected Facebook pages, the ones this project can post to. Facebook must be connected first. Follow with connect_instagram.

Takes no parameters.

connect_instagram

Connect Instagram

Connects an Instagram business account found by list_instagram_accounts. With only one available, instagramId can be left out. Replaces a different Instagram account already on this project, as every connection does.

ParametersinstagramId

get_tiktok_settings

TikTok posting options

Reads, from TikTok, what the connected TikTok account may post: the account name, the privacy levels it offers, whether comments, Duet and Stitch are allowed, and the longest video. Call it before publishing to TikTok, show the user the account name, and ask them to choose the privacy level (there is no default), whether to allow comments (and Duet and Stitch for video), and whether the post promotes their own brand or is branded content. Pass their answers in create_post as platformTargets.tiktok.

Takes no parameters.

get_youtube_settings

YouTube posting options

Reads, from YouTube, the connected channel a Short would go to: its name and handle, who can be chosen to watch (public, unlisted, private) and the longest Short (3 minutes). Call it before publishing to YouTube, show the user the channel, and ask them for a title (at most 100 characters), who can watch it, and whether it is made for kids. Pass their answers in create_post as platformTargets.youtube: title, privacyStatus, isMadeForKids. The video must be vertical or square.

Takes no parameters.

get_brand_kit

Brand kit

The workspace's voice, audience, rules and example posts, which everything written for it follows. Your instructions already carry the voice and the rules (in the app and over MCP alike), so call this for the full kit: when the user asks what is set, when you are about to change something, or when you need the example posts.

Takes no parameters.

update_brand_kit

Update the brand kit

Records what the workspace sounds like. Pass only the fields you are changing; anything you leave out is kept. Example posts matter most: ask for two or three things they actually published, since those define the voice better than adjectives do. Use this whenever the user tells you something about their voice, audience or rules, rather than remembering it for one conversation.

ParametersctasnamevoicetoneDowebsiteaudiencekeywordsoneLinertoneDontbannedWordsdescriptionhashtagSets+6 more

learn_voice_from_published

Learn the voice from published posts

Fills the brand kit's example posts from what this workspace has already published. Use it when the brand kit has no examples and there is a publishing history, instead of asking the user to paste posts they have already sent.

Parameterslimitplatform

analyze_website

Read the website

Reads the project's website and fills in what it does, who it is for, its keywords and its voice. Use it when the brand kit is empty and you know the address, instead of interviewing the user about things their own site already says. It fills only empty fields unless you say otherwise.

Parametersurloverwrite

list_image_models

Image models

The image models available, what each costs in credits, and which one this workspace uses by default. Call it when the user asks what you can make images with, or before generating if they might care about the price.

Takes no parameters.

estimate_image_cost

What an image would cost

Says what generating would cost in credits, without generating. Use it when the user asks what something would cost. You do not need it before generating: the confirmation prompt already states the price.

Parameterscountmodelresolution

generate_image

Generate an image

Makes a picture from a description and stores it, ready to attach to a post. Call it as soon as you know what the picture should be: the user is asked to confirm the spend before it runs, with the price, so you do not need to ask them first. Describe the subject and the setting in the prompt; the model cannot see the brand kit, so put anything from it that matters into the words. If the project has set an image prompt, it is wrapped around what you write and sets the look, so you do not need to repeat the house style.

ParameterscountmodelpromptrequiredimageUrlresolutionaspectRatioforPlatformignoreProjectStyle

set_default_image_model

Choose the image model

Sets which model this workspace generates with unless told otherwise. Use it when the user says they want a particular one from now on.

Parametersmodelrequired

list_video_models

Video models

The video models available, what each costs per second at each resolution, and how long a clip can be. Call it when the user asks whether you can make video.

Takes no parameters.

estimate_video_cost

What a video would cost

Says what a video of a given length and resolution would cost in credits, without making one. Use it whenever the user has not agreed to a price, since video is the most expensive thing here.

Parametersmodelsecondsresolution

generate_video

Generate a video

Makes a short video with its own audio and stores it, ready to attach to a post. It takes a few minutes: over MCP or the API it may answer with status "processing" and a jobId instead of a mediaId; then call get_video_status with that jobId until it gives the mediaId, and only then save the draft. Say what it will cost first; video is the most expensive thing here and is charged by the second. Pass imageId to animate a picture the project already has - a product photo or one you generated - and it becomes the first frame. Structure the prompt with [VISUAL], [SPEECH], [SOUNDS] and [TEXT] sections; English is the language the model is validated in.

ParametersmodelpromptrequiredimageIdsecondsaudioUrlimageUrlresolutionaspectRationegativePromptignoreProjectStyle

get_video_status

Is the video ready

Whether a video generate_video started is ready. Pass the jobId it returned. When it is done this gives the mediaId to attach to a post with save_draft, edit_post or create_post. If it is still being made, wait about a minute and ask again; never generate it a second time and never make up a media id.

ParametersjobIdrequired

search_knowledge

Search the knowledge base

Searches what this workspace has stored: notes, pages, documents, product details. Use it before writing anything factual about them, rather than guessing or asking. It searches by meaning, so ask in whatever words the user used. Returns nothing when the workspace has stored nothing, which is worth saying rather than working around.

Parameterslimitqueryrequired

add_knowledge

Store something in the knowledge base

Stores text the workspace will want again: product details, positioning, a policy, notes from a call. Use it when the user tells you something factual worth keeping, rather than only using it in this conversation. Give it a title so it can be recognised later.

ParameterstitlecontentrequiredsourceUrl

add_knowledge_from_url

Read a page into the knowledge base

Fetches a web page or a PDF at a URL and stores its text so it can be searched later. Use it for the workspace's own site, a product page, a press release. It reads the page as it is served, so a page that needs a sign-in will not work.

Parametersurlrequiredtitle

add_knowledge_from_file

Read a file into the knowledge base

Reads an already uploaded PDF, image or text file and stores what it says so it can be searched. Give it a media id from an upload.

ParameterstitlemediaIdrequired

list_knowledge

Knowledge base

Lists what this workspace has stored, with whether each item is searchable yet. Use it when the user asks what you know about them, or when a search came back empty and you want to say why.

Takes no parameters.

delete_knowledge

Delete from the knowledge base

Removes a stored item and everything derived from it. Name what you are about to delete first.

ParametersitemIdrequired

create_presigned_upload_url

Prepare upload

Returns a presigned URL for uploading a local file directly to storage. PUT the file bytes to uploadUrl with the same Content-Type, call complete_upload with the mediaId, then use mediaId or publicUrl when creating a post.

ParametersfilenamerequiredcontentTyperequired

complete_upload

Finish upload

Call after PUTting a file to the presigned uploadUrl: checks the file arrived and records its size and type. Says so if the file is not there yet.

ParametersmediaIdrequired

upload_media_from_url

Import media

Downloads a publicly reachable file into storage and returns a stable URL to use in posts. Use this for images or video that already live on the web.

ParametersurlrequiredaltText

get_media

Media details

Returns the stored details of one media asset, including whether its bytes have arrived.

ParametersmediaIdrequired

create_post

Publish or schedule a post

Publishes a post, or schedules one to be published. This is not how a draft is saved: use save_draft for that, which needs no confirmation. Publishes immediately by default; pass scheduledTime for a specific moment, or useNextFreeSlot to take the next opening in the calendar. Use variants to word the same post differently per platform. To publish something you saved with save_draft, pass its postId and the draft becomes the post rather than a second copy of it. altText is not supported for Instagram Reels; ignored for Instagram video posts.

ParameterstexttitlepostIdthreadmediaIdsvariantsdestinationsscheduledTimeplatformTargetsuseNextFreeSlot

save_draft

Save a draft

Saves a post you have written so it appears under Drafts and can be published or scheduled later. Use it whenever you write a post the user has not asked you to publish yet, instead of leaving it in the conversation: a draft in the chat is lost, a saved one is not. Always name the platforms it is for, and attach any picture you made for it. To change something that already exists, use edit_post rather than saving a second copy. Nothing is published by this.

ParameterstextrequiredtitlepostIdthreadmediaIdsvariantsplatformsrequired

edit_post

Edit a post

Changes a post that already exists: its words, its pictures, the platforms it is for, or any combination. Pass only what changes; everything else stays. This is how you rewrite a draft or swap its image - do not write a second copy. Read it with get_post first when you are changing the words, since you cannot rewrite what you have not read. Works on drafts and on posts that are scheduled but have not gone out; a published post cannot be edited here.

ParameterstexttitlepostIdrequiredmediaIdsvariantsplatforms

delete_post

Delete a post

Deletes a draft, or cancels one that has not gone out yet. A post that is already published cannot be deleted here: it exists on the platform, and removing our record would not remove it.

ParameterspostIdrequired

get_post

Read a post

The full text of one post, with its pictures, its per-platform wording and its state. Call it before changing or rewriting a post: list_posts only shows the first line of each, and working from that means working from a fragment.

ParameterspostIdrequired

get_post_status

Post status

Returns where a post stands on each platform, including the public link once it is live. Instagram and TikTok process uploads in the background, so a post can be accepted and not yet visible.

ParameterspostIdrequired

list_posts

Posts

Lists posts in this workspace, newest first, with the first line of each. Use it before writing to check what has already been said. The text here is shortened: to work on a post, read it with get_post first.

Parameterslimitoffsetstatus

list_top_posts

Top posts

Ranks published posts by how they did: views, likes, comments, shares, reach, saves, or engagement (likes + comments + shares + saves). Each network a post went to is ranked on its own. Numbers are the ones already collected (an hour, a day and a week after publishing, then daily for a month); nothing is fetched from the networks. Use it for "which post worked", "what did best on LinkedIn this month", or before planning what to write next.

ParameterslimitsinceuntilsortByplatform

get_post_analytics

How a post did

The numbers for one published post on every network it went to: the latest reading and every earlier one, so you can say whether it is still growing. Pass refresh: true to read the networks again now (at most every ten minutes); leave it off to use what was already collected.

ParameterspostIdrequiredrefresh

list_slots

Publishing calendar

Lists the recurring weekly openings this workspace publishes in, and which of the coming ones are already taken. Read this before scheduling, so posts land in the rhythm the user already chose.

Parametersdays

create_slots

Add publishing slots

Adds recurring weekly openings to the calendar. Times are in the workspace timezone. Adding more slots than there is content for produces gaps, so ask how often the user actually wants to post.

Parametersslotsrequired

delete_slot

Remove a publishing slot

Removes one recurring opening. Posts already scheduled into it keep their time.

ParametersslotIdrequired

next_available_slot

Next opening

Returns the next free opening in the calendar, without taking it. Use it to tell the user when a post would go out before scheduling it.

ParametersaccountId

list_schedules

Scheduled posts

Lists posts waiting to go out, soonest first.

Parameterslimit

update_schedule

Move a scheduled post

Changes when a post goes out, or takes it off the calendar and leaves it as a draft. Pass scheduledTime for a specific moment or useNextFreeSlot to take the next opening. A post that has already gone out cannot be moved.

ParametersunschedulesubmissionIdrequiredscheduledTimeuseNextFreeSlot

delete_schedule

Cancel a scheduled post

Cancels a post that has not gone out yet. A post that is already published cannot be cancelled: the platform has it and we do not.

ParameterssubmissionIdrequired

list_scrapers

What can be scraped

The networks this server can read posts from, and what each costs per result. Call it when the user asks whether you can look at a competitor.

Takes no parameters.

estimate_scrape_cost

What reading a feed would cost

Says what reading someone’s posts would cost in credits, without reading anything.

Parameterslimitplatformrequired

scrape_posts

Read a feed

Reads recent posts from a public profile on Instagram, Facebook, LinkedIn, TikTok or X, and keeps them so patterns across weeks can be seen. Use it to look at a competitor before writing, or as the first step of a workflow. It costs credits per post read, so say what it will cost first.

Parameterslimittargetrequiredplatformrequired

estimate_source_cost

What reading this source would cost

Says what youtube, tiktok, audio or research would cost in credits, without reading anything. Article, PDF and plain text pages are free: use add_knowledge_from_url or add_knowledge for those instead.

ParameterssourceTyperequired

read_source

Read a source

Turns a YouTube video, a TikTok, an audio file, or a research question into text to write from. sourceType youtube or tiktok take a video url and read its spoken transcript (English captions for YouTube; TikTok's own captions when it has them, speech-to-text otherwise). sourceType audio takes a url to a recording and transcribes it. sourceType research takes a question and answers it from a live web search. Each costs credits; quote it first with estimate_source_cost. The text is stored in the knowledge base unless saveToKnowledge is false, and is also returned here so it can be used straight away.

ParameterstitlevaluerequiredsourceTyperequiredsaveToKnowledge

list_workflows

Workflows

The workflows in this project, what they do, when they next run, and how the last run went. Call it when the user asks what is running on its own.

Takes no parameters.

get_workflow

Read a workflow

One workflow in full: every step with its settings, its schedule, and how the last runs went. Read it before changing anything, since update_workflow replaces the steps you pass and you cannot keep what you have not seen.

Parametersidrequired

create_workflow

Create a workflow

Sets up work that repeats on its own: read a source, write a post, make a picture, publish it. Steps run in the order given. It is created paused and does nothing until start_workflow turns it on, so making one is safe. Use it when the user asks for something to happen daily, weekly or at a set time.

ParametersnamerequiredrunAtstepsrequiredcontexttriggertimeOfDaydaysOfWeek

update_workflow

Change a workflow

Changes a workflow that already exists: its steps, its name, or when it runs. Pass only what changes. Call get_workflow first when you are changing the steps, since the list you pass replaces the ones that are there. Its run history is kept.

ParametersidrequirednamerunAtstepscontexttimeOfDaydaysOfWeek

start_workflow

Start a workflow

Turns a workflow on. From then on it runs to its schedule and publishes without asking again, so make sure the user has seen what it does. Use stop_workflow to pause it.

Parametersidrequired

stop_workflow

Pause a workflow

Pauses a workflow so it stops running on its own. Nothing is deleted and it can be started again.

Parametersidrequired

delete_workflow

Delete a workflow

Removes a workflow and its run history. Posts it already published are untouched.

Parametersidrequired

run_workflow

Run a workflow now

Runs a workflow immediately, whatever its schedule says, and reports what each step did. Use it to show the user what their workflow actually produces before leaving it to run on its own.

Parametersidrequired

list_campaigns

Campaigns

The campaigns in this project, what each is for, and how far through it is.

Takes no parameters.

get_campaign

Read a campaign

One campaign in full: every planned post with its date, kind (educational, promotional, engagement, proof, behind_the_scenes, news), theme and angle, and which of them have been written. Read it before changing anything about the campaign.

Parametersidrequired

plan_campaign

Plan a campaign

Plans a run of posts around one goal: what each post is for, its theme and its angle, spread over the days the project posts on. It writes nothing and publishes nothing - the plan is one line per post, to be read and changed before anything is written. Use this when the user wants a month of content, a launch, or anything with more than a couple of posts behind one idea.

ParametersgoalrequirednamerequirednotesofferpostsrequiredthemessourcesaudienceleadDaysstartsOnuseSlotsplatforms+3 more

update_campaign

Change a campaign

Changes how a campaign runs: whether its posts get a generated picture, whether it uses the calendar slots, how many days ahead it writes, or its name. Pass only what changes. Pictures apply to the posts not yet written and cost a credit each at the cheapest model - say the number before turning them on.

ParametersidrequirednameleadDaysuseSlotswithImages

edit_campaign_plan

Change a campaign plan

Adds posts to a campaign plan, removes planned ones, or rewrites their theme and angle. This is how you add "one more post about X" without planning the campaign again. Posts already written keep their words - use edit_post for those - and removing one that is already written is refused.

Parametersidrequiredaddremoveupdate

start_campaign

Start a campaign

Turns a campaign on. Its posts are written a couple of days before each one goes out and land in the calendar as scheduled, where they can still be read, edited or cancelled. Posts with pictures spend credits as they are written. Tell the user how many posts and roughly how many credits before calling this.

Parametersidrequired

pause_campaign

Pause a campaign

Stops a campaign writing any more posts. Posts already written keep their place in the calendar; cancel them individually if they should not go out.

Parametersidrequired

cancel_campaign_posts

Cancel a campaign and its scheduled posts

Pauses a campaign and cancels every post of it that has not gone out yet. Posts already published are untouched: they exist on the platform.

Parametersidrequired

write_campaign_posts

Write the next campaign posts now

Writes the next few posts of a campaign immediately instead of waiting for their lead time, and schedules them at their planned dates. Use it to show the user what the plan actually produces.

Parametersidrequiredcount

delete_campaign

Delete a campaign

Removes a campaign and its plan. Posts it already produced are kept - they are posts like any other, and some may be published.

Parametersidrequired

check_projects

Check the projects are separate

Counts what each of your projects holds and checks that nothing crosses between them: posts, accounts, pages, campaigns, workflows, knowledge and media. Run it after adding a project, or whenever something looks like it belongs somewhere else.

Takes no parameters.

Version history

1
  1. v1.0.0LatestOct 21, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.