Whisper MCP

From speech.To ready-made text.

Give your agent a link to a recording or video and get back the text with timestamps, an English translation, or an SRT/VTT subtitle file.

SRTVTTWhisper large-v3
The same Whisper Large model that Handy uses, up to two hours per file.
  • 7 MCP tools
  • Whisper large-v3
  • 3× faster than real time
  • Long jobs tracked

A recording link.And timed text.

  • Transcription in any language with automatic detection
  • Translation to English
  • SRT and VTT subtitles

The same Whisper Large model that Handy uses, up to two hours per file.

All your recordings,as text.

Runs on whisper.cpp on the server; long files are tracked with a job id.

Transcription

transcribe_url and transcribe_base64: text, language and timed segments.

Translation

translate_to_english translates speech directly into English.

Subtitles

subtitles returns a ready SRT or VTT file.

How it works.

  1. Connect an MCP client

    Use the service URL and your key.

  2. Give it a link

    “Transcribe this episode in Arabic”

  3. Get the text

    Long files return a job id you track with get_job.

Connect

Transport
Streamable HTTP
URL
https://whisper-mcp.marsaplatform.com/mcp
Authorization
Bearer YOUR_API_KEY

Every request needs Authorization: Bearer YOUR_API_KEY.

URLhttps://whisper-mcp.marsaplatform.com/mcp
Claude Code (CLI)
Terminal
claude mcp add --transport http whisper https://whisper-mcp.marsaplatform.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"
Cursor ~/.cursor/mcp.json
mcp.json
{
  "mcpServers": {
    "whisper": {
      "url": "https://whisper-mcp.marsaplatform.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
VS Code .vscode/mcp.json
mcp.json
{
  "servers": {
    "whisper": {
      "type": "http",
      "url": "https://whisper-mcp.marsaplatform.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:whisper-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "whisper-key",
      "description": "Whisper MCP API key",
      "password": true
    }
  ]
}

VS Code asks for the key once and stores it securely.

Claude Desktop claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "whisper": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://whisper-mcp.marsaplatform.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Claude Desktop reaches remote servers through mcp-remote, which needs Node.js. Restart the app after editing.

Quick test with curl
Terminal
curl -s -X POST https://whisper-mcp.marsaplatform.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'

With a valid key you get the initialize result. Without a key you get 401.

Tools

The original page states: “7 MCP tools”. The full list is generated from tools/list once a read key is configured for this site; until then any MCP client shows it after you connect.

FAQ

What is the difference between a read and a write key?

read covers status and jobs only; write adds transcription and translation.

Maximum length?

Up to two hours or 200 MB for a link, and 25 MB for an uploaded file.

How do I get a key?

Request an access key from the key request page (Arabic form).

401 Unauthorized

The real response for a request without a key:

HTTP/2 401 · application/json
WWW-Authenticate: Bearer

{"error": "unauthorized"}

Send the header exactly as Authorization: Bearer YOUR_API_KEY.