Skip to main content
Glama
gpt-img-2
by gpt-img-2

OpenSora 2 Prompt MCP

A deterministic, read-only MCP server for designing video prompts and shot plans. It complements the independent resources at OpenSora2.com and does not generate videos, call model providers, access accounts, or spend credits.

Tools

  • build_video_prompt turns a rough idea into a structured prompt pack.

  • plan_shots creates a timed 1–6 shot sequence with continuity anchors.

  • diagnose_prompt finds missing motion, camera, lighting, and continuity controls.

  • get_resources returns canonical OpenSora2.com guides and workflow pages.

All tools are deterministic and declare read-only MCP annotations. No API key is required.

Related MCP server: Enhanced Multimedia Analysis MCP

Install

Run directly from GitHub:

{
  "mcpServers": {
    "opensora2": {
      "command": "npx",
      "args": ["-y", "github:gpt-img-2/opensora2-prompt-mcp"]
    }
  }
}

Or clone and run locally:

pnpm install
pnpm build
node dist/index.js

Optional environment variable:

  • OPENSORA2_APP_BASE_URL: changes the resource-link origin. Defaults to https://opensora2.com.

Example inputs

Build a prompt:

{
  "idea": "A red ceramic teapot steams on a rain-streaked cafe window",
  "workflow": "image-to-video",
  "camera": "slow 10 cm push-in",
  "motion": "steam curls upward while raindrops slide down the glass",
  "referenceConstraints": "teapot silhouette, glaze pattern, and window composition"
}

Plan shots:

{
  "idea": "A trail shoe crosses wet rock and lands in a shallow stream",
  "shotCount": 3,
  "totalDurationSeconds": 9,
  "continuityAnchor": "shoe color, laces, runner wardrobe, and travel direction"
}

OpenClaw Skill

The companion Skill is in openclaw/opensora-video-prompt-architect. It works as a text-only workflow without this MCP; connecting the MCP adds deterministic prompt-building and diagnostic tools.

Development

pnpm validate
pnpm test:smoke

This project is an independent prompt-design utility and is not the official Open-Sora project or an official model implementation.

License

MIT

Available Tools

4 tools
build_video_promptBuild an OpenSora video promptB
Read-onlyIdempotent

Turn a rough video idea into a deterministic prompt pack with motion, camera, lighting, continuity constraints, and revision moves. This does not generate video.

ParametersJSON Schema
NameRequiredDescriptionDefault
ideaYes
styleNo
cameraNo
motionNo
lightingNo
workflowNotext-to-video
aspectRatioNo16:9
durationSecondsNo
negativeConstraintsNo
referenceConstraintsNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive characteristics. The description adds useful behavioral context beyond these: the output is 'deterministic,' includes specific components like 'continuity constraints' and 'revision moves,' and the tool explicitly does not generate video. This adds meaningful behavioral transparency without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The main action and output type are front-loaded, and the non-goal ('This does not generate video') is placed second as a useful clarification. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 10 parameters, no output schema, and 0% schema description coverage, the description is too thin to fully guide correct invocation. It communicates the high-level purpose and a single exclusion, but omits details about workflow modes, output format, how the prompt pack is returned, and the semantics of most parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It references motion, camera, lighting, continuity constraints, and revision moves, which loosely map to several parameters, but it does not explain idea, style, workflow, aspectRatio, durationSeconds, negativeConstraints, or referenceConstraints. The coverage is too partial for a 10-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Turn a rough video idea into a deterministic prompt pack' and lists concrete output dimensions (motion, camera, lighting, continuity constraints, revision moves). It clearly distinguishes the tool from video generation ('This does not generate video'), but does not explicitly differentiate it from the sibling tools plan_shots, diagnose_prompt, or get_resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('turn a rough video idea into a prompt pack') but provides no explicit guidance on when to choose this tool over the listed siblings. The negative statement 'This does not generate video' offers some exclusion information, but there is no when-to-use or when-not-to-use guidance relative to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnose_promptDiagnose a video promptA
Read-onlyIdempotent

Check whether a video prompt contains a readable scene, visible motion, camera direction, lighting, and continuity controls. Returns focused revision suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context by specifying that it returns revision suggestions rather than modifying anything or producing a full video prompt. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no filler. The main purpose is front-loaded, and the output behavior is stated in the second sentence. Every clause adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only diagnostic tool with one string parameter, the description is complete: it explains what the prompt is checked for and what the tool returns. Annotations cover side effects, and the lack of an output schema is partially mitigated by explicitly stating the return type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It effectively identifies the single parameter as the video prompt to be diagnosed and adds meaning by listing the diagnostic dimensions. Though it does not give format examples or detailed param guidance, the one-parameter schema makes this sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check whether') with a clear resource ('a video prompt') and enumerates the exact criteria evaluated: readable scene, visible motion, camera direction, lighting, and continuity controls. It also states the output type ('focused revision suggestions'), which distinguishes it from sibling tools like build_video_prompt or plan_shots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use the tool: when an existing video prompt needs quality assessment against production criteria. It does not explicitly name alternatives or exclusion conditions, but the diagnostic framing makes the intended context obvious, especially alongside sibling tools with build/plan/resource focuses.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_resourcesGet OpenSora 2 resourcesA
Read-onlyIdempotent

Return canonical OpenSora2.com prompt, workflow, technical, or safety resources. Does not fetch external content.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoall

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds a meaningful behavioral boundary—'Does not fetch external content'—which tells the agent this is a local/canonical lookup rather than a web fetch. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the main purpose and then adds a critical constraint. There is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one optional parameter, rich annotations, and no output schema, the description is nearly complete for a simple lookup tool. It covers what is returned, the domain, and a key behavioral limitation; it only lacks more explicit guidance about when to invoke it relative to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description compensates by listing the exact resource categories that map to the topic enum values (prompt, workflow, technical, safety). It does not explicitly name the 'topic' parameter or explain 'all', but the enum is simple and self-documenting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Return') and names the exact resource set: canonical OpenSora2.com prompt, workflow, technical, and safety resources. This clearly distinguishes it from the sibling tools, which are about building prompts, planning shots, and diagnosing prompts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: whenever an agent needs canonical OpenSora2 resources. However, it does not explicitly state when to prefer this tool over the siblings or provide exclusion conditions beyond the note that it does not fetch external content.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_shotsPlan a video shot sequenceA
Read-onlyIdempotent

Break one video idea into 1 to 6 timed shots with purpose, camera direction, and continuity anchors. Read-only and deterministic.

ParametersJSON Schema
NameRequiredDescriptionDefault
ideaYes
shotCountNo
cameraStyleNo
continuityAnchorNo
totalDurationSecondsNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, and the description reinforces these with 'Read-only and deterministic.' The deterministic guarantee adds slight value beyond the idempotentHint annotation by promising identical output for identical input, though no further behavioral context is added.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one compact sentence plus a short safety phrase, with the core purpose front-loaded. There is no filler or redundant structural overhead.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description hints at the output shape (timed shots with purpose, camera direction, and continuity anchors) but does not state the response format or enumerate how each input parameter affects the result. The safety profile is covered by annotations, so the remaining gaps are mostly around invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description does some compensating work: '1 to 6' conveys shotCount's range, 'camera direction' maps to cameraStyle, 'continuity anchors' maps to continuityAnchor, and 'timed' implies totalDurationSeconds. However, it never explicitly ties these phrases to parameter names or explains idea's role, duration distribution, or formatting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise action ('Break one video idea into 1 to 6 timed shots') and names the output fields (purpose, camera direction, continuity anchors). This clearly identifies the tool as a shot-planning operation and separates it from siblings like build_video_prompt or get_resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is provided. The description never references alternatives or prerequisites, so an agent must infer the appropriate invocation context solely from the tool's name and purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedbuild_video_prompt
    • First observeddiagnose_prompt
    • First observedget_resources
    • First observedplan_shots

TDQS

A4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool addresses a distinct phase of the video prompt workflow: fetching reference resources, constructing a prompt, breaking ideas into shots, and diagnosing prompt quality. There is no overlap in purpose, making selection unambiguous.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: get_resources, build_video_prompt, plan_shots, diagnose_prompt. This uniform structure makes it easy to predict tool functions.

Tool Count5/5

Four tools is a well-scoped set for a focused video prompt crafting server. Each tool is essential to the core workflow and avoids unnecessary bloat.

Completeness4/5

The server covers the main lifecycle of prompt creation: resource lookup, prompt building, shot planning, and diagnosis. Minor gaps exist (e.g., no explicit revision application tool), but agents can apply suggested changes manually, so the surface is largely complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers