# The social media MCP server

Genviral's MCP server is a remote endpoint at https://mcp.genviral.io/mcp. Add it as a connector in Claude, ChatGPT, Cursor, or any MCP client, approve the scopes you want, and your assistant can generate images, videos, and slideshows, then schedule and publish them across 10 connected platforms. No install, no API key in a config file.

## Connect it

One remote URL, authorized over OAuth. Discovery clients can read https://www.genviral.io/.well-known/mcp/server-card.json instead of being configured by hand.

- Claude Code: claude mcp add --transport http genviral https://mcp.genviral.io/mcp
- Claude apps: Open Settings, then Connectors. Choose Add custom connector. Paste https://mcp.genviral.io/mcp as the remote MCP server URL. Connect, then approve the permissions you want Claude to have.
- ChatGPT: Open Settings, then Connectors. Choose Create, and select an MCP server. Paste https://mcp.genviral.io/mcp and pick OAuth authentication. Approve the permissions on the Genviral consent screen.
- Cursor & VS Code: add an mcpServers entry named "genviral" with type "http" and url https://mcp.genviral.io/mcp
- Any MCP client: add an mcpServers entry named "genviral" with type "http" and url https://mcp.genviral.io/mcp

## What your assistant owns

The assistant decides what to make and when it goes out. Genviral is the surface it acts through.

- 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.

## What Genviral executes

Genviral is the execution layer behind the connection — accounts, generation, scheduling, and publishing.

- 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.

## Tools and permissions

16 tools, grouped by the 4 OAuth scopes that authorize them. A connection can only call the tools its granted scopes cover.

- context:read — get_context: Connected accounts, workspaces, plan and credit balance, and the Studio models available to you.
- context:read — list_posts: Scheduled, drafted, and published posts, with per-account delivery status on each one.
- context:read — get_analytics: Post and account performance, plus every account you track for analytics.
- context:read — research_trends: Trend briefs for a niche, and a preview of any public TikTok slideshow before importing it.
- context:read — browse_library: Files, folders, image packs, templates, and slideshows in your content library.
- context:read — get_job: Status of a running render, generation, or analytics refresh.
- content:write — upload_media: Push an image or video into your media library.
- content:write — manage_library: Create, move, and delete folders, and move items between them.
- content:write — manage_assets: Create and edit image packs and reusable slideshow templates.
- content:write — manage_slideshow: Duplicate, edit, render, or delete a slideshow, or regenerate a single slide.
- content:write — manage_analytics_targets: Add, edit, remove, and refresh the accounts you track for analytics.
- content:write — create_post: Prepare a post: media, caption, per-platform settings, target accounts, and schedule.
- content:write — update_post: Reschedule, edit, retry, or delete posts you already created.
- posts:publish — publish_post: Commit a prepared post — publish it now or hand it to the scheduler.
- media:generate — generate_slideshow: Generate a multi-slide carousel from a brief, or import one from TikTok, then render it.
- media:generate — generate_studio_media: Generate images and videos in AI Studio from a prompt or a reference image.

## Setup in four steps

Connect accounts once, add the server to your client, approve scopes, then start with a draft.

- 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.
- 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.
- 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.
- 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.

## What people ask it to do

Plain-language requests that map onto real tool calls.

- 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.

## Safety model

Every guarantee below is enforced by the backend, not by the assistant's good behavior.

- 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.

## Why a remote OAuth server

The shape of an MCP integration decides how much of it you have to operate and trust.

- Run a local MCP process per machine and keep it updated -> Remote streamable HTTP server — one URL, nothing installed, always current
- Paste a long-lived API key into every client's config file -> OAuth per connection, scoped at consent time and revocable on its own
- The MCP server can only schedule content you made elsewhere -> Image, video, and slideshow generation are tools on the same connection
- A retrying agent quietly publishes the same post twice -> Idempotency keys are required on writes; publishing needs an explicit decision
- Meta and TikTok partner approvals can take months -> Genviral fronts those approvals for all 10 platforms

## 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.

---

Canonical HTML: https://www.genviral.io/mcp
