Skip to main content
VMEG registers sync MCP tools on the Remote MCP server. Tool names are stable (vmeg_*). Unless noted, do not pass projId — the authenticated OAuth session or API Key supplies the project.
Field-level JSON schemas are returned by the MCP tools/list response. This page summarizes names and behavior. REST equivalents (where they exist) live in API reference.

Materials

ToolDescription
vmeg_list_materialsList uploaded video/audio materials in your project. Returns materialId, name, category, URLs, and metadata. Supports filters (category, keyword, materialId, mimeType) and pagination.
vmeg_delete_materialDelete an uploaded material by materialId. Requires explicit user confirmation before the agent calls this tool.
HTTP upload (not an MCP tool): POST {mcpMaterialUploadUrl} with multipart/form-data file field. Returns materialId for create-task tools.

Voices

ToolDescription
vmeg_list_basic_voicesList system (library) voices. Filter by locale (BCP-47, e.g. en-US). Use with manual voice selection.
vmeg_list_clone_voicesList your cloned voices (voiceId, provider, preview URLs). Use with voiceGenerationMode=manual.

Tasks — create and manage

ToolDescription
vmeg_create_video_translation_taskCreate a video or audio translation task. Requires targetLanguage and one media source: materialId, sourceUrl (HTTPS direct link, e.g. ChatGPT attachment), or youtubeUrl (video only). Product is auto-detected from material category. Ask the user for voiceGenerationMode (clone, clone-accent default, smart, manual). Returns taskId, status, product, editorUrl.
vmeg_create_subtitle_translation_taskCreate a subtitle translation task. Modes: preview with media + targetLanguage; merge with subtitleType; render/export with taskId + translatedScripts. YouTube imports may return pending while download runs asynchronously.
vmeg_list_tasksList or poll tasks (lite mode, no heavy config JSON).
vmeg_delete_taskDelete a task by taskId. Requires explicit user confirmation before calling.

Tasks — editor queries

All query tools take taskId and optional filters. Times are on the post-translation timeline unless noted.
ToolDescription
vmeg_query_task_scriptsQuery translated script lines (content.translated_scripts). Filter by keywords, time range, index range, speakerId.
vmeg_query_task_subtitlesQuery subtitle clips (content.subtitle_clips).
vmeg_query_task_asrQuery ASR lines for transcription tasks (content.asr_scripts).
vmeg_query_task_speakersQuery speakers (content.voice_match, or distinct script speakers).
vmeg_query_task_tracksQuery video/audio track blocks (content.build_tracks). Filter by kind (audio / video).

Tasks — editor mutations

ToolDescription
vmeg_save_task_draftApply draft edits in one transactional call. Pass ops: an array of typed operations (entity, action, value, …). All-or-nothing.
vmeg_retranslate_task_scriptsRe-translate all scripts for an existing task. Confirm with the user before calling. Poll with vmeg_get_retranslate_status.
vmeg_trigger_video_translation_all_ttsRe-dub all (or selected) translated scripts. Confirm with the user before calling. Poll with vmeg_get_tts_status.
vmeg_compose_task_draftRender (compose) the saved draft into a paid export job. Confirm with the user before calling. Returns a new render taskId.
vmeg_get_retranslate_statusPoll whole-task re-translation status.
vmeg_get_tts_statusPoll per-script TTS dubbing status.

Agent behavior (server instructions)

The MCP server injects instructions for connected clients. Highlights:
  • Never pass projId in tool arguments.
  • Do not call create-task tools without a media source — ask how the user wants to provide media first.
  • Confirm before delete, compose, re-translate, or bulk TTS.
  • Tasks are asynchronous; poll vmeg_list_tasks and editor query tools until work completes.

OAuth challenge

If a tool is called without a valid Bearer token, the server returns an MCP error with _meta OAuth challenge headers so clients (e.g. ChatGPT Apps SDK) can start login. After authorization, retry the tool call.