# Claude Social Media Automation: Claude Code and Desktop

> Claude social media automation over MCP. One endpoint for Claude Code and Claude Desktop, a scoped token, and a monthly credit cap.

Canonical page: https://www.socialfaktory.com/blog/claude-social-media-automation
Published: 2026-09-15
Language: en

Claude social media automation works the moment Claude has somewhere to send the work. Add SocialFaktory as an MCP server and the same conversation that drafts your week can also price it, render it and put it on the calendar. Two Claude apps, one endpoint, one token.

The two apps connect in different ways, and the difference is worth understanding before you pick.

1. Mint a token in your settings and copy the secret.
2. Decide the scopes. Read alone is a safe first session.
3. Register the server in Claude Code, or add the local bridge to Claude Desktop's config file.
4. Ask Claude to list your brands, which costs nothing.
5. Brief a video and read the quote before approving it.
6. With the publish scope, let Claude compose the posts and schedule them.

## How do you add it to Claude Code?

One command, run once, with the user scope so every project sees it.

```bash
claude mcp add -s user --transport http socialfaktory https://www.socialfaktory.com/mcp --header "Authorization: Bearer sfp_..."
```

Claude Code connects from your machine. The endpoint could in principle be anything your laptop can reach.

## Why is Claude Desktop different?

Because its config file starts local programs rather than connecting to a remote URL. The entry below runs mcp-remote through npx, a small bridge that forwards each call to the endpoint with your token attached, so Node.js has to be installed. Save the file and restart Claude Desktop.

```json
{
  "mcpServers": {
    "socialfaktory": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.socialfaktory.com/mcp", "--header", "Authorization:${SOCIALFAKTORY_AUTH}"],
      "env": { "SOCIALFAKTORY_AUTH": "Bearer sfp_..." }
    }
  }
}
```

## What about claude.ai and Cowork?

Those connect from Anthropic's cloud, and a custom connector there signs in with OAuth, which we do not offer yet. The one other route is a beta feature on Anthropic's side: an organization administrator adds the connector once, with the token as a fixed request header. Everyone in that organization then shares the token, so give it narrow scopes and a low cap.

## What does a worked session look like?

Ask for something concrete. "Make me three X posts and one video for Thursday, in the brand voice, and show me the price first."

Claude would list the brand and its channels, price the video with the quote tool, and come back with a number in credits. If you approve, it can generate, read the render back when it lands, write the three posts around it, and, with the publish scope, compose one post per channel as drafts. You then look at the drafts and decide what to send.

Nothing about that sequence is special to Claude. It is what any agent does with the same twenty tools, listed in the [MCP reference](/docs/mcp).

## How does it keep the brand voice?

It does not have to. The voice lives in the brand, not in the prompt, so a two-line brief comes back in the same register as everything else you have shipped. That is the difference between an agent with an execution layer and an agent with a text box.

The practical effect is that your briefs get shorter over time. The first day you describe tone, audience and format. By the end of the week you are writing "Thursday, the serum, the objection about price" and getting something usable back, because everything else is already on file.

It also means two people can brief the same brand from two machines without the output drifting apart. There is one voice, one cast and one calendar, whatever client is talking to them.

## What does the rate limit allow?

A hundred and twenty calls a minute per token, and three hundred requests every five minutes per address. A conversational session will never come close.

A scheduled one might, if it polls a long render too eagerly. Ask for the generation id, then read it back on a sensible interval rather than in a tight loop, and you will stay well inside the ceiling.

## Should Claude have the publish scope?

Not on day one. Give it read and generate, and let it hand you the video and text to review, since even a draft post needs publish. Publishing is the one thing you cannot take back, and a brief that was slightly wrong is a lot cheaper to catch in the calendar than on a live account.

When you do grant publish, keep the token pinned to a single brand. A pinned token reaches only that brand's channels, generations and posts, so a confused session cannot post to another one. The credit wallet and uploads stay shared across the account.

## Which calls cost nothing?

Most of them. Listing brands, channels and formats, reading the wallet, and pricing a job with the quote tool are all free. Only two tools spend credits: create_generation, which makes a video, and generate_text, which writes posts.

That split means a session can explore your whole account and propose a week before a single credit moves. The quote is optional, though. create_generation runs without one, and generate_text reserves a few credits up front and settles what the write used, so the limits that always hold are the scopes, the idempotency keys and the monthly cap, which refuses a new paid call once the month's spend reaches it.

## What can Claude not do here?

It cannot clone a video from a link, generate still images or build carousels. Those are app features today. It cannot connect a channel, because that needs a browser sign-in. And it cannot spend past the monthly cap on the token.

The full boundary, and the reasoning behind it, sits on the [Claude agent page](/agents/claude) alongside the two setup recipes. The other clients have their own pages from the [agent hub](/agents).

## Is this better than working inside the app?

It depends where you already are. If you spend your day in a terminal, briefing from the terminal removes a context switch, and that is the whole benefit. If you do not, the [AI assistant](/features/ai-assistant) gives you the same pricing and the same approvals inside the product, with previews you can watch.

Both routes use the same credits, the same brand voice and the same calendar. Neither can post from a token that lacks the publish scope. [Start a brand](/register), mint a token, and try a read-only session first.

**In one sentence:** Claude social media automation is one MCP endpoint away, with one command in Claude Code or a small local bridge in Claude Desktop.

## Questions

### Does the same token work in Claude Code and Claude Desktop?

Yes. One token works on every surface, though a separate token per surface is easier to revoke.

### Why does Claude Desktop need a local bridge?

Its config file starts local programs, so mcp-remote runs on your machine and forwards each call to the endpoint with the token attached.

### Can Claude see my other brands?

Only if the token is not pinned. A pinned token sees one brand, though the credit wallet and uploads stay shared across the account.

### Does asking for a price cost anything?

No. Quoting a generation is free, and only generating a video or writing a post spends credits.

### Can Claude clone a video from a link?

Not yet. Cloning from a link is available in the app but not through an agent.

### What happens if a render fails?

The generation reports the failure. A service failure is refunded in full, and a run refused for content policy or a bad reference link keeps what it already spent and refunds the rest.

## More detail

- All articles: https://www.socialfaktory.com/blog.md
- What SocialFaktory does: https://www.socialfaktory.com/features.md
- Pricing: https://www.socialfaktory.com/plans.md
