Skip to content

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.

Deletes · 1Final · 1Changes · 8

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

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/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "open_in_browser" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_in_browser" says "open": a word for a change.

    What this check looks for

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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_in_browser" says "open": a word for a change.

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.