Reading state — MCP tool reference — VidVertex Docs
Docs/MCP tool reference/Reading state

Reading state

Read-only calls: what exists, how it is configured, and what is running right now. Nothing here writes a file, so an assistant can look as often as it likes before it changes anything.

list_stacks

List all stacks with post type, brand/platform combinations and render status: rendered = outputs present and current, rendered_stale = outputs exist but the stack changed since the render (re-render to refresh), uploaded = a real upload run already handled it — posted, or exported into the import CSV (the hub hides such stacks from its upload list; exact duplicates are skipped at schedule time anyway).
No parameters.

get_stack

One stack in full detail: post type, brands/platforms, media, all post texts, hook angles, render status and the last upload history entries.

Parameter Type Description
stack (required) string Stack name.

get_editor

The COMPLETE stack-editor state of one stack: every editor field (hook/endcard config, captions look, layout zones, templates, z-order), every widget's geometry and style at every context level (stack / per brand / per channel) incl. the canvas rect each media asset occupies on the 300x533 canvas, the background, the brand asset pools the render falls back to, and the resolved captions config — plus 'layout' (how the main clip sits in the 9:16 frame: cover / contain with letterbox bands, and what fills the bands) and 'motion_windows' (hook/endcard windows with the moment an animated title is fully legible). Use view_frame on any returned path to SEE the asset; change fields via update_stack and geometry via set_widget_geometry.

Parameter Type Description
stack (required) string Stack name.
with_rects boolean Probe media files and include canvas_rect per widget state (default true).

list_brands

List the global brands (accounts): configured platforms, content language, posting time and timezone. Brands are the accounts posts go out on — a stack targets one or more of them.
No parameters.

list_pools

The named asset pools (shared libraries the brand slots reference): id, name, kind (media/audio/hashtags), resolved count, live folders and which brand slots use each pool (used_by carries the platform tag: platforms/except, both null = every platform). Filter by brand/name/kind — the unfiltered library is large and comes back capped. Also reports brand slots that still hold plain paths instead of pool references (loose_slot_entries).

Parameter Type Description
kind enum: media, audio, hashtags Only pools of this kind.
brand string Only pools assigned to this brand's slots.
name string Only pools whose name contains this text.
limit integer Max pools to return (default 50, max 200).

list_presets

List stack presets (reusable stack configurations for create_stack) and assembly-line presets (full automation recipes for run_assembly, with their field values).
No parameters.

list_caption_styles

List all caption styles (built-in + user-defined) with their full look definition — keys usable in update_stack (auto_captions_style/auto_captions_styles) and set_brand_caption_style.
No parameters.

list_video_templates

List output-format templates (resolution/fps/codec/quality) — names usable in update_stack's video_template field.
No parameters.

list_motion_templates

The animated motion-title templates for hook/endcard (update_stack's hook_motion_template / endcard_motion_template) and whether motion capture is available on this machine.
No parameters.

find_clips

List video and/or image files in the configured inbox folder (the drop folder for new footage), newest first, with a used/unused flag. Images feed carousel posts.

Parameter Type Description
kind enum: videos, images, all What to list (default videos).
unused_only boolean Only files not yet consumed by a stack.
limit integer Max entries (default 20).

list_files

Browse the file system like the app's file picker: without path the drives plus the VidVertex data folder and the inbox; with a folder path its sub-folders and files (exts filters, e.g. 'mp4,mov'). Use the returned paths with assign_media, save_pool, set_brand_pools or view_frame.

Parameter Type Description
path string Folder path; empty lists the roots.
exts any Comma list or array of extensions to keep.
limit integer Max files returned (default 500).
NOTE

The calendar is read live from the posting service you have configured — Metricool's planner or the Zernio API — and falls back to the newest export CSV when no key is set. The answer names which of the two replied, so an assistant never presents a stale CSV as the live plan.

get_calendar

Already-scheduled posts (date, time, platform, brand, title, status) — live from the Zernio API when a key is configured (source='live'), otherwise from the newest CSV export (source='csv'). Plus the configured upload mode — tells you whether schedule posts via the Zernio API or writes a Zernio/Metricool import CSV for the user.

Parameter Type Description
month string YYYY-MM (± a week around it). Defaults to the current month; pass 'all' for the whole account — that can be thousands of posts and comes back truncated.

upload_preflight

The upload confirm dialog without uploading: the brand x platform tasks the given stacks produce, the planned count over the day window and every warning (duplicates, platform limits, past posting time). retry_tasks = [{stack, brand, platform}] narrows it to a previous run's failures.

Parameter Type Description
stacks (required) array of string Stack names.
start_date string YYYY-MM-DD (default today).
days integer Day window (default 1).
retry_tasks array of object

get_transcript

Read a stack's auto-captions transcript: the timestamped text (the same form edit_transcript takes back), spoken language and which brand-language translations are cached. Pass 'language' to read one cached translation instead.

Parameter Type Description
stack (required) string Stack name.
language string Read this language's cached translation instead.

get_clip_brief

The cached content brief of a stack's main clip (summary, transcript, visual beats, hook moments, risk flags) and the context block the AI generators inject — no API call. analyze_clip produces/refreshes it.

Parameter Type Description
stack (required) string Stack name.

render_status

Progress of the render batch started by render_batch: per-stack status (pending/rendering/done/error) with video counts, and — once running=false — the final per-stack rendered/stale verdict. Poll roughly once a minute while a batch runs. With no batch in this process (a restarted server, a render started elsewhere) it reports any interrupted render queue plus the rendered/stale verdict from disk — pass 'stacks' to ask about specific ones.

Parameter Type Description
stacks array of string Optional stack names to report the rendered/stale verdict for, whoever rendered them.
FACT

An upload run outlives the process that started it. After a restart upload_status still answers: a fresh heartbeat means the run is still finishing, a stale one means it was interrupted — and it names the posts that were made.

upload_status

Progress and result of an upload run started by schedule: running flag, posts so far, preflight warnings, skipped duplicates, failed tasks — and once running=false the complete result object a synchronous run used to return. Without run_id it reports the active run (or the most recent one). Runs persist their state, so this also answers after a server restart: a run still finishing in the previous server process shows as running with a fresh heartbeat, an interrupted one says exactly which posts were already made.

Parameter Type Description
run_id string The run_id schedule returned (optional — default: the active or most recent run).

get_review_queue

The hub's Review queue: posts an agentic dry run proposed (watch folder, assembly schedule, MCP schedule) with their texts, media file and status (pending/approved/rejected/consumed). view_frame with an entry's file shows it; decide_review decides.

Parameter Type Description
status string Optional filter: pending, approved, rejected or consumed.

list_schedules

Assembly schedules (hub → Assembly → clock): which preset runs daily at what time on which weekdays, enabled/approved flags and the last run result.
No parameters.

WARNING

Settings come back with every API key as configured or not configured, never as a value. An assistant cannot read a key, cannot enter one, and cannot switch AI providers or change the guardrails it runs under.

get_settings

The app settings (upload mode, scheduling, inbox folder, render/randomizer options, AI/TTS provider+model, prompt templates, labels, theme) plus configured-flags for the API keys and the current guardrails. Secrets are never returned.
No parameters.

get_app_status

App version, data folder (current + pending change), the cached update verdict, who is connected to the MCP server right now, Google Drive connection state, the configured upload mode and the GPU encoder status.
No parameters.

get_license_status

License status of this install (plan, masked key, expiry) — read-only; activation happens in the app.
No parameters.

check_for_update

Check the update server for a newer VidVertex version now (the 'Check for updates' button). Installing happens in the app.
No parameters.

get_housekeeping

Settings → Storage: disk usage of the cache folders (preview proxies, voiceovers, motion titles, logs) and every stack's rendered outputs, biggest first.
No parameters.

FACT

VidVertex can only see the files it uploaded itself. The Drive permission it asks for covers its own uploads, so nothing else in your Drive is ever listed — or deletable.

get_drive_uploads

Settings → Storage → Google Drive uploads: the files VidVertex uploaded to Google Drive for the Metricool modes, the account's quota, and per file whether a scheduled Metricool post still uses it (in_use), it came from a Metricool CSV export (csv_export — free only once that export is imported, the app cannot tell), it is free to delete (free) or the scheduler could not be checked (unverified). Metricool copies media to its own servers when a post is scheduled/imported, so Drive copies are dead weight afterwards.

Parameter Type Description
check_scheduler boolean Check Metricool's scheduler for references (default true; false = faster, every file reports unverified).

list_backups

The automatic .bakN backup sets of every critical config file (stack.json, brand config, settings …), newest first per file.
No parameters.

list_stack_snapshots

The restore points of a stack (see snapshot_stack), newest first.

Parameter Type Description
stack (required) string

list_zernio_profiles

List the Zernio profiles of the configured account (id + name) — the input for apply_zernio_profile and import_zernio_profiles.
No parameters.

list_metricool_brands

List the Metricool brands (blogs) of the configured account (id, name, timezone, connected networks) — the input for set_brand's metricool_blog_id, which the Metricool API upload mode posts to.
No parameters.

NOTE

This call uses the stored TTS key to ask the provider for the account's real voice list. The key is used, never returned.

list_voiceover_voices

The configured TTS provider's live voice list (ElevenLabs: the account's real voices incl. clones) — voice ids for set_brand's voiceover_voice or the global tts_voice.
No parameters.

list_ai_providers

The AI and TTS provider/model/voice catalogs Settings → AI offers (models per provider, audio capability, key placeholders). No secrets.
No parameters.

list_languages

The app's language list (code, English and native name) for brand content languages and caption translations.
No parameters.

list_caption_fonts

Installed font families a caption style may use (anything else is silently substituted at render time).
No parameters.

get_prompt_templates

The AI prompt templates (title_desc, first_comment, text_widget, hook, endcard): the shipped default, whether the user overrides it and the effective text. Override via set_settings with the settings_key.

Parameter Type Description
kind string Optional single kind.

get_folders

The hub's folder tree for stacks or brands (root items + folders with their members).

Parameter Type Description
kind string 'stacks' (default) or 'brands'.