Skip to main content
Glama

VocaLingo MCP Server

Give your AI agent ears and a voice: transcribe and summarize any video or voice message, translate speech keeping the speaker's voice, read text aloud in your own cloned voice, add subtitles or dub a video. Results also land in your VocaLingo app.

MCP URL: https://nodejs.vocalingo.app/mcp (remote, Streamable HTTP β€” nothing to install)

Works with claude.ai, Claude Desktop, Claude Code, ChatGPT, Cursor, Windsurf, VS Code, OpenClaw, Hermes and any MCP client that supports remote servers.

What your agent can do

  • πŸ“ Watch videos for you β€” summary, key moments with timecodes, quotes, full transcript of a YouTube/TikTok/Instagram link or a file (summarize_media)

  • 🎧 Understand voice messages β€” speech β†’ text (speech_to_text)

  • 🌍 Translate speech in the same voice β€” a voice message in Spanish becomes the same voice speaking English (translate_audio)

  • πŸ—£οΈ Speak in your voice β€” the voices you saved in the app work right away, or save a new one; also OpenAI / ElevenLabs voices (list_voices, text_to_speech, save_voice)

  • ⬇️ Download a video or its mp3 from YouTube, TikTok, Instagram and more (download_media)

  • 🎭 Change the voice in a recording or video (change_voice)

  • πŸ–ΌοΈ Translate a photo of a menu, sign or document as an image (translate_image)

  • πŸ’¬ Subtitles, optionally translated (caption_video) and 🎬 dubbing with lip-sync (translate_video)

  • πŸ’³ Job status and account (check_job, get_account)

Full reference.

Related MCP server: Importly MCP Server

Install as a plugin

The plugin connects the server and adds skills: step-by-step recipes your agent follows for each task (summarize a video, transcribe a voice message, translate it in the same voice, speak in your voice, subtitles, dubbing, change a voice, translate an image). You sign in to VocaLingo in the browser on first use.

Claude Code

claude plugin install vocalingo --marketplace umakhanpro/vocalingo-mcp

Or inside a session: /plugin install vocalingo --marketplace umakhanpro/vocalingo-mcp. Then run /mcp, pick plugin:vocalingo:vocalingo and sign in.

Codex

codex plugin marketplace add umakhanpro/vocalingo-mcp

Then install vocalingo from the plugin list.

Gemini CLI

gemini extensions install https://github.com/umakhanpro/vocalingo-mcp

Cursor: in the Cursor Marketplace, or add the server by hand as shown below.

Skills only (any agent that supports Agent Skills):

npx skills add umakhanpro/vocalingo-mcp

Skills need the server connected: see the next section.

Connect

claude.ai, Claude Desktop, Claude mobile (sign in, no token)

  1. Open Add VocaLingo to Claude β€” the "Add custom connector" dialog opens with the name and URL filled in. Or add it by hand: Customize β†’ Connectors β†’ Add custom connector, URL https://nodejs.vocalingo.app/mcp.

  2. Click Add, then Connect.

  3. Sign in to VocaLingo: email code, Google, or a one-time code from the app (Settings β†’ AI agents (MCP) β†’ "Get a sign-in code" β€” handy if you signed up with Apple).

The connector then works in claude.ai, Claude Desktop and the Claude mobile apps.

ChatGPT (sign in, no token)

  1. Open chatgpt.com/plugins β†’ + β†’ Add custom MCP server (availability depends on your plan and workspace policy).

  2. Name VocaLingo, URL https://nodejs.vocalingo.app/mcp, authentication OAuth β†’ I understand and want to continue β†’ Create.

  3. Sign in to VocaLingo the same way as above.

No VocaLingo account yet? Install the app (vocalingo.app) and sign up with your email first.

Claude Code

claude mcp add --transport http vocalingo https://nodejs.vocalingo.app/mcp

Claude Code opens the browser to sign in. Prefer a token? Copy it from the app (Settings β†’ AI agents (MCP)) and add --header "Authorization: Bearer vlmcp_YOUR_TOKEN".

Cursor, Windsurf, VS Code and others

.cursor/mcp.json (or your client's MCP config):

{
  "mcpServers": {
    "vocalingo": {
      "url": "https://nodejs.vocalingo.app/mcp",
      "headers": { "Authorization": "Bearer vlmcp_YOUR_TOKEN" }
    }
  }
}

The token is in the app: Settings β†’ AI agents (MCP). More snippets (incl. Claude Desktop via mcp-remote with a token): configs/.

Try it

  • "Summarize this YouTube lecture in Russian: "

  • "Here's a voice message in German β€” translate it to English keeping the voice."

  • "Save my voice from this recording, then read this article aloud with it."

  • "Add English subtitles to this TikTok: "

  • "Download the audio of this YouTube video."

  • "Translate this menu photo into English."

  • "Dub this video into Spanish."

Files

How to send audio, video or a photo:

  1. A link β€” YouTube/TikTok/Instagram, a Telegram Bot API file link, any public file URL. Just paste it into the message.

  2. ChatGPT β€” attach the file to your message. ChatGPT hands it to the tool directly (the file parameter).

  3. claude.ai, Claude apps β€” ask Claude to upload a file. It calls get_upload_url, and an upload button appears right in the chat: pick the file, and the chat gets a message with its fileId so Claude continues on its own. No button? Claude gives you a link to an upload page instead β€” drop the file there and write "done".

  4. Agents with a shell (Claude Code, Cursor, OpenClaw) β€” just give the path. The agent calls get_upload_url, uploads with the returned curl command and passes the fileId.

Only need the text on a photo read or translated? Claude and ChatGPT can do that themselves β€” VocaLingo's translate_image is for getting the picture itself back with the text redrawn in another language.

Pricing and safety

Tools spend VocaLingo tokens from your balance, the same tokens as in the app. No separate API billing.

Operation

Approximate cost

Transcribe a voice message

~1 token per 2 min

Summarize a 10-min video

~8 tokens

Translate a 1-min voice message in the same voice

~2–3 tokens (+180 for languages outside en, ru, zh, de, fr, es, it, ja, ko, pt)

Voice 1000 characters in your voice

~11–12 tokens

Save a voice

~1 token

Translate a photo

4–6 tokens

Change the voice in a 1-min recording

~14 tokens

Download a video or audio

free

Subtitles for a 5-min video

~5–10 tokens

Dub a 5-min video

~1200 tokens

Built so that even a small model can't burn your balance:

  • Anything that costs 50+ tokens asks you first. The server returns the price and a one-time confirmToken; the job starts only when the agent repeats the call with it.

  • No double charges. Repeating the same paid request within 10 minutes returns the same job.

  • Long jobs don't need babysitting. Short ones come back finished in the same call; long ones return a jobId, and check_job waits on the server.

  • Errors say what to do next (code + nextStep), e.g. "this is a local path β€” upload it first".

Troubleshooting

  • A job stays processing. Normal for dubbing (5–30 min). Keep calling check_job with the same jobId. You can close the chat β€” results appear in the app history and in check_job without a jobId.

  • No upload button in Claude. Ask Claude for the upload page link and drop the file there. If Claude tries to upload from its code sandbox and gets a network error, allow sb.vocalingo.app once (Settings β†’ Capabilities β†’ Code execution β†’ Additional allowed domains).

  • insufficient_balance. Top up in the app (Profile β†’ Balance) and retry.

  • 429. Max 60 requests/min per account and 3 concurrent jobs.

Security

  • Sign-in connections and the personal token (vlmcp_…) can be turned off any time: Settings β†’ AI agents (MCP) β†’ Disable. Regenerating the token kills the old one within a minute.

  • Anyone with your token can spend your balance β€” keep it secret.

  • Only clone voices you own or have consent to use. Uploaded files are deleted after 48 hours.

Docs & support


The server lives in the VocaLingo backend (Node.js, @modelcontextprotocol/server v2, stateless Streamable HTTP; OAuth via Supabase Auth). This repository is the public home for docs, configs and issues.

Related MCP Connectors

Related MCP Servers