Skip to main content

Overview

vod_tools (from veadk.tools.builtin_tools.vod import vod_tools) edits and processes video through the Volcengine Video-on-Demand MCP. See the VOD MCP Server.

Environment & prerequisites

Requirements:
  1. Configure Volcengine AK / SK.
  2. (Optional) Choose capability groups via TOOL_VOD_GROUPS: edit, intelligent_slicing, intelligent_matting, subtitle_processing, audio_processing, video_enhancement, upload, video_play. Join multiple with commas; defaults to edit,video_play.
  3. (Optional) TOOL_VOD_TIMEOUT, the connection timeout, defaults to 10 seconds.
  4. The VOD tool cannot create a Space — create a Video Cloud space in the console first.
Environment variables:
  • VOLCENGINE_ACCESS_KEY: Volcengine AccessKey
  • VOLCENGINE_SECRET_KEY: Volcengine SecretKey
  • TOOL_VOD_GROUPS (optional): capability groups
  • TOOL_VOD_TIMEOUT (optional): connection timeout, defaults to 10.0 seconds
Or configure in config.yaml:
config.yaml
Install uv, verify uvx --version, and allow downloads of the VOD MCP server and dependencies. Replace the example URLs with valid service-accessible videos and the Space name with an existing Space. Configure the reasoning model as well.

Usage

examples/tools/vod/agent.py

Notes

Some video-editing tasks take a while and return a task_id immediately. You can keep asking the agent whether the task is finished to retrieve the result.

Capability groups and configuration timing

Set TOOL_VOD_GROUPS and TOOL_VOD_TIMEOUT before importing vod_tools, or use the YAML configuration above; VeADK translates loaded configuration into environment variables. Restart the process after changes to rebuild the connection. The timeout controls MCP connection waiting, not completion of a video-processing job. The VOD MCP server supplies its own default capabilities when VeADK passes no groups. This built-in connection launches the Volcengine VOD MCP server. Configuring BytePlus credentials does not establish BytePlus endpoint support; use MCP configuration matching the target video service. A task_id only confirms submission; query the task until success and obtain the result URL before treating it as complete.

Verify the connection

Last modified on September 19, 2026