clipform_upload_media_asset
ActiveTool of io.github.Clipform/mcp-server
Put one or more media files into your workspace media library (max 10, uploaded sequentially). This is step one of attaching media to a node - follow up with clipform_attach_node_media to place the returned media_asset_id on a node. When a public URL is provided, the media is fetched and stored automatically. For video: ingested via Mux. For image: stored in Supabase. Captions from clipform_generate_tts enable per-word highlighting in the viewer once attached.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"media_type"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public URL of the media file. When provided, the server fetches and stores it directly."
},
"captions": {
"type": "array",
"items": {
"type": "object",
"required": [
"start",
"end",
"text"
],
"properties": {
"end": {
"type": "number",
"description": "Segment end time in seconds"
},
"text": {
"type": "string",
"description": "Full segment text"
},
"start": {
"type": "number",
"description": "Segment start time in seconds"
},
"words": {
"type": "array",
"items": {
"type": "object",
"required": [
"word",
"start",
"end"
],
"properties": {
"end": {
"type": "number"
},
"word": {
"type": "string"
},
"start": {
"type": "number"
}
},
"additionalProperties": false
},
"description": "Per-word timestamps within the segment"
}
},
"additionalProperties": false
},
"description": "Word-level captions from clipform_generate_tts. Required for per-word highlighting - pass the full objects including 'words' arrays."
},
"media_type": {
"enum": [
"video",
"still"
],
"type": "string",
"description": "Type of media"
},
"ai_generated": {
"type": "boolean",
"description": "Whether this media was AI-generated. Drives the viewer's disclosure chip - set true for AI-rendered/synthesized media."
},
"media_source": {
"enum": [
"uploaded",
"recorded"
],
"type": "string",
"default": "uploaded",
"description": "How the media was created"
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "One or more media items to create as workspace library assets"
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
io.github.Clipform/mcp-server
https://github.com/clipform/mcp-server
1/7 registries