The title clearly communicates the tool’s action and subject. Keep it concise.
Description73/100
Read a File or node subtree as XML with its ETag. Omit nodeId for the whole File. Optional depth limits descendants; collapsed nodes preserve their hidden content when written back.
Describe the returned information so the agent knows whether it will answer the request.
Inputs83/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
fileId
The File's ID.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
depth
Levels of descendants to include; deeper nodes are collapsed. Omit for all.
Clear enough to supply this argument.
nodeId
Read this node's subtree. Omit for the whole File.
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Create or update one node subtree in a File. Supply a section, composition, graphic, image, or video XML element. An existing root id updates that subtree; omitted descendants are removed unless collapsed. Without a root id, create under parentId or the File root. parentId applies only to creation. Each File is one canvas; page elements are not supported. Updates require ifMatch from read_xml for the same root node; on a precondition failure, read again and reapply your edits. Whole-File XML and asset uploads are not accepted. Supply a new mutationId UUID for each edit; after a lost response, retry with the same mutationId so the edit applies at most once. Returns the node ID, or a precondition failure or validation diagnostics without changing the File.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs95/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
fileId
The File's ID.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
xml
One section, composition, graphic, image, or video element with its descendants.
Clear enough to supply this argument.
ifMatch
For updates, use the ETag returned by read_xml for this exact subtree.
Clear enough to supply this argument.
parentId
The section or composition to create the node in; null or omitted creates it at the File root. Ignored for updates.
Clear enough to supply this argument.
mutationId
A new UUID for this edit. Reuse it only to retry the same edit after a lost response; the File applies it at most once.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description86/100
List the File's File Assets, separately from node XML. Each hash is the SHA-256 of the Asset's bytes; use the exact returned hash as an image or video `asset` attribute or a Graphic asset input's `ref`.
Describe the returned information so the agent knows whether it will answer the request.
Inputs75/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
fileId
The File's ID.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Start an Upload of bytes from their SHA-256 hash, MIME type, and size; the File is chosen when you call create_assets. Stewdio reads the kind, width, height, and duration from the bytes. With status "upload", PUT the bytes to upload.url with upload.headers, then call create_assets with source { uploadId }. With status "existing", a File you can read already has these bytes as an Asset: call create_assets with the returned source instead of uploading. If an Upload expires or fails, call this again.
The description explains the capability, when to use it, and what to expect.
Inputs67/100
2 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
hash
The SHA-256 of the bytes, in lowercase hex.
Clear enough to supply this argument.
mime
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Add File Assets to a File from completed Uploads ({ uploadId }) or from File Assets in Files you can read ({ fileId, hash }). Items are added together and results follow input order. Uploaded bytes are validated first. An Asset has the same hash in every File, so copied nodes need no changes. If the File already has the Asset, its existing File Asset is returned, so retrying the same input is safe. Place nodes only after this succeeds.
Describe the returned information so the agent knows whether it will answer the request.
Inputs85/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
fileId
The File's ID.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
items › items › source › anyOf › 0 › uploadId
A completed Upload from create_asset_upload.
Clear enough to supply this argument.
items › items › source › anyOf › 1 › fileId
The File's ID.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
items › items › source › anyOf › 1 › hash
The File Asset's hash: the SHA-256 of its bytes.
Clear enough to supply this argument.
items › items › name
The new File Asset's name. Defaults to the source File Asset's name, or "Imported asset" for an Upload.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Stewdio setup, tools, quality score, publishing readiness, and alternatives.
How do I add Stewdio to Claude, ChatGPT, or Cursor?
Add Stewdio to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://mcp.stewdio.ai/mcp.
Is Stewdio MCP ready for ChatGPT and Claude?
As of October 30, 2026, Stewdio scores 100/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and meets Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is Stewdio's MCP tool documentation?
As of October 30, 2026, Stewdio scores 86/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 9 of 9 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to Stewdio?
As of October 30, 2026, alternatives to Stewdio in design-creative on the Manufact MCP leaderboard include Dayfaro, MotionVid, Reel Breakdown, VideoGen, and Image Generation.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.