Atlas / MCP servers / video-gen / videogen-mcp

videogen-mcpBLOCK

mcp/video-gen/videogen-mcp

MCP server for the VideoGen API (https://videogen.io)

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
46 36r · 7w · 3d
Transport
stdio · streamable-http
License
MIT
Stars
4
01

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/mcp as a subprocess and reads the key from VIDEOGEN_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

Read from source at commit cc918d882ae9OBSERVED · 2026-10-11
02

Connect

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-code
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]
claude-desktop
{
  "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}"
      }
    }
  }
}
03

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.

ToolRiskDescription
add_entity_referencewrite
archive_entityread
cancel_tool_executionread
cancel_workflow_runwrite
create_entitywrite
create_file_uploadwrite
export_projectread
generate_avatarread
generate_imageread
generate_motion_graphicread
generate_musicread
generate_sound_effectread
generate_video_clipread
get_app_deep_linkread
get_entityread
get_fileread
get_mereadFetch the account.
get_projectread
get_project_exportread
get_tool_executionread
get_workflow_runwrite
image_3d_effectread
list_entitiesread
list_filesread
list_languagesread
list_project_remix_actionsread
list_projectsread
list_tool_executionsread
list_tts_voicesread
list_workflow_runsread
open_uploaderread
prompt_to_video_clipread
remix_projectread
remove_entity_referencedestructive
remove_image_backgrounddestructive
remove_video_backgrounddestructive
script_to_videoread
slideshow_to_videoread
storyboard_to_videoread
text_to_speechread
update_entitywrite
upload_filewrite
upscale_imageread
upscale_videoread
vectorize_imageread
voiceover_to_videoread
04

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfaceWARN
L4Behavioural (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)

HIGHPrompt injection · prompt.hide_from_user · CWE-94, CWE-1427
TOOL_SCHEMAS.md:130
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
Why it matters. asks the agent to act without the user's knowledge
MEDIUMObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
src/fullSmoke.ts:110
"iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAACAElEQVR42u3TQQ0AAAjEsJOCVKQihTcaaFIFS5bqgbciAQYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4ABwABgADAAGAAMAAYAA4A
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
remove_entity_reference, remove_image_background, remove_video_background
Why it matters. 3 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/adapters/creativeToolAlignment.test.ts:18
"../../../api/src/generated/openapi-component-json-schemas.json",
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
src/httpDiscovery.test.ts:28
const PUBLIC_ORIGIN = "http://127.0.0.1";
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
src/httpDiscovery.test.ts:65
const response = await fetch(`http://127.0.0.1:${port}/health`);
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
src/httpDiscovery.test.ts:115
VIDEOGEN_BASE_URL: "http://127.0.0.1:9",
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, @videogen/sdk, zod, @eslint/js, @types/node, @types/react, @types/react-dom, concurrently
Why it matters. 13 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:5
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
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:39
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:
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:179
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.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
TOOL_SCHEMAS.md:7
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
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine

Gates applied: instruction_override, no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha cc918d882ae9full audit observations/trust-audit/mcp-server/video-gen__videogen-mcp.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-11cc918d882ae9BLOCKD69first audit
06

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.

Advertisement