videogen-mcpBLOCK
MCP server for the VideoGen API (https://videogen.io)
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://allmcps.com/mcp/videogen-mcp?verify=39b87ccf-9cad-4bc2-b534-ee7e1218bc82)
A Model Context Protocol (MCP) server that exposes the full VideoGen API to any MCP client (Cursor, Claude Desktop, Windsurf, etc.). Your agent can generate videos from scripts, produce images / voiceovers / music / avatars, upload files, export and remix projects, and manage runs — all authenticated with your own API key.
Learn more about the VideoGen MCP server.
Find the hosted server on Smithery.
ChatGPT
Use the public VideoGen plugin on the ChatGPT Plugins Directory. That is the supported way for every user to run VideoGen in ChatGPT.
The /mcp/chatgpt endpoint, ChatGPT Apps commerce notes, open_uploader widget, and the connector checklist later in this file are for internal testing of that plugin.
It ships in two transports. Tool surface is the same except for the internal-testing ChatGPT Apps surface (see above):
- Local (stdio) — the client launches
@videogen/mcpas a subprocess and reads the key fromVIDEOGEN_API_KEY. - Remote (Streamable HTTP) — a hosted, multi-tenant HTTP server. Clients connect over the network and authenticate per request with
Authorization: Bearer; no key lives on the server.
Host surfaces (remote): /mcp (and stdio) is the STANDARD surface: when the user is out of credits or needs a plan feature, tools and guidance walk them into get_app_deep_link (OPEN_UPGRADE / OPEN_PURCHASE_CREDITS / OPEN_ENABLE_TOP_UPS). /mcp/chatgpt is an internal-testing ChatGPT Apps surface for the public plugin: those commerce deep links are omitted, billing errors are rewritten to “manage your VideoGen account
cc918d882ae9OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp --env VIDEOGEN_API_KEY=${VIDEOGEN_API_KEY} --env VIDEOGEN_OAUTH_ISSUER=${VIDEOGEN_OAUTH_ISSUER} --env VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL=${VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL} --env VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN=${VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN} -- npx -y @videogen/[email protected]{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@videogen/[email protected]"
],
"env": {
"VIDEOGEN_API_KEY": "${VIDEOGEN_API_KEY}",
"VIDEOGEN_OAUTH_ISSUER": "${VIDEOGEN_OAUTH_ISSUER}",
"VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL": "${VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL}",
"VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN": "${VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN}"
}
}
}
}Exposed tools (46)
36 read · 7 write · 3 destructive. Blast radius: 3 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add_entity_reference | write | |
archive_entity | read | |
cancel_tool_execution | read | |
cancel_workflow_run | write | |
create_entity | write | |
create_file_upload | write | |
export_project | read | |
generate_avatar | read | |
generate_image | read | |
generate_motion_graphic | read | |
generate_music | read | |
generate_sound_effect | read | |
generate_video_clip | read | |
get_app_deep_link | read | |
get_entity | read | |
get_file | read | |
get_me | read | Fetch the account. |
get_project | read | |
get_project_export | read | |
get_tool_execution | read | |
get_workflow_run | write | |
image_3d_effect | read | |
list_entities | read | |
list_files | read | |
list_languages | read | |
list_project_remix_actions | read | |
list_projects | read | |
list_tool_executions | read | |
list_tts_voices | read | |
list_workflow_runs | read | |
open_uploader | read | |
prompt_to_video_clip | read | |
remix_project | read | |
remove_entity_reference | destructive | |
remove_image_background | destructive | |
remove_video_background | destructive | |
script_to_video | read | |
slideshow_to_video | read | |
storyboard_to_video | read | |
text_to_speech | read | |
update_entity | write | |
upload_file | write | |
upscale_image | read | |
upscale_video | read | |
vectorize_image | read | |
voiceover_to_video | read |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (1 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (12)
Build a VideoGen app URL that opens a non-billing modal or navigates after the user signs in (invite teammates, submit feedback, integrations, account settings, or a NAVIGATE destination). Prefer this
"iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAACAElEQVR42u3TQQ0AAAjEsJOCVKQihTcaaFIFS5bqgbciAQYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4A
remove_entity_reference, remove_image_background, remove_video_background
"../../../api/src/generated/openapi-component-json-schemas.json",
const PUBLIC_ORIGIN = "http://127.0.0.1";
const response = await fetch(`http://127.0.0.1:${port}/health`);VIDEOGEN_BASE_URL: "http://127.0.0.1:9",
@modelcontextprotocol/sdk, @videogen/sdk, zod, @eslint/js, @types/node, @types/react, @types/react-dom, concurrently
A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that exposes the full [VideoGen API](https://docs.videogen.io) to any MCP client (Cursor, Claude Desktop, Windsurf, etc.). Your
Nothing to install or update. Point any MCP client that supports the Streamable HTTP transport at the hosted endpoint and send your API key as a bearer token:
2. **Verify the first deploy.** After the first successful deploy, confirm `GET https://<service-url>/health` returns `200` and that a `POST /mcp` with a valid bearer token lists tools.
For current definitions, send `tools/list` to your connected server. The standard hosted endpoint is `https://mcp.videogen.io/mcp` and requires OAuth or a VideoGen API key. The ChatGPT endpoint permit
Gates applied: instruction_override, no_behavioural_pass.
cc918d882ae9full audit observations/trust-audit/mcp-server/video-gen__videogen-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | cc918d882ae9 | BLOCK | D | 69 | first audit |
Questions
What is the videogen-mcp MCP server?
MCP server for the VideoGen API (https://videogen.io)
What tools does videogen-mcp expose?
46 in total: 36 read-only, 7 that write, and 3 that can delete or overwrite (remove_entity_reference, remove_image_background, remove_video_background). Every one is listed on this page with its risk.
Is videogen-mcp safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 3 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does videogen-mcp need?
It reads VIDEOGEN_API_KEY, VIDEOGEN_OAUTH_ISSUER, VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL and VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does videogen-mcp run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @videogen/mcp at 2.2.1.
How current is this page?
The grade is for one exact copy of the source (cc918d882ae9), read on 2026-10-11. The repository is watched and re-audited when it changes.