LyricVideoGenerator
by lyricvideogenerator.app · remote · no sign-in to list tools · v1.0.1 · published by app.lyricvideogenerator
Turn a song and its lyrics into a word-synced lyric video, with three styles to choose from.
12 tools: 1 can delete or cancel things, 1 do something that can't be undone, 8 change things and 2 only read.
Scanned Oct 22, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things8Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http lyric-video https://lyricvideogenerator.app/api/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnopen_in_browser
The server marks "open_in_browser" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_in_browser" says "open": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
12 tools
Deletes or cancels 1Claude Code: deny
export_hd_videoRenders the lyric video in 1080p without a watermark, as 16:9 (landscape) or 9:16 (vertical).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
Can't be undone 1Claude Code: ask
update_styleChanges the look of the current lyric video style: layout, word animation, colors, font, text size, background, and chorus emphasis.No findings
Why it is in this group
- The name "update_style" says "update": a word for a change.
- The input addresses people (input.changes.background.to): what it sends cannot be taken back.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
Changes things 8Claude Code: ask
begin_local_exportWidget only: reserve a free 720p export to render in the browser.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Widget only: reserve a free 720p export to render in the browser.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
choose_styleApplies one of the three proposed style options (1, 2 or 3) to the lyric video.No findings
Why it is in this group
- The description's first verb is "apply": a word for a change.
Description, as the server wrote it Applies one of the three proposed style options (1, 2 or 3) to the lyric video. Replaces any edits made to the current style.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
create_lyric_videoTurns a song the user attached (MP3/WAV) into a word-synced lyric video and proposes three visual styles.No findings
Why it is in this group
- The name "create_lyric_video" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
edit_lyricsReplaces the text of one lyric line (numbered from 1, as listed by get_lyric_video), keeping its timing.No findings
Why it is in this group
- The name "edit_lyrics" says "edit": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
export_videoFree export: a 720p, 16:9 MP4 with a small watermark and a 2.5-second end card.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
finish_local_exportWidget only: complete a browser-rendered export after its upload, or fail it with an error.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Widget only: complete a browser-rendered export after its upload, or fail it with an error.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
open_in_browserWidget only: a short-lived link that opens this project in the user's browser, where it can be exported.1 finding
Why it is in this group
- The name "open_in_browser" says "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "open_in_browser" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_in_browser" says "open": a word for a change.
Description, as the server wrote it Widget only: a short-lived link that opens this project in the user's browser, where it can be exported.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
upload_local_exportWidget only: storage upload target for a browser-rendered MP4.No findings
Why it is in this group
- The name "upload_local_export" says "upload": a word for a change.
Description, as the server wrote it Widget only: storage upload target for a browser-rendered MP4.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
Only reads 2Claude Code: allow
get_exportReturns the status of a video export and, when finished, its MP4 download URL.No findings
Why it is in this group
- The name "get_export" says "get": a word for reading.
Description, as the server wrote it Returns the status of a video export and, when finished, its MP4 download URL.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_lyric_videoReturns a lyric video project's processing status, its three style options, the style now applied, and its numbered lyric lines.No findings
Why it is in this group
- The name "get_lyric_video" says "get": a word for reading.
Description, as the server wrote it Returns a lyric video project's processing status, its three style options, the style now applied, and its numbered lyric lines.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http lyric-video https://lyricvideogenerator.app/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__lyric-video__get_lyric_video",
"mcp__lyric-video__get_export"
],
"ask": [
"mcp__lyric-video__create_lyric_video",
"mcp__lyric-video__choose_style",
"mcp__lyric-video__update_style",
"mcp__lyric-video__edit_lyrics",
"mcp__lyric-video__export_video",
"mcp__lyric-video__begin_local_export",
"mcp__lyric-video__upload_local_export",
"mcp__lyric-video__finish_local_export",
"mcp__lyric-video__open_in_browser"
],
"deny": [
"mcp__lyric-video__export_hd_video"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as lyric-video. Review it before you use it.