{"serverId":"mcp-registry/com.viddler/viddler-mcp","tools":[{"name":"viddler_access_remove_password","fixed":{"name":"viddler_access_remove_password","description":"Turn off password protection for a video. Reverts to the public playback id so the video plays without a password again.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["video_id"],"properties":{"video_id":{"type":"string","description":"Video id or uniqueId."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"viddler_access_set_custom_url","fixed":{"name":"viddler_access_set_custom_url","description":"Give a video a branded, human-friendly custom URL slug for sharing. Returns the updated video.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["video_id","custom_url"],"properties":{"video_id":{"type":"string","description":"Video id or uniqueId."},"custom_url":{"type":"string","minLength":1,"description":"The desired URL slug (must be unique)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"viddler_access_set_password","fixed":{"name":"viddler_access_set_password","description":"Gate a video behind a secret password. While protected, playback (including embeds) requires the password and Viddler swaps to a Mux signed-playback id. Returns the updated protection state.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["video_id","password"],"properties":{"password":{"type":"string","minLength":1,"description":"The secret password viewers must enter."},"video_id":{"type":"string","description":"Video id or uniqueId."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":160,"tokensAfter":160},{"name":"viddler_analytics_get_views","fixed":{"name":"viddler_analytics_get_views","description":"Return view counts and per-view records for a video: total views, remaining/available views, and the viewer log. The core 'who watched' proof-of-viewing data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["video_id"],"properties":{"video_id":{"type":"string","description":"Video id or uniqueId."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"viddler_feedback_submit","fixed":{"name":"viddler_feedback_submit","description":"File a feature request, bug report, or general feedback to the Viddler team from inside your MCP client. Goes into the same triage queue as the in-app feedback widget. Use category 'feature' for feature requests (the default intent), 'bug' for problems, 'general' otherwise.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["category","message"],"properties":{"message":{"type":"string","maxLength":2000,"minLength":1,"description":"The feedback text (1-2000 characters)."},"category":{"enum":["feature","bug","general"],"type":"string","description":"Type of feedback. Use 'feature' for feature requests."},"page_url":{"type":"string","maxLength":500,"description":"Optional: the video or page URL this feedback is about."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":237,"tokensAfter":237},{"name":"viddler_videos_create_upload","fixed":{"name":"viddler_videos_create_upload","description":"Step 1 of uploading a video. Returns { uploadId, uploadUrl }. PUT the raw video file bytes to uploadUrl (e.g. `curl -X PUT --upload-file video.mp4 '<uploadUrl>'` — no auth header needed, the URL is pre-signed). Then call viddler_videos_register with the uploadId to create the video record. Files must be at most 1 GB (1073741824 bytes). Free videos must be at most 10 minutes. Requires a videos:write token.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"title":{"type":"string","maxLength":200,"description":"Optional title to attach to the upload."},"file_size_bytes":{"type":"integer","maximum":1073741824,"description":"Source file byte count for preflight validation. Send when known; omission supports older clients.","exclusiveMinimum":0}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":246,"tokensAfter":246},{"name":"viddler_videos_get","fixed":{"name":"viddler_videos_get","description":"Fetch the full record for one video: status, playback id, duration, moderation, storage state, protection. Poll this after create_upload until muxPlaybackId is no longer 'pending'.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["video_id"],"properties":{"video_id":{"type":"string","description":"Video id or uniqueId."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124},{"name":"viddler_videos_list","fixed":{"name":"viddler_videos_list","description":"List videos owned by the authenticated account.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"viddler_videos_set_description","fixed":{"name":"viddler_videos_set_description","description":"Update a video's description.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["video_id","description"],"properties":{"video_id":{"type":"string","description":"Video id or uniqueId."},"description":{"type":"string","description":"New description."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"viddler_videos_set_title","fixed":{"name":"viddler_videos_set_title","description":"Update a video's title.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["video_id","title"],"properties":{"title":{"type":"string","minLength":1,"description":"New title."},"video_id":{"type":"string","description":"Video id or uniqueId."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103}],"toolsChanged":10,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}