The VideoFunker MCP server
VideoFunker runs as an app inside Claude and ChatGPT. You add one connector, sign in with your VideoFunker account, and make a presenter video without leaving the conversation. This page documents the server itself: what it exposes, what it is allowed to do with your account, and what has to happen before it spends anything.
What it is
A remote MCP server, built on the open Model Context Protocol and the MCP Apps extension, speaking Streamable HTTP. It is a single endpoint:
https://app.videofunker.ai/api/chat-app/mcp
Any MCP host can connect to it. The two it is built and tested against are Claude (claude.ai, Claude Desktop) and ChatGPT, because those two also render the inline UI cards it ships. In a host that only speaks plain MCP, every tool still works; you get text results instead of cards.
You need a VideoFunker account to use it. The connector does not create one, and it gives the model no access to anything outside the account that signed in.
Adding it to Claude
- Open Settings → Connectors → Add custom connector.
- Paste https://app.videofunker.ai/api/chat-app/mcp and continue.
- You are sent to VideoFunker to sign in and approve the permissions. The approval screen names Claude and lists the scopes in plain English.
- Back in a chat, say what you want: “Make me a 30-second video explaining what our product does.” The script, the cost and a confirm button appear in one card.
Adding it to ChatGPT
- Open Settings → Connectors → Add (developer mode, while the app is unlisted).
- Paste https://app.videofunker.ai/api/chat-app/mcp.
- Approve the VideoFunker sign-in and enable the connector for the conversation.
Signing in, and what you are approving
Authorisation is OAuth 2.1 with dynamic client registration and PKCE. VideoFunker never sees a password typed into the chat, and the host never receives one: you sign in on videofunker.ai and the host gets a token. Tokens refresh with rotation and can be revoked at any time by removing the connector or from your VideoFunker account.
Five permissions exist, and the consent screen asks for them by name. A tool whose scope you did not grant is refused by the server, not merely hidden from the model.
| Permission | What it allows |
|---|---|
| account:read | Read your plan, your remaining credits and your account name. |
| campaigns:read | List and open the campaigns in your account. |
| campaigns:write | Create a campaign. Spends one campaign credit, and only after you confirm. |
| videos:read | List presenters and voices, estimate a video, draft a script, check render progress. |
| videos:write | Render a video. Spends render credits, and only after you confirm. |
Nothing is spent without a quote and a confirmation
Three of the eighteen tools can spend credits. Each of them refuses to act unless the call carries an explicit confirmation flag, and that flag is only ever set after a quote has been shown to you. Ask for a video and the sequence is fixed: a free, read-only quote comes back with the script, the length and the exact cost; you say yes; one spending call runs with the arguments the quote printed.
This is enforced in the server, not in the prompt. A model that tried to call generate_video on its own, without the confirmation, gets a refusal rather than a render. Plan limits, credit balances and the free-plan caps are checked at the same point, and every call is written to an audit log against your account.
Payment never happens inside the chat. If a quote exceeds the credits you hold, it hands you a link that opens VideoFunker in your own browser.
The tools
Fifteen read-only tools and three that spend. Read-only means exactly that: they return information about your own account, or they draft text, and they change nothing.
| Tool | Permission | What it does |
|---|---|---|
| start | account:read | Opens the home card: your plan, your presenters, voices and campaigns, and the three ways to make a video. |
| whoami | account:read | Shows the signed-in account, its plan and the credits left on it. |
| list_plans | account:read | Lists the plans available, for the upgrade link. |
| plan_campaign | campaigns:read | Drafts an ideal-customer profile, angles and scripts to look at. Nothing is created and nothing is spent. |
| create_campaignSpends credits | campaigns:write | Creates the planned campaign. Spends one campaign credit, only with an explicit confirmation after a quote. |
| list_campaigns | campaigns:read | Lists your campaigns. |
| get_campaign | campaigns:read | Opens one campaign: its status, sections and videos. |
| list_avatars | videos:read | Lists the presenters you have created in your own account. |
| list_voices | videos:read | Lists the voices you have created in your own account. |
| list_stock_presenters | videos:read | Lists the stock presenters, so a quick video needs no setup first. |
| list_stock_voices | videos:read | Lists the stock voices, with a preview you can play. |
| write_studio_script | videos:read | Drafts a script to a target length. Free, and nothing is rendered. |
| estimate_video | videos:read | Estimates the length and credit cost of a script before anything is made. |
| quote_video | videos:read | Drafts the script, picks a presenter and voice if you did not, and returns the exact cost. This is the quote you confirm against. |
| create_quick_videoSpends credits | videos:write | Renders a one-off video with no campaign. Spends Studio credits, only with an explicit confirmation after a quote. |
| generate_videoSpends credits | videos:write | Renders a video for one of your campaigns. Spends render credits, only with an explicit confirmation after a quote. |
| get_video_status | videos:read | Checks how a render is progressing and returns the link when it is done. |
| wait_for_video | videos:read | Waits server-side for a render to finish, so the chat does not have to poll you for it. |
The cards you see in the chat
Six interactive cards are served as MCP UI resources and rendered inline by hosts that support them. They are self-contained documents with a declared content-security policy; they talk to the host, and to nothing else.
- Home. The three ways to make a video, each a button.
- Campaign planner. The drafted profile, angles and brief as cards, with the quote and the confirm button.
- Campaigns. Your campaign gallery, and one campaign in detail.
- Video studio. Presenter and voice pickers with real thumbnails and voice previews, a live estimate, and the quote.
- Video player. Render progress, then the finished video playing in the chat, with a download link where your plan allows one.
- Account. Your plan, your remaining credits, and an upgrade link that opens in your browser rather than in the chat.
What leaves the conversation
The server receives what you ask for: the prompt or script for the video, the length, and the presenter and voice ids you chose. To render, the approved script text and the voice settings go to the presenter-video provider. Scripts drafted by the server are drafted by a third-party language model from the brief you gave it.
The connector reads only the account that signed in. It does not read your other conversations, and the host never receives your VideoFunker password. The privacy policy lists every processor, what each one receives and how long anything is kept; the terms cover what you may do with the videos.
Limits worth knowing before you connect
- Free plans are capped. Videos are limited to 30 seconds and carry a watermark, and downloading is disabled. The quote says so before you confirm.
- A campaign video needs your own presenter and voice. Stock presenters and stock voices are for one-off videos. If a campaign render needs something you have not created yet, the server returns a direct setup link rather than failing.
- Rendering takes minutes, not seconds. The server waits for the render on its own side and returns the finished video, so the chat does not sit asking you to check again.
- Your own presenters show as placeholders. Stock presenters and voices carry real thumbnails and audio previews; presenters you created yourself currently return a name and a readiness state only.
Support
Problems with the connector, a render that failed, or a credit question: team@videofunker.ai. Include the video id if there is one; every result in the chat prints it.
Reviewers assessing this server for a directory listing can request a test account at the same address. A free account is enough to exercise the whole flow, including the quote and confirmation path, without spending.
You need an account before the connector does anything
Creating one is free, and the free plan is enough to render your first video from the chat and see the whole quote-and-confirm flow for yourself.