Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

OpusClip

NPM · @MINDSTONE/MCP-SERVER-OPUS-VIDEO-CLIP · SCANNED AUG 7

OpusClip MCP server — clip long-form videos, manage projects, collections, censor jobs, posts

+33 this week 65 Trust /100
Trust breakdown (6 categories)

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 →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Known CVEs were checked across the 95 of 99 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 95 of 99 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability69
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2407 tokens (~114/item across 21 items; 21 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 Management37
  • Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage81
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 44% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @mindstone/mcp-server-opus-video-clip

# add to Claude Code
claude mcp add mindstone-mcp-server-opus-video-clip -- npx -y @mindstone/mcp-server-opus-video-clip
# add to Codex CLI
codex mcp add mindstone-mcp-server-opus-video-clip -- npx -y @mindstone/mcp-server-opus-video-clip
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mindstone-mcp-server-opus-video-clip": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@mindstone/mcp-server-opus-video-clip"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add mindstone-mcp-server-opus-video-clip --command npx --arg -y --arg @mindstone/mcp-server-opus-video-clip
# ~/.hermes/config.yaml
mcp_servers:
  mindstone-mcp-server-opus-video-clip:
    command: "npx"
    args: ["-y", "@mindstone/mcp-server-opus-video-clip"]
// mcp.json
{
  "mcpServers": {
    "mindstone-mcp-server-opus-video-clip": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-opus-video-clip"
      ]
    }
  }
}
Changelog

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.

  • 7 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 5 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 3 Aug 26 +4
    • Stability: unverified → 0.23 functional
  • 2 Aug 26 +27
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • License: unverified → fail functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Licence: FSL-1.1-MIT functional
  • 1 Aug 26 0
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
  • 31 Jul 26 −22
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Known CVEs: partial → unverified security
    • Provenance: fail → unverified security
    • Install scripts: pass → unverified security
    • License: fail → unverified functional
    • Dependency health: partial → unverified functional
    • Maintenance: pass → unverified functional
    • Licence: FSL-1.1-MIT functional
  • 28 Jul 26 +29
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • License: unverified → fail functional
    • Schema quality: unverified → good functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Licence: FSL-1.1-MIT functional
Diagnostics

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 7 Aug 2026 · Analysed npm/@mindstone/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 95 packages
Packages resolved 95
Deprecated 95
Stale 29
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools · 21 exposed · ~2,407 tokens

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.

Tool Tokens
configure_opus_api_key ~100

Configure the OpusClip API key for this session. WHEN TO USE: only call this if you get an error saying "Opus API key not configured" or "AUTH_FAILED". HOW USER GETS THEIR KEY: go to https://app.opus.pro/settings/integration-tokens and create a new token. After configuring, all other opus_* tools will work immediately.

NameTypeReqDescription
api_keystringyesThe OpusClip API token

No output schema declared.

No examples provided.

opus_add_clip_to_collection ~98

Add a clip to an existing collection. `contentId` is the full clip ID in the form `{projectId}.{curationId}` (e.g. "Q20107035eDq.CU0b92e6") — get it from opus_get_clips.

NameTypeReqDescription
collectionIdstringyes
contentIdstringyesFull clip id in the form `{projectId}.{curationId}`.

No output schema declared.

No examples provided.

opus_cancel_scheduled_post ~50

Cancel a scheduled social post BEFORE its publishAt time. After publishAt the post is irrevocably handed to the platform — cancellation is no longer possible.

NameTypeReqDescription
scheduleIdstringyes

No output schema declared.

No examples provided.

opus_create_censor_job ~126

Create a censor job that processes a specific clip and bleeps / mutes profanity. Returns a jobId. Poll opus_get_censor_job_status until status is "CONCLUDED" (success) or "FAILED". Set `options.beepSound: true` to substitute a beep for censored words; default is to mute them.

NameTypeReqDescription
clipIdstringyesClip ID to censor (the curation suffix, e.g. "CU67da38").
optionsobject
projectIdstringyesProject ID containing the clip to censor.

No output schema declared.

No examples provided.

opus_create_collection ~48

Create a new clip collection to organise your clips. Returns the new collectionId. Use opus_add_clip_to_collection to populate it.

NameTypeReqDescription
collectionNamestringyesDisplay name for the collection.

No output schema declared.

No examples provided.

opus_create_project ~311

Create a new OpusClip clipping project from a publicly importable long-form video URL. After this returns a projectId, poll opus_get_project to track stage progression (PENDING → QUEUED → IMPORT → CURATE → REFINE → RENDER → UPLOAD → COMPLETE). When complete, call opus_get_clips to retrieve the generated clips. For local files, use opus_upload_video instead — it handles upload-link generation, GCS resumable upload, and project creation in a single tool call.

NameTypeReqDescription
brandTemplateIdstringBrand template ID from opus_get_brand_templates (e.g. "preset-fancy-Karaoke")
conclusionActionsarray
curationPrefobjectCuration preferences. Use `model: "ClipBasic"` for talking-head videos with `topicKeywords`, or `model: "ClipAnything"` with `customPrompt` for any video type. Set `skipCurate: true` to upload withou…
importPrefobject
renderPrefobject
uploadedVideoAttrobject
videoUrlstringyesPublic URL of the source video (YouTube, Google Drive, Vimeo, Zoom, Rumble, Twitch, Facebook, LinkedIn, X, Dropbox, Riverside, Loom, Frame.io, StreamYard, or a public S3 MP4 link up to 10GB). For loc…

No output schema declared.

No examples provided.

opus_create_social_copy_job ~137

Create an asynchronous social-copy generation job. Opus produces a platform-specific title, description, and hashtags for a clip + destination account. Returns a jobId — poll opus_get_social_copy_job until status is "COMPLETED" or "FAILED".

NameTypeReqDescription
clipIdstringyes
forceRegeneratebooleanIf true, bypass the cached result for this clip/account pair.
postAccountIdstringyes
projectIdstringyes
promptstringOptional style or tone instruction (e.g. "playful and witty").
subAccountIdstringyes

No output schema declared.

No examples provided.

opus_delete_collection ~55

Delete a clip collection. IMPORTANT: only the collection container is deleted — the clips themselves are preserved and still accessible via opus_get_clips with `q: "findByProjectId"`.

NameTypeReqDescription
collectionIdstringyes

No output schema declared.

No examples provided.

opus_export_collection ~60

Export all clips from a collection. Returns a `contentList` of `{ contentId, uriForExport }` pairs — the uriForExport URLs are Google Cloud Storage download links for the clip MP4s.

NameTypeReqDescription
collectionIdstringyes

No output schema declared.

No examples provided.

opus_get_brand_templates ~116

List the OpusClip brand templates available to your organisation. Brand templates control captions, fonts, colours, intro/outro cards, and other styling. Use a brand_template_id from this response with opus_create_project or opus_upload_video. NOTE: The Opus API requires the `q` parameter to equal "mine" — calling the endpoint without it returns an empty body. The schema below makes the only legal value compile-time enforced.

NameTypeReqDescription
qstringRequired by Opus. Must be the literal string "mine".

No output schema declared.

No examples provided.

opus_get_censor_job_status ~128

Poll the status of an OpusClip censor job. Status values: "QUEUED" / "PROCESSING" (still running, poll again), "CONCLUDED" (success), "FAILED" (check error), "UNKNOWN" (Opus could not determine the state — surfaced as UPSTREAM_STATUS_UNKNOWN). The response includes `next_poll_after_seconds` honouring Retry-After when present.

NameTypeReqDescription
attemptintegerCurrent attempt number (used for exponential backoff when Retry-After is absent). Starts at 1.
jobIdstringyes

No output schema declared.

No examples provided.

opus_get_clips ~109

List the exportable clips for a given project or collection. Each clip has a full-clip id of the form `{projectId}.{curationId}`, plus preview/export URLs (`uriForPreview`, `uriForExport`) on Google Cloud Storage. Choose `q: "findByProjectId"` and pass `projectId`, OR `q: "findByCollectionId"` and pass `collectionId`. Pagination via `pageNum` (starts at 1) and `pageSize`.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opus_get_collections ~72

List your OpusClip collections. Use `q: "mine"` to list all collections on your account, or `q: "findByContentId"` (with `contentId` set to a full clip id like "{projectId}.{curationId}") to find which collections contain a specific clip.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opus_get_project ~87

Retrieve the current status and metadata of an OpusClip project. Check the `stage` field — when it reaches "COMPLETE" the clips are ready (use opus_get_clips). If `stage` is "STALLED" or `error` is set, the project has failed.

NameTypeReqDescription
projectIdstringyesThe OpusClip projectId returned by opus_create_project

No output schema declared.

No examples provided.

opus_get_social_accounts ~83

List the social accounts connected to your Opus organisation. Returns `postAccountId`, `subAccountId` (where applicable), `platform`, and the platform-side `extUser*` identifiers. Use these IDs with opus_publish_post, opus_schedule_post, and opus_create_social_copy_job.

NameTypeReqDescription
qstringMust be the literal string "mine".

No output schema declared.

No examples provided.

opus_get_social_copy_job ~78

Poll the status and result of a social-copy generation job. Status values: "RUNNING" (still generating), "COMPLETED" (returns title/description/hashtags), "FAILED". Includes `next_poll_after_seconds` honouring Retry-After.

NameTypeReqDescription
attemptinteger
jobIdstringyes

No output schema declared.

No examples provided.

opus_publish_post ~141

Publish a clip immediately to a connected social account. For X (formerly Twitter) each post costs 1 credit. Returns a `postId`. The clip is queued for upload by Opus to the destination platform.

NameTypeReqDescription
clipIdstringyesCuration ID (e.g. "CU67da38"), NOT the full clip id.
postAccountIdstringyesFrom opus_get_social_accounts.postAccountId
postDetailobjectyes
projectIdstringyes
subAccountIdstringRequired for Facebook pages, Instagram business accounts, and LinkedIn — from opus_get_social_accounts.subAccountId.

No output schema declared.

No examples provided.

opus_remove_clip_from_collection ~75

Remove a clip from a collection. IMPORTANT: Opus exposes this operation as a POST to /api/collection-contents/delete-collection-contents (NOT a DELETE). The clip itself is not deleted — only the collection membership is removed.

NameTypeReqDescription
collectionIdstringyes
contentIdstringyes

No output schema declared.

No examples provided.

opus_schedule_post ~206

Schedule a clip for future publishing. `publishAt` must be a future UTC ISO 8601 timestamp (e.g. "2026-06-01T16:00:00.000Z"). For X (formerly Twitter) each post costs 1 credit. Returns a `scheduleId` you can pass to opus_cancel_scheduled_post.

NameTypeReqDescription
clipIdstringyesCuration ID (e.g. "CU67da38"), NOT the full clip id.
postAccountIdstringyesFrom opus_get_social_accounts.postAccountId
postDetailobjectyes
projectIdstringyes
publishAtstringyesFuture publish time in UTC ISO 8601, e.g. "2026-06-01T16:00:00.000Z".
subAccountIdstringRequired for Facebook pages, Instagram business accounts, and LinkedIn — from opus_get_social_accounts.subAccountId.

No output schema declared.

No examples provided.

opus_share_project ~67

Update the sharing visibility of an OpusClip project. `DEFAULT`: team members can open / edit / export. `PUBLIC`: anyone with the link can open / edit / export.

NameTypeReqDescription
projectIdstringyes
visibilitystringyes"DEFAULT" or "PUBLIC"

No output schema declared.

No examples provided.

opus_upload_video ~260

Upload a local video file to OpusClip and create a clipping project in a single step. Orchestrates the 4-step Opus / Google Cloud Storage resumable upload: (1) request an upload link, (2) start a GCS resumable session, (3) PUT the video bytes (with automatic offset-query recovery on ambiguous failures), (4) create the project. Pass `file_path` as an absolute filesystem path. Optional `brandTemplateId`, `curationPref`, `renderPref`, `importPref`, `uploadedVideoAttr`, and `conclusionActions` are forwarded to `opus_create_project`. On retryable network failures the same `uploadId` is reused, so calling this tool twice in a row will NOT create two billable projects. Per-chunk upload timeout is OPUS_UPLOAD_TIMEOUT_MS (default 600s).

NameTypeReqDescription
brandTemplateIdstring
conclusionActionsarray
curationPrefobject
file_pathstringyesAbsolute path to a local video file (MP4 recommended, up to 10GB).
importPrefobject
renderPrefobject
uploadedVideoAttrobject

No output schema declared.

No examples provided.