io.github.svatrous/longtake
NPM · LONGTAKE-MCP · SCANNED SEP 26
Drive Longtake Studio from an agent: AI video takes on your own API key, characters, drafts, costs
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability62
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2633 tokens (~202/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage83
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 50% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "cancel_take" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the io.github.svatrous/longtake MCP server?
io.github.svatrous/longtake runs locally as an npm package, launched with npx -y longtake-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · longtake-mcp
claude mcp add svatrous-longtake -- npx -y longtake-mcp
{
"mcpServers": {
"svatrous-longtake": {
"command": "npx",
"args": [
"-y",
"longtake-mcp"
]
}
}
} {
"servers": {
"svatrous-longtake": {
"command": "npx",
"args": [
"-y",
"longtake-mcp"
]
}
}
} codex mcp add svatrous-longtake -- npx -y longtake-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"svatrous-longtake": {
"type": "local",
"command": [
"npx",
"-y",
"longtake-mcp"
],
"enabled": true
}
}
} openclaw mcp add svatrous-longtake --command npx --arg -y --arg longtake-mcp
mcp_servers:
svatrous-longtake:
command: "npx"
args: ["-y", "longtake-mcp"] {
"McpServers": {
"svatrous-longtake": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"longtake-mcp"
]
}
}
} assistant mcp add svatrous-longtake -t stdio -c npx -a -y longtake-mcp
{
"mcpServers": {
"svatrous-longtake": {
"command": "npx",
"args": [
"-y",
"longtake-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 26 Sept 2026 · Analysed npm/longtake-mcp@1.0.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 95 packages
| Packages resolved | 95 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
cancel_take ~93
Delete a take. A queued BytePlus take is also cancelled at the provider, so its tokens are not burned. Everywhere else this is only a delete: Veo, Omni and Kling accept the render when it is created and have no cancel at all, and a take that is already running cannot be called back on any engine — it is paid for and the file is thrown away.
| Name | Type | Req | Description |
|---|---|---|---|
| taskId | string | yes | – |
No output schema declared.
No examples provided.
create_character ~415
Create a character: name (for @mentions) + appearance (a local sheet via imageFilePath, or a library assetId) + voice (audio file or assetId). The voice is locked in — it does not change from scene to scene. A character with a portrait is screen-tested automatically: a 4s clip is rendered to find out whether the reference clears content moderation, and the verdict comes back in `check` ("rejected" = the portrait reads as a real person and every take with it would fail — replace it with a clearly animated one or a verified actor asset://).
| Name | Type | Req | Description |
|---|---|---|---|
| arkImageAsset | string | – | asset:// of a verified BytePlus actor |
| arkVoiceAsset | string | – | – |
| grainLevel | integer | – | strength of the anti-moderation grain on the portrait, 10–100 (default 60): the percent of black the darkest grain cell may reach. Raise it when Seedance 2.5 refuses a face that 2.0 accepts; the clea… |
| imageAssetId | string | – | an existing library asset — it becomes the character's portrait and gets the anti-moderation grain at that moment (the clean file stays for previews; the asset itself stays in the library) |
| imageFilePath | string | – | path to a local character sheet — preferred for a photorealistic face: the file is stored as the character's own (not listed in the library) and gets the automatic anti-moderation grain, the way atta… |
| name | string | yes | – |
| projectId | string | yes | – |
| voiceAssetId | string | – | – |
| voiceFilePath | string | – | path to a 2–15 s voice sample — mp3 or wav only, the video model takes nothing else; all speaking characters in one take share that 15 s window (30 s on Seedance 2.5) |
No output schema declared.
No examples provided.
create_folder ~42
Create a folder (episode) in a project — a "Scene 1" appears inside.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| projectId | string | yes | – |
No output schema declared.
No examples provided.
create_project ~34
Create a project (scaffolded with "Episode 1" and "Scene 1").
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
No output schema declared.
No examples provided.
create_scene ~30
Create a scene in a folder.
| Name | Type | Req | Description |
|---|---|---|---|
| folderId | string | yes | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
estimate_cost ~359
Estimate generation cost before running. Seedance is billed in tokens (duration × width × height × 24 / 1024, at a $/M rate that differs per model and resolution); Veo and Kling are billed by the second; Gemini Omni is billed by tokens it decides after the fact, so its figure is a pessimistic guess. A Seedance 2.5 draft (generate_video draft: true) costs exactly a 480p take on 2.5 — price it with that model, not the default; its final (finish_draft) costs a 1080p take on 2.5 of the draft's duration and ratio, plus the draft's referenceVideoSec from take_status.
| Name | Type | Req | Description |
|---|---|---|---|
| durationSec | integer | yes | – |
| model | string | – | defaults to Seedance 2.0. Seedance: 4–15 s, adaptive ratio, references and voice samples (2.5: up to 30 s, 30 references). Veo: 16:9/9:16, duration 4, 6 or 8 only, no voice, Lite takes no references.… |
| ratio | string | – | – |
| referenceVideoSec | number | – | total length of the @clips the prompt will reference — billed as input seconds on the cheaper video-input column (Seedance only) |
| resolution | string | yes | – |
| variants | integer | – | – |
No output schema declared.
No examples provided.
finish_draft ~276
Finish a Seedance 2.5 draft (a take shot with generate_video draft: true) in 1080p. The model renders the SAME shot again at full size: composition, camera path, blocking, timing, faces and sound carry over, fine detail is drawn again — and so are the draft's mistakes. A new 1080p take gives a different video; an upscale works from the draft's pixels alone. Billed as an ordinary 1080p take of the draft's length on 2.5 — about $2.84 per 5 s at 16:9 at list price. Quote it with estimate_cost once the draft has succeeded (its values are the real ones then): model 2.5, resolution 1080p, and duration, ratio and referenceVideoSec from the draft's take_status. The final is a new take in the draft's scene; the draft stays. Possible for 7 days after the draft, on the key it was shot on. A draft has one live final at a time: calling this again returns that final instead of paying twice, while a failed or deleted final can be finished again — and is paid again.
| Name | Type | Req | Description |
|---|---|---|---|
| taskId | string | yes | id of the draft take (from generate_video, take_status or scene_takes) |
No output schema declared.
No examples provided.
generate_mocap ~195
Generate a character mockup sheet (21:9, 4 panels: full-body front·profile·back·portrait). From a real-person photo (photoPaths) and/or a text description. Engine: Seedream (BytePlus) with a Gemini fallback. The result is saved as an asset in the library. Pass its id to create_character as imageAssetId to cast it — the sheet gets the anti-moderation grain at that moment.
| Name | Type | Req | Description |
|---|---|---|---|
| assetName | string | – | name for the @mention; without it the sheet is called "mockup" (then mockup-2, …) — this tool has no character name to build one from |
| description | string | – | who it is; required when there are no photos; write the style right here |
| photoPaths | array | – | paths to photos of the person (up to 14) |
| projectId | string | yes | – |
No output schema declared.
No examples provided.
generate_video ~722
Generate a take (video) in a scene. In the prompt you can reference characters and assets by @name (see studio_overview) — the studio attaches portraits, voices and references itself. A @clip from the library goes to Seedance as a reference video (say what to take from it: "the camera movement of @clip", "the pacing of @clip"); up to 3 clips per take on the 2.0 family, 10 on 2.5, 30 s of reference video in total, and every second of it is billed on top of the take. Write the prompt in English: Russian is not among the prompt languages of these models, and the studio translates it only if its owner switched translation on. With draft: true it shoots a Seedance 2.5 draft — 480p, billed as an ordinary 480p take — that finish_draft can later render again as the same shot in 1080p; shoot several (variants) and finish the one that works. The task is async: track it via take_status.
| Name | Type | Req | Description |
|---|---|---|---|
| cameraPhrases | array | – | English camera-movement phrases, e.g. "Slow cinematic dolly in toward the subject." |
| draft | boolean | – | Seedance 2.5 only: a 480p draft that finish_draft can render again as the same shot in 1080p within 7 days. Billed as an ordinary 480p take. With draft, model defaults to 2.5 and resolution to 480p |
| duration | integer | – | 4–15 sec (Seedance 2.0), 4–30 (2.5), 3–15 (Kling), 4/6/8 (Veo), or -1 = model decides (Seedance only); defaults to 8 |
| firstFrameAssetId | string | – | – |
| generateAudio | boolean | – | defaults to true |
| lastFrameAssetId | string | – | – |
| model | string | – | defaults to Seedance 2.0. Seedance: 4–15 s, adaptive ratio, references and voice samples (2.5: up to 30 s, 30 references). Veo: 16:9/9:16, duration 4, 6 or 8 only, no voice, Lite takes no references.… |
| prompt | string | yes | – |
| ratio | string | – | defaults to adaptive on Seedance and to 16:9 on engines that have no adaptive; 2.5 with a first/last frame accepts adaptive only |
| resolution | string | – | defaults to 720p, the one size every engine has (a draft: 480p, the only size drafts are shot in); 360p is Omni only, 480p is Seedance only, 4K is on Seedance 2.0, Veo 3.1/Fast and Kling 3.0 |
| sceneId | string | yes | – |
| variants | integer | – | takes at once, defaults to 1 |
No output schema declared.
No examples provided.
scene_takes ~51
Scene takes (brief, newest first). A Seedance 2.5 draft is marked draft: true; a draft's 1080p final carries finishOf.
| Name | Type | Req | Description |
|---|---|---|---|
| sceneId | string | yes | – |
No output schema declared.
No examples provided.
studio_overview ~41
Studio overview: projects with folders and scenes (ids and names), characters, assets, active renders. Call this first — all other tools use ids from here.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
take_status ~104
Take status: queued/running/succeeded/failed + video file, last frame, token spend, and what the take was shot as: model, resolution, ratio, duration and referenceVideoSec (seconds of @clips it was billed for). A Seedance 2.5 draft carries draft: true and final — its live 1080p final, or null; a final carries finishOf, the draft it was made from.
| Name | Type | Req | Description |
|---|---|---|---|
| taskId | string | yes | – |
No output schema declared.
No examples provided.
upload_asset ~271
Upload a local file (image, audio, or a reference clip) to the project library. Returns the name for @mentions. A library picture referenced as @name reaches the video model exactly as it is — to put a face in front of a video model, make it a character's portrait (create_character): that lays the anti-moderation grain on it. A clip (mp4/mov, 2–30 s, 480p or 720p) mentioned as @name goes to Seedance as a reference video — motion, camera movement, pacing, an effect — and its seconds are billed as input on top of the take; pass durationSec (and width/height) so the studio can check the limits before any money moves.
| Name | Type | Req | Description |
|---|---|---|---|
| durationSec | number | – | length of an audio or video file in seconds; measured here with ffprobe (video) or from the file (mp3/wav) when omitted |
| filePath | string | yes | absolute path to the file |
| height | integer | – | frame height of a clip in px (measured with ffprobe when omitted) |
| name | string | – | – |
| projectId | string | yes | – |
| width | integer | – | frame width of a clip in px (measured with ffprobe when omitted) |
No output schema declared.
No examples provided.
What is the io.github.svatrous/longtake MCP server?
io.github.svatrous/longtake is an MCP server listed in the public MCP registry as io.github.svatrous/longtake. Drive Longtake Studio from an agent: AI video takes on your own API key, characters, drafts, costs. This page covers its npm package (longtake-mcp).
Is the io.github.svatrous/longtake MCP server safe to use?
io.github.svatrous/longtake scores 65 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.svatrous/longtake MCP server expose?
io.github.svatrous/longtake exposes 13 tools: studio_overview, create_project, create_folder, create_scene, upload_asset, and 8 more. Their descriptions and schemas cost roughly 2,633 tokens of context every time the server is loaded.
Is the io.github.svatrous/longtake MCP server still maintained?
io.github.svatrous/longtake is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.svatrous/longtake MCP server under?
io.github.svatrous/longtake declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.