{"name":"app.lyricvideogenerator/lyric-video","slug":"lyricvideogenerator-lyric-video","title":"LyricVideoGenerator","description":"Turn a song and its lyrics into a word-synced lyric video, with three styles to choose from.","url":"https://mcp.market/server/lyricvideogenerator-lyric-video","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"media","tags":["media"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-22T10:52:38.000Z","license":null},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:51:06.394Z","last_ok_at":"2026-11-04T06:51:06.394Z","latency_ms":701},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Dearest/lyricvideogenerator-mcp","website":"https://lyricvideogenerator.app","version":"1.0.1","remotes":[{"type":"streamable-http","url":"https://lyricvideogenerator.app/api/mcp"}],"packages":[],"tools":[{"name":"begin_local_export","description":"Widget only: reserve a free 720p export to render in the browser.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"}},"required":["projectId"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"choose_style","description":"Applies one of the three proposed style options (1, 2 or 3) to the lyric video. Replaces any edits made to the current style.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"},"option":{"type":"integer","minimum":1,"maximum":3}},"required":["projectId","option"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"create_lyric_video","description":"Turns a song the user attached (MP3/WAV) into a word-synced lyric video and proposes three visual styles. Pass the lyrics if the user gave them; otherwise they are transcribed from the audio. Takes about 10–40 seconds. Creates a new project each call.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"audio":{"type":"object","properties":{"download_url":{"type":"string"},"file_id":{"type":"string"},"mime_type":{"type":"string"},"file_name":{"type":"string"}},"required":["download_url","file_id"],"description":"The song file the user attached"},"lyrics":{"description":"Full song lyrics, one line per sung line, if provided by the user","type":"string","maxLength":20000},"title":{"description":"Song title, if known","type":"string","maxLength":200}},"required":["audio"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"edit_lyrics","description":"Replaces the text of one lyric line (numbered from 1, as listed by get_lyric_video), keeping its timing. Use it to fix misheard or misspelled words.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"},"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["projectId","line","text"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"export_hd_video","description":"Renders the lyric video in 1080p without a watermark, as 16:9 (landscape) or 9:16 (vertical). Requires the user's LyricVideoGenerator account: it uses 1 credit from their plan (or is free if this song was already unlocked on the website). Credits are refunded if the render fails. Returns an exportId; the widget shows progress and the download link.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"},"aspect":{"default":"16:9","description":"16:9 for YouTube, 9:16 for TikTok / Reels / Shorts","type":"string","enum":["16:9","9:16"]}},"required":["projectId"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"export_video","description":"Free export: a 720p, 16:9 MP4 with a small watermark and a 2.5-second end card. It renders on the user's own computer inside the widget (about as long as the song), so this tool shows the widget and starts the export there; the user downloads the MP4 from the widget when it finishes. If their ChatGPT app can't render video, the widget offers to open the project in their browser instead.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"}},"required":["projectId"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"finish_local_export","description":"Widget only: complete a browser-rendered export after its upload, or fail it with an error.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"exportId":{"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)$"},"assetId":{"type":"string","minLength":1,"maxLength":64},"error":{"type":"string","maxLength":2000}},"required":["exportId"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_export","description":"Returns the status of a video export and, when finished, its MP4 download URL.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"exportId":{"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":"exportId of the export"}},"required":["exportId"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_lyric_video","description":"Returns a lyric video project's processing status, its three style options, the style now applied, and its numbered lyric lines.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"}},"required":["projectId"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"open_in_browser","description":"Widget only: a short-lived link that opens this project in the user's browser, where it can be exported.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"}},"required":["projectId"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"update_style","description":"Changes the look of the current lyric video style: layout, word animation, colors, font, text size, background, and chorus emphasis. Send only the fields to change. Colors are #RRGGBB. Unreadable color combinations and unknown fonts are corrected or rejected with a reason.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"projectId":{"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":"projectId returned by create_lyric_video"},"changes":{"type":"object","properties":{"name":{"description":"Rename the style","type":"string","minLength":1,"maxLength":60},"template":{"description":"Layout: focus = one big centered line; scroll = lyrics scroll with the current line highlighted; caption = subtitle-style lower-left; poster = giant left-aligned words filling the frame","type":"string","enum":["focus","scroll","caption","poster"]},"animation":{"description":"Word motion: word-highlight, karaoke (left-to-right fill), line-fade, word-pop, typewriter, word-kinetic (each word pops in on its beat), line-stack (lines push up)","type":"string","enum":["word-highlight","karaoke","line-fade","word-pop","typewriter","word-kinetic","line-stack"]},"palette":{"type":"object","properties":{"bg":{"description":"Background color","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"fg":{"description":"Lyric text color","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"accent":{"description":"Current word / emphasis color","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"muted":{"description":"Inactive lines color","type":"string","pattern":"^#[0-9a-fA-F]{6}$"}}},"font":{"description":"Any Google Fonts family name, e.g. \"Bebas Neue\"","type":"string","minLength":1,"maxLength":60},"fontWeight":{"anyOf":[{"type":"number","const":400},{"type":"number","const":500},{"type":"number","const":600},{"type":"number","const":700},{"type":"number","const":800},{"type":"number","const":900}]},"fontScale":{"description":"Text size multiplier, 1 = template default","type":"number","minimum":0.5,"maximum":2.5},"uppercase":{"type":"boolean"},"align":{"type":"string","enum":["left","center"]},"background":{"description":"solid = palette.bg; gradient = from→to; cover-blur = blurred song cover (only when the song has a cover)","type":"object","properties":{"kind":{"type":"string","enum":["solid","gradient","cover-blur"]},"from":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"to":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"angle":{"type":"number","minimum":0,"maximum":360}},"required":["kind"]},"showCoverBadge":{"type":"boolean"},"chorus":{"description":"Overrides applied only during choruses","type":"object","properties":{"scale":{"type":"number","minimum":0.5,"maximum":2.5},"accent":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"animation":{"type":"string","enum":["word-highlight","karaoke","line-fade","word-pop","typewriter","word-kinetic","line-stack"]}}}},"additionalProperties":false}},"required":["projectId","changes"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"upload_local_export","description":"Widget only: storage upload target for a browser-rendered MP4.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"exportId":{"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)$"},"bytes":{"type":"integer","exclusiveMinimum":0,"maximum":524288000}},"required":["exportId","bytes"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-10-25T09:24:21.769Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-25T09:24:21.751Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 809ms"]},"poisoning":{"score":15,"max":15,"notes":["12 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 3 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://lyricvideogenerator.app/api/mcp","reachable":true,"authRequired":false,"latencyMs":809,"serverInfo":{"name":"lyricvideogenerator","version":"0.1.0"}}],"packages":[],"repo":{"found":true,"owner":"Dearest","repo":"lyricvideogenerator-mcp","archived":false,"pushedAt":"2026-10-22T10:52:38Z","stars":0,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/7935414?v=4","ownerCreatedAt":"2014-06-19T16:08:39Z"},"icon":{"url":"https://lyricvideogenerator.app/apple-touch-icon.png?v=2","source":"site","width":180,"height":180},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":null,"lastPushAt":"2026-10-22T10:52:38.000Z","score":23}}}},"grade_history":[],"reviews":[]}