WeftCutBLOCK
Free, open-source AI video editor for macOS, Windows and Linux — drive the whole timeline from any MCP client.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
WeftCut
The video editor your AI agent can drive like you do. Point Codex, Claude, or any MCP client at a real desktop NLE — and watch every edit land on your timeline while it plays. Code renders as video, so your agent can build editable clips.
[!NOTE] WeftCut is still under active development, so some features and UI/UX may change before v1.0.0. Join us to improve the project!
0d92bc813981OBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add poc-shared-texture-app -- npx -y [email protected]
{
"mcpServers": {
"poc-shared-texture-app": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (9)
7 read · 2 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
Composition | read | Canvas size, fps, sample rate, color space, background. |
Compositions | read | Every composition — the root and each Group — with id, label, duration_us and ref_count (how many CompositionRef layers place it). project://tracks?composition=<id> and project://markers?composition=<id> read one of them; unscoped they read the root. |
History | read | Recent operations and named checkpoints (no snapshots). |
Markers | read | Timeline markers, sorted by t_us. |
Tracks | read | Tracks with layer envelopes. Read project://layers/{id} for full layer detail. |
add_marker | write | Add a marker. |
add_track | write | RUST DESC |
launch_weftcut | read | Launch the WeftCut desktop app (opens its GUI window on the user’s machine) and |
weftcut_status | read | Report whether the WeftCut desktop app is currently running and reachable, and which |
Trust audit
BLOCKgrade F · trust 52/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (2 observation(s))
- Shell
- declared (4 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (25)
eval(kfs, Extrapolation::HOLD, t_us, default)
eval(kfs, ex, t_us, default)
eval(&kfs, Extrapolation::HOLD, t, 0.0),
assert_eq!(eval(&kfs, e, 2_500_000, black), white);
basis_transcoder.wasm
console.log(`token: ${auth.token}`)return `http://127.0.0.1:${auth.port}/mcp`tiny.mkv
box.bin
etc1s.ktx2
uastc.ktx2
.git-blame-ignore-revs
.mailmap
let evalBlocked = false; try {new Function('return 1')();} catch {evalBlocked = true;}const gitHash = createHash('sha1').update(`blob ${data.length}\0`).update(data).digest('hex');const hashOf = s => createHash('md5').update(s).digest('hex'); // cache address onlyimport type { AgentActivitySnapshot } from '../../src/shared/agent-activity'const FIXTURE = path.resolve(__dirname, '../../fixtures/projects/v1.json')
const outDir = path.join(__dirname, '../../determinism-artifacts', process.platform)
const version = JSON.parse(fs.readFileSync(new URL('../../package.json', import.meta.url), 'utf8')).versionconst FALLBACK = path.resolve(__dirname, '../../e2e/fixtures/media/test_1080p_30fps.mp4')
const url = `http://127.0.0.1:${address.port}/v1/chat/completions`;w.postMessage({local:location.origin+'/local.txt',urls:['https://example.invalid/asset','http://127.0.0.1:40000/asset','motif://countdown/index.html','file:///not-a-motif','weftcut-media://not-a-motifconst urls = ['https://example.invalid/model.glb', 'http://127.0.0.1:40000/model.glb',
expect(msg).toContain('http://127.0.0.1:4711/mcp')Gates applied: no_behavioural_pass.
0d92bc813981full audit observations/trust-audit/mcp-server/weftcut__weftcut.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | 0d92bc813981 | BLOCK | F | 52 | first audit |
Questions
What is the WeftCut MCP server?
Free, open-source AI video editor for macOS, Windows and Linux — drive the whole timeline from any MCP client.
What tools does WeftCut expose?
9 in total: 7 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is WeftCut safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (52/100) and found 4 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does WeftCut need?
No credential environment variables were found in its source, so it appears to need none.
How does WeftCut run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as poc-shared-texture-app at 0.0.0.
How current is this page?
The grade is for one exact copy of the source (0d92bc813981), read on 2026-10-10. The repository is watched and re-audited when it changes.