The social media MCP server
Add Genviral to Claude, ChatGPT, Cursor, or any MCP client and ask for the week you want. It generates the images, videos, and slideshows, writes the captions, and puts them in the queue across 10 platforms.
- Remote server — nothing to install, no local process to keep alive
- OAuth with 4 scoped permissions, not an API key in a config file
- 16 tools that generate the content as well as schedule it
Server endpoint https://mcp.genviral.io/mcp · discovery document
$ claude mcp add --transport http genviral https://mcp.genviral.io/mcpAdds Genviral to the current project. Run /mcp afterwards to complete the OAuth sign-in.
In practice
Things people actually type
Each one resolves to real tool calls against your account — reading what is already scheduled, generating what is missing, and queueing the result.
- What did I post last week, and which one did best?
- Generate three TikTok slideshows about morning routines and schedule them for this week.
- Move everything scheduled for Friday to Monday morning.
- Which of my connected accounts hasn't posted in the last 10 days?
- Make a 9:16 video from this image and queue it as an Instagram Reel.
- Draft a LinkedIn post from this changelog, but don't publish it.
Two layers
Your assistant decides. Genviral executes.
The assistant is good at knowing what to make and when it should go out. Genviral is good at being the one connection that can actually make it and publish it.
Your assistant owns
It already knows what you meant
You describe the week you want. The assistant picks the format, writes the captions, and decides what goes where — no command syntax, no dashboard.
It runs where you already work
Claude, ChatGPT, Cursor, VS Code, and every other MCP client read the same server. Connect once per client, not once per feature.
It carries your context
Whatever else is in the conversation — a launch doc, a repo, a spreadsheet of hooks — becomes source material for the posts it drafts.
It closes the loop
Analytics come back through the same connection, so the next batch is written against what actually performed instead of what you hoped would.
Genviral owns
Connected social accounts
10 platforms behind one OAuth connection — no Meta or TikTok partner approval wait, and no per-platform tokens in your assistant's config.
AI media generation
Slideshows, images, and video rendered in Genviral's Studio. The assistant asks for an asset and gets a finished one back — most MCP servers can only schedule what you already made.
Duplicate-safe publishing
Every write through the MCP server requires an idempotency key, and publishing requires an explicit decision. A retrying agent cannot post the same thing twice.
Workspaces and teams
Each connection is bound to the personal space or one workspace you pick during consent, so an agency assistant cannot reach a client it was not pointed at.
Connect
One URL, in under a minute
There is no package to install and no server to run. Pick your client, paste the endpoint, and approve the permissions you want it to have.
$ claude mcp add --transport http genviral https://mcp.genviral.io/mcpAdds Genviral to the current project. Run /mcp afterwards to complete the OAuth sign-in.
- 01Step 1 of 4
Connect your social accounts once
Link TikTok, Instagram, YouTube, Pinterest, LinkedIn, Facebook, X, Bluesky, Mastodon, and Telegram in the Genviral dashboard. Your assistant never touches platform OAuth — it reads the account IDs and posts through them.
Connect accounts - 02Step 2 of 4
Add the server to your client
One remote URL, nothing to install and no process to keep running. Claude Code takes it as a command; Cursor and VS Code take it as four lines of JSON; Claude and ChatGPT take it in their connector settings.
Claude Code
- 03Step 3 of 4
Approve the permissions you actually want
Signing in opens a Genviral consent screen. Pick the workspace the connection is bound to and grant only the scopes you want it to have — reading and drafting are separate from publishing, and generation is separate again. Revoke any connection later without touching the others.
Create a free account - 04Step 4 of 4
Ask for one post and watch it land
Start with a draft rather than a publish, review the caption and media in the dashboard, then let the assistant schedule the rest. Media it generates comes back as a gallery in clients that render MCP resources.
In your assistant
Tools
16 tools, 4 permissions
This list is generated from the same contract the server authorizes against, so it cannot advertise a tool the server does not register. Everything here executes real work — there are no stubs that hand you a link and ask you to finish the job.
Read your account
context:readAccounts, posts, analytics, and library contents. Nothing on this list changes anything.
get_contextRead onlyConnected accounts, workspaces, plan and credit balance, and the Studio models available to you.
list_postsRead onlyScheduled, drafted, and published posts, with per-account delivery status on each one.
get_analyticsRead onlyPost and account performance, plus every account you track for analytics.
research_trendsRead onlyTrend briefs for a niche, and a preview of any public TikTok slideshow before importing it.
browse_libraryRead onlyFiles, folders, image packs, templates, and slideshows in your content library.
get_jobRead onlyStatus of a running render, generation, or analytics refresh.
Create and edit content
content:writeDrafts, uploads, folders, packs, templates, and slideshows. Still cannot publish.
upload_mediaWritesPush an image or video into your media library.
manage_libraryWritesCan remove dataCreate, move, and delete folders, and move items between them.
manage_assetsWritesCan remove dataCreate and edit image packs and reusable slideshow templates.
manage_slideshowWritesCan remove dataDuplicate, edit, render, or delete a slideshow, or regenerate a single slide.
manage_analytics_targetsWritesCan remove dataAdd, edit, remove, and refresh the accounts you track for analytics.
create_postWritesPrepare a post: media, caption, per-platform settings, target accounts, and schedule.
update_postWritesCan remove dataReschedule, edit, retry, or delete posts you already created.
Schedule and publish
posts:publishThe only scope that can put something in front of an audience. Grant it separately.
publish_postWritesCan remove dataCommit a prepared post — publish it now or hand it to the scheduler.
Generate media
media:generateImage, video, and slideshow generation. This is the scope that spends credits.
generate_slideshowWritesGenerate a multi-slide carousel from a brief, or import one from TikTok, then render it.
generate_studio_mediaWritesGenerate images and videos in AI Studio from a prompt or a reference image.
Safety
What it can do is your decision, not the model's
Handing an assistant your social accounts is only reasonable if the limits are enforced somewhere it cannot reach. All four of these live in the backend.
OAuth, not a pasted API key
You sign in to Genviral to connect. No long-lived key sitting in a config file, in a shell profile, or in a URL your assistant logs. Revoke a connection and it stops working immediately.
Permissions you choose per connection
4 separate scopes, approved on a Genviral consent screen. An assistant can be allowed to draft and never allowed to publish, or to read analytics and nothing else.
Scoped to one workspace
You pick the personal space or a specific workspace while approving. The connection cannot see, post to, or spend credits from anything outside it.
Publishing is always deliberate
Publishing takes an explicit publish-or-schedule decision, and every write carries an idempotency key. An agent that retries a failed call does not double-post.
Use cases
Six workflows worth connecting it for
Each one is a single request in the assistant you already have open. The loop is the same every time: it reads the account, generates what's missing, and queues the result.
TikTok
A week of slideshows from one sentence
Instagram
Reels captioned from an approved folder
LinkedIn
Posts written from work you already did
YouTube
Shorts published on a review gate
Pinterest
Infographic pins generated on a cadence
Facebook
Cross-posting without a second workflow
Why an API layer
Not every social MCP server is shaped the same
The differences are not cosmetic — they decide how much you have to operate, how much you have to trust, and what happens when an agent retries.
Wire it yourself
Run a local MCP process per machine and keep it updated
Paste a long-lived API key into every client's config file
The MCP server can only schedule content you made elsewhere
A retrying agent quietly publishes the same post twice
Meta and TikTok partner approvals can take months
Genviral does this
Remote streamable HTTP server — one URL, nothing installed, always current
OAuth per connection, scoped at consent time and revocable on its own
Image, video, and slideshow generation are tools on the same connection
Idempotency keys are required on writes; publishing needs an explicit decision
Genviral fronts those approvals for all 10 platforms
Guides
What to read next
The developer surfaces behind the connection. Every MCP tool call ends up at one of these endpoints.
- Read guide
Genviral Partner API reference
Every MCP tool is a thin wrapper over these endpoints. Read this when you want the exact request and response shapes behind a tool call.
- Read guide
Genviral for AI agents
The short, machine-readable overview of both connection paths — MCP for assistants, REST for code — with the same capability list.
- Read guide
Genviral CLI
The alternative for coding agents: one binary, one scoped API key, and no MCP client involved. Useful for Codex, CI jobs, and cron.
FAQ
MCP questions
What teams ask before pointing an assistant at their social accounts.
What is MCP?
The Model Context Protocol is an open standard, introduced by Anthropic, for connecting AI assistants to outside tools and data. An MCP server publishes a set of tools; any MCP client — Claude, ChatGPT, Cursor, VS Code, and many others — can call them. It means Genviral only has to expose its capabilities once for every assistant to use them.
What is the Genviral MCP server URL?
https://mcp.genviral.io/mcp. It is a remote streamable-HTTP server, so there is nothing to install and no local process to keep alive. Clients that support discovery can also read https://www.genviral.io/.well-known/mcp/server-card.json to find the endpoint, the full tool list, and the available scopes automatically.
How do I authenticate?
With OAuth. When your client first connects, it sends you to a Genviral consent screen where you sign in, choose the workspace the connection is bound to, and approve the permissions you want it to have. There is no API key to generate, copy, or paste into a config file, and you can revoke any single connection later without affecting the others.
Which AI clients work with it?
Any MCP client that supports remote servers with OAuth. That covers Claude (desktop, web, mobile, and Claude Code), ChatGPT's custom connectors, Cursor, VS Code with Copilot, Windsurf, Cline, Zed, JetBrains IDEs, and anything built on an agent framework with MCP support.
What can the assistant actually do?
16 tools, covering the whole loop: read your accounts and analytics, browse and manage your content library, generate images, videos, and slideshows in Studio, prepare posts, and schedule or publish them to 10 platforms. Generation is the part most social MCP servers do not have — they can schedule content, but they cannot create it.
Can it publish without asking me?
Only if you grant it the publish permission, and only to the accounts in the workspace you connected. Reading, drafting, and generating are separate scopes, so a connection can be allowed to build a whole content queue while remaining unable to put any of it live. Publishing also requires an explicit publish-or-schedule decision on every call rather than defaulting to going out immediately.
Will a retrying agent double-post?
No. Every write through the MCP server requires an idempotency key, so a retried call resolves to the same post instead of creating a second one. That guarantee comes from the same backend the dashboard and Partner API use, not from anything the assistant has to remember to do.
Do I need a paid plan?
You can create a free Genviral account and connect it. Generating media spends credits, and connected-account limits follow your plan, so heavier automation needs a paid plan the same way it does in the dashboard.
Should I use MCP or the REST API?
Use MCP when a chat assistant is driving — it is the fastest path from a sentence to a scheduled post. Use the Partner REST API, or the Genviral CLI, when you are writing code, running scheduled jobs, or building a product on top of Genviral. Both hit the same backend services, so nothing is exclusive to one path.
Get started
Give your assistant a real social backend
Connect your accounts, add one URL to your MCP client, and approve exactly what it is allowed to do. Free to start.
