Ghostfeed has an MCP server now. You connect Claude once, and then you make content by asking for it.
I built this because of how I actually use the product. I know exactly what I want, I just do not want to click through four screens to get it. Clone this TikTok, put my avatar in it, make me three versions, tell me what it cost. That is a sentence, not a workflow.
So the MCP server is a remote control over the same dashboard you already use. It is not a second product with its own rules. Same workspaces, same credits, same avatars, same videos in the same gallery. If you make something in chat it shows up in the dashboard, and if you make something in the dashboard your agent can pick it up and keep going.
How to work with it
The agent gets you about 90% of the way. It is not meant to hand you a finished video.
Keep the dashboard open while it runs. The board refreshes itself, so frames, videos, and decks show up as they are made, whether you started them in chat or by hand.
Then finish it yourself in the dashboard. Move the text, swap the one background that is wrong, retime a clip, pick which variant is good. The agent handles the volume: importing clips, rendering the same avatar six times, kicking off eight renders, tracking what finished and what it cost.
1. Connect it
One server, one URL, OAuth in the browser:
https://api.ghostfeed.ai/api/v2/mcpThere are no API keys anywhere. Your client hits the server, gets a 401 that points at the auth metadata, registers itself, and opens a Google sign-in plus a Ghostfeed consent screen where you pick which workspaces it may act in. Tokens are stored by the client and refresh on their own.
Claude Code
Add the server:
claude mcp add --transport http ghostfeed https://api.ghostfeed.ai/api/v2/mcpRun /mcp in a session, pick ghostfeed, choose Authenticate.
Sign in with Google, choose the workspace grant, click Allow.
Claude Desktop
Open Settings → Connectors, click Add custom connector, and paste the server URL.
Click Add, then Connect, and finish the sign-in in your browser.
Connectors are account-level, so doing this once on desktop also gets you claude.ai on the web and on your phone.
Codex CLI
Add the server:
codex mcp add ghostfeed --url https://api.ghostfeed.ai/api/v2/mcpSign in:
codex mcp login ghostfeedChatGPT
Turn on developer mode: Settings → Apps → Advanced settings. Available on Business, Enterprise, and Edu plans. Pro supports read-only connectors.
Go to Settings → Apps → Create and paste the server URL.
Click Scan Tools, complete the sign-in, then Create.
Cursor, Grok, and Grok Build work too, along with anything else speaking MCP over Streamable HTTP. Those are in the quickstart.
Then add the skills
Skills tell your agent the order of operations, where the approval gate is, and which model defaults to use. Without them it guesses.
Install the whole set:
npx skills add ghostfeed-ai/skills --skill '*'Pick your agents at the prompt. Global installs land in ~/.agents/skills/, which Claude Code, Codex, Cursor, and Grok Build all read.
Three ship today: ghostfeed-avatars, ghostfeed-slideshows, and ghostfeed-ugc-reactions. The repo is public at github.com/ghostfeed-ai/skills. No Node? Grab the tarball instead:
curl -LsS https://api.github.com/repos/ghostfeed-ai/skills/tarball/main \\
-o ghostfeed-skills.tar.gz2. UGC reaction videos
Two phases, same as the dashboard. Import a source clip, render your avatar into its first frame, approve the frame, then animate it.
The checkpoint is enforced. Your agent renders the frame, shows it to you, and stops. It will not animate until you say the frame is right, because animating a bad frame wastes the per-second cost.
A prompt that works:
Claude imports the clip, generates the frame, and stops. You look at it. Then:
If the face is off, you say so and it redoes just that frame instead of starting over.
There are two families of video generation and they answer different questions.
Clone reproduces the motion from your source clip onto your avatar. This is the one for reaction content, where the whole point is that the movement already works. It takes no prompt and gets its length from the source. one_to_one_standard runs on Kling motion control at 1 credit per second, and one_to_one_clone_premium costs 2.
Prompt generates motion from a description instead of copying a reference clip. This is where storyboard-style work lives now. You still cast the opening frame, because every reaction starts from one: a template, a clip from the inspiration library, or one of your avatar's own photos. The description takes over from there and drives what happens in the shot. seedance_2_0_fast is the default at 1.5 credits per second, and seedance_2_0_mini is the cheap seat at 1. Grok, PixVerse, Kling 2.5 Turbo, and full Seedance 2.0 are all there too. PixVerse is the only one that does audio. Kling runs at 5 or 10 seconds only, Seedance takes 4 to 15, and Grok and PixVerse take 1 to 15. Ask for a length a model does not offer and the request is refused rather than quietly rounded.
Camera angle comes from the photo you start on, not from the prompt, so varying the shot means varying the source. Ask for different starting frames and the agent goes looking through the avatar's own library for them.
You do not have to memorize any of that. Ask what the modes are and the agent reads the list, with the per-second cost attached, before it spends anything.
Two limits I put in on purpose. Sources over 120 seconds get rejected outright. Sources between 30 and 120 seconds need cropping in the dashboard first, and the agent will hand you a direct link to the crop screen rather than silently charging you for a job that would fail. Full detail on both in the reactions reference.
3. Avatars
Describe the person you want and it generates drafts.
Drafts are not saved to your library. They cost credits to generate and sit in a drafts list until you approve one, so generating six options and keeping one leaves you with one.
Anything you leave out gets randomized, so you can go as loose as "make me someone who looks like a college sophomore" and let it fill in the rest. The avatars reference has the full trait list.
4. Slideshows
There is no "make me a slideshow" tool. The agent builds the deck slide by slide, so it can react to the images it actually finds rather than commit to a plan first.
It sources from Pinterest search, an existing TikTok photo post, your collections, your avatar photos, or a local file you hand it. Then it sets each background, writes each text box, reorders, and captions.
You do not need a link to copy. Describe the deck and it goes and finds the imagery itself:
It searches, shows you what it found, and casts slide by slide. If a background is wrong you say so and it swaps that one slide, because nothing was composed up front.
To pull in your own assets rather than Pinterest, name them. Type @ in the dashboard prompt box and you get the same picker the agent reads from, so a mention resolves to a real id instead of a guess:
Mentions are how the agent stops guessing. Without one it searches by name and can pick the wrong Summer collection; with one it gets the id, and the tool call is unambiguous.
Then variants:
Costs: an empty deck is free, the deck charges 1 credit on its first real edit, every edit after that is free, and each variant is 1 credit. Pinterest searches, reading a social post, and uploads cost nothing.
Studio reference has all thirteen tools.
5. Asking about your own workspace
The agent can read your workspaces, credit balance, ledger, saved avatars, collections, products, templates, and every frame and video on the board, including ones you made by hand in the dashboard.
That second one matters for reuse. Pass any frame's id back to the video tool and it animates without charging you for a new frame. A frame that already has a finished video can be animated again; it starts a fresh render rather than overwriting the old one.
6. Picking models
You can name the model, or you can let it default.
Images, on avatars and on reaction frames, run Gemini 3.1 Flash by default at 1 credit. Flash Lite is half that, Gemini 3 Pro is double, and GPT Image 2 sits alongside at low, medium, and high. Ask for list_image_models and the agent reads the prices before choosing.
Video costs are per second and listed above. list_reaction_video_modes returns all of them with the cost, whether they need a prompt, and whether they support audio.
Slideshows have no model parameter at all, because there is no AI background generation over MCP yet. The agent composes from real images: Pinterest, your collections, your avatar photos, your uploads. If a deck you made in the dashboard has an AI background, the agent can read it, it just cannot make a new one.
7. What it will not do
It cannot delete anything: not an avatar, not a video, not a deck, not a template. Deletion stays in the dashboard.
It cannot animate a frame you have not approved.
It cannot spend silently. Every paid call reports what it cost and what is left, and every charge shows up in your billing history tagged with which agent made it.
It cannot post. Scheduling and publishing are dashboard features.
8. Versioning
Every tool, its arguments, and its response shapes are pinned to one version covering MCP, REST, and the docs. That is 4.6.1 today.
CI checks the surface against the last release on every push. Reworded description is a patch, a new tool is a minor, a removal or rename is a major and needs a changelog entry or the build fails. Old contracts are archived so you can diff two versions. What changed has the history.
There is a REST twin of every tool at https://api.ghostfeed.ai/api/v2 with the same auth and the same shapes, for scripting instead of chatting.
FAQ
Do I need a paid plan?
No. It works on free, you just have fewer credits to spend. Same balance as the dashboard, and on a team plan it is the shared pool.
Does it work with anything other than Claude?
Yes. Codex CLI and ChatGPT developer mode are covered above, and Cursor, Grok, and Grok Build are in the docs. Anything speaking MCP over Streamable HTTP with OAuth will connect. There is nothing Claude-specific in the server.
Is this an API I can build a product on?
There is a REST twin at /api/v2 with the same auth and response shapes, and the contract is versioned and archived. Get in touch if you want to build on it.
What happens if I ask for something it cannot do?
It says so, and where the dashboard can do it, it returns a direct link to the right screen. An uncropped template is the clearest case: instead of charging you for a job that will fail, it hands you the crop URL.
Can it see work I did in the dashboard?
Yes. Templates, avatars, collections, frames, and videos are read from the workspace, not from what the agent created.