symflow-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OF_HOST | No | Optional host address for the bridge. By default it listens on 127.0.0.1:8789. For Claude on another machine, set to a Tailscale address; a non-loopback bind requires the token from ~/.symflow-token (header X-SymFlow-Token) pasted into the extension settings. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sym_statusA | Bridge and extension state: whether the SymFlow extension is connected, whether a Creative Studio tab is open and signed in, credits (weekly grant, spent, next refill, available models), the queue, the last templates sent with the "→ Claude" button (inbox) — plus |
| sym_inboxA | Templates the user sent from the studio page with the "→ Claude" button (full director prompt, reference image, sample). Newest first. clear:true empties the inbox after reading. |
| sym_creditsA | Live Symphony credit account: balance, weekly grant and spent, tier, available models, recent ledger with the price actually charged per task, expected next refill. Use before batches and after failures. |
| sym_templatesB | TikTok trend templates (about 78) with name, description, use cases, industry, reference image and the director prompt (videoPrompt, truncated unless full:true). useCase: 1 viral ads (default list), 8 ready-to-use on the Create page; query filters by text. |
| sym_templateB | One template with its COMPLETE director prompt (Format & Look, Lenses, Grade, shot list), reference image URL and sample video. Use it as the structure of your own prompt. |
| sym_generateA | Queue video/image generation in the live Symphony account. Modes: r2v (reference-to-video: up to 4 photos/videos on Seedance 1.5, 12 on 2.0, 50 on 2.5; optional templateId adds the template reference first), i2v (image-to-video from 1–2 frames), t2v (text-to-video), i2i (image with Nano Banana Pro / Flux). Returns jobId immediately; the extension waits for the render and downloads the files — get them with sym_wait. ALWAYS run with dryRun:true first unless the user confirmed the cost: dryRun returns model, seconds, cost in credits and balance without spending. |
| sym_avatarsA | Avatars: kind aigc (1400+ AI-generated presenters, default), real (licensed real people), tryon (avatars for apparel/product try-on), product (avatars holding a product). Filter by query (name/tags) or tagsAll (e.g. ["female","e-comm","western_europe"]). Returns avatarId, name, tags, cover, preview. |
| sym_voicesC | Voices for talking avatars (assets of the studio) with tags (language, gender, age, style) and preview audio. language: e.g. english, spanish; gender: male|female. |
| sym_avatar_videoA | Talking avatar video from a script: the studio synthesises the voice (TTS), lip-syncs the avatar and adds captions. script ≤ 1000 characters in the spoken language; voiceId from sym_voices (default: the avatar's own voice); speed 0.8–1.3. Currently free of credits. Returns jobId — wait with sym_wait. |
| sym_tryonB | Avatar try-on: a video of an avatar wearing the user's apparel (kind apparel) or presenting the product (kind product). avatarId from sym_avatars kind=tryon|product; images = product/apparel photos. Returns jobId. |
| sym_transformA | "Video refresh": Symphony cuts new TikTok-ready clips (15 or 30 s) from the user's own product videos (each ≥ 15 s) and photos, with a voice-over in one of 11 languages (ar de en es fr id ms vi th ja pt). Returns jobId. |
| sym_dubA | Dubbing: translate the speech of a video into other languages with a synthetic voice; options: replace burned-in subtitles, lip-sync (one visible speaker). Up to 20 videos per call. Returns jobId. |
| sym_editorC | Server-side draft of the Symphony editor: op get (read the draft JSON), update (write a changed draft), estimate, render, check_render, export. Drafts are CapCut-style documents (tracks, materials, texts); change them structurally and render. |
| sym_historyC | What was generated in this account: drafts with status, type, vid, cover, errors. miniAppTypes: 1 refresh, 2 i2v, 3 t2v, 5 hpi, 6 try-on, 7 dubbing, 9 avatar, 11 image, 13 r2v. |
| sym_linksA | Download links of a finished draft: original file (no watermark) and, with watermarked:true, the official export. The extension downloads files by itself for jobs; use this for older drafts from sym_history. |
| sym_uploadA | Upload files into the Symphony library without generating anything (to reuse URLs/vids across tasks). |
| sym_downloadA | Download the files of an already finished studio task (taskId from sym_history / sym_status) into a job folder without generating anything. Returns jobId — get the paths with sym_wait. |
| sym_waitA | Wait for a job and return its items with local file paths (symflow-out//…), links, cost data and errors. Returns the intermediate picture on timeout — call again. |
| sym_cancelA | Remove everything that has not started yet. Running renders are not interrupted. |
| sym_logB | Last lines of the extension log (diagnostics). |
| sym_apiA | Developer escape hatch: call a Symphony JSON endpoint from inside the signed-in tab (path relative to https://ads.tiktok.com). Use only when a documented tool cannot do it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Most tools target distinct resources or actions (templates vs template, generate vs editor, upload vs download). The only mild ambiguity is between sym_links and sym_download, since both retrieve finished outputs, but descriptions clarify links vs file download jobs.
All tools share the consistent sym_ prefix and snake_case style, making the set feel cohesive. However, naming mixes resource nouns (sym_inbox, sym_history, sym_links) with action verbs (sym_generate, sym_upload, sym_cancel), so it is not a strict verb_noun pattern.
With 21 tools, the server sits at the heavy end of the appropriate range. The count is justified by the broad video-generation domain, but it pushes past the ideal 3-15 tool sweet spot.
The tool surface covers the full workflow: status, credits, templates, generation modes, avatars, voices, dubbing, editing, history, file transfer, job waiting, and cancellation. No major dead ends are apparent, and the escape-hatch sym_api further fills rare gaps.