Weftly
Qué hace este MCP
Transcribes and summarizes audio or video, identifies and extracts clips in horizontal or vertical formats, and supports YouTube publishing.
Herramientas
Esquema de entrada
{'type': 'object', 'properties': {'clips': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'number', 'minimum': 0}, 'start': {'type': 'number', 'minimum': 0}, 'title': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'output': {'enum': ['files', 'reel'], 'type': 'string'}, 'profile': {'enum': ['tiktok-primary', 'tiktok-primary-720p', 'instagram-reels', 'instagram-stories'], 'type': 'string'}, 'subject': {'enum': ['center', 'manual', 'auto', 'subject_id', 'follow'], 'type': 'string'}, 'captions': {'type': 'boolean'}, 'orientation': {'enum': ['vertical', 'horizontal'], 'type': 'string'}, 'source_job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'include_transcript': {'type': 'boolean'}, 'payment_credential': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['job_type'], 'properties': {'query': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'captions': {'type': 'boolean'}, 'filename': {'type': 'string'}, 'job_type': {'enum': ['clips_from_video', 'clips_youtube'], 'type': 'string'}, 'thread_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'orientation': {'enum': ['vertical', 'horizontal'], 'type': 'string'}, 'content_type': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'The job_id returned from a previous transcribe or summarize call.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'edited_transcript': {'type': 'string', 'minLength': 1}, 'payment_credential': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'query': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Optional. Switches the analyzer from "best clips" discovery mode to query mode — finds segments matching this content (e.g., "they discuss pricing", "the part about hiring"). Same output shape either way; the `mode` field in clip-candidates.json tells consumers how to interpret per-candidate scoring.'}, 'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Job ID returned from a previous call. Include along with payment_credential to confirm payment and receive the presigned upload URL. Also include alone to recover the current challenge/state if the original response was lost.'}, 'filename': {'type': 'string', 'description': 'Filename with extension (e.g. "podcast.mp3"). Required on the first call — used to infer media type (audio vs video) and label outputs. Supported extensions: mp3, wav, m4a, ogg, flac, mp4, mov, webm, mkv.'}, 'payment_credential': {'type': 'string', 'description': 'MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include with job_id to verify payment and receive the upload URL.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['job_id'], 'properties': {'format': {'enum': ['srt', 'txt', 'vtt', 'json', 'words', 'edit'], 'type': 'string', 'description': 'When the job is completed, return the transcript inline in this format instead of only a download URL. Options: "srt" (SubRip with timestamps), "txt" (plain text — no timestamps), "vtt" (WebVTT), "json" (v1, segments only), "words" (v2, segments + per-word timestamps matching /.well-known/weftly-transcript-v2.schema.json), "edit" (plain text, one "[NNNN] words..." line per paragraph — edit it and send it to edit_from_transcript to cut a re-timed video from it). Omit for download URLs only.'}, 'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'The job_id returned from a previous transcribe or summarize call.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'payment_credential': {'type': 'string', 'description': 'MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include to verify payment and receive {paid: true}. Omit on the first call.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Job ID returned from a previous call. Include along with payment_credential to confirm payment and receive the presigned upload URL. Also include alone to recover the current challenge/state if the original response was lost.'}, 'filename': {'type': 'string', 'description': 'Filename with extension (e.g. "podcast.mp3"). Required on the first call — used to infer media type (audio vs video) and label outputs. Supported extensions: mp3, wav, m4a, ogg, flac, mp4, mov, webm, mkv.'}, 'payment_credential': {'type': 'string', 'description': 'MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include with job_id to verify payment and receive the upload URL.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Job ID returned from a previous call. Include along with payment_credential to confirm payment and receive the presigned upload URL. Also include alone to recover the current challenge/state if the original response was lost.'}, 'filename': {'type': 'string', 'description': 'Filename with extension (e.g. "podcast.mp3"). Required on the first call — used to infer media type (audio vs video) and label outputs. Supported extensions: mp3, wav, m4a, ogg, flac, mp4, mov, webm, mkv.'}, 'payment_credential': {'type': 'string', 'description': 'MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include with job_id to verify payment and receive the upload URL.'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
Social Fetch
Retrieves public content and metadata from social networks, music services, Facebook Marketplace, events, profiles, posts, commen…
Tinder Bio
Provides routed research and content utilities under a dating-profile-oriented server; no dedicated Tinder publishing or profile-…
Linkedin Humblebrag
Generates humorous, self-deprecating LinkedIn posts from user-provided achievements.
YouTube
Searches and retrieves YouTube videos, channels, playlists, comments, feeds, trends, and related media, with tools for channel co…
social-media-video-downloader
Retrieves profiles, posts, videos, comments, playlists, metadata, and downloadable media details from Facebook, Instagram, TikTok…
TopTik — TikTok data
Provides TikTok creator, video, hashtag, sound, live-stream, comment, transcript, place, and discovery data.
VerseWorks
Supports collaborative AI fiction through novel and chapter creation, full-text search, comments, ratings, continuity cards, and …
youtube
Provides YouTube search, channel, playlist, video, community, comments, trending, and related-content data, plus channel video pu…