klangzeile
Menu

For AI agents (MCP)

klangzeile as tools for Claude, Cursor, VS Code and every other MCP client: same API key, same prices, same free allowance as the REST API.

§ 1

Endpoint and key

≈ 30 s
https://klangzeile.com/mcp

Remote MCP over Streamable HTTP. Authentication is your API key as Authorization: Bearer sk_live_… (or X-API-Key: sk_live_…). No key yet? Create an account and press Create key in the dashboard — the free allowance needs no payment details.

§ 2

Connect your client

≈ 1 min

Claude Code

claude mcp add --transport http klangzeile https://klangzeile.com/mcp \
  --header "Authorization: Bearer $KEY"

Claude Desktop

In claude_desktop_config.json (Settings → Developer → Edit config), via the mcp-remote bridge (needs Node.js):

{
  "mcpServers": {
    "klangzeile": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://klangzeile.com/mcp", "--header", "Authorization:${AUTH}"],
      "env": { "AUTH": "Bearer sk_live_…" }
    }
  }
}

Cursor

~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

{
  "mcpServers": {
    "klangzeile": {
      "url": "https://klangzeile.com/mcp",
      "headers": { "Authorization": "Bearer sk_live_…" }
    }
  }
}

VS Code

.vscode/mcp.json — VS Code asks for the key once and stores it encrypted:

{
  "inputs": [{ "type": "promptString", "id": "klangzeile-key",
               "description": "klangzeile API key", "password": true }],
  "servers": {
    "klangzeile": {
      "type": "http",
      "url": "https://klangzeile.com/mcp",
      "headers": { "Authorization": "Bearer ${input:klangzeile-key}" }
    }
  }
}

Other clients

Any client that speaks Streamable HTTP and can send a header works. The server is stateless (no session id, JSON responses, no SSE stream) and negotiates protocol versions 2024-11-05 to 2026-07-28. By hand:

curl https://klangzeile.com/mcp \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
§ 3

Tools

list_voicesThe voices (id, language). Free.
synthesize_speechText → MP3/WAV/OGG, returned in the response (base64). Per character.
create_transcriptionStart a job from a public https URL or a base64 file (≤ 10 MB); speakers, summary, subtitles, translation. Per started minute.
get_transcription_statusStatus and progress; never consumes the result. Free.
get_transcription_resultJSON, SRT or VTT - delivered once, then deleted.
get_creditCredit, free allowance left, prices. Free.

Results come back inside the tool response: audio as an audio item (base64), subtitles as an embedded text resource, transcripts as JSON. Nothing is kept for later pickup; a result over ~6 MB is refused with RESPONSE_TOO_LARGE (not billed, not consumed) — fetch that one with the REST API. audio_url must be a public https address (port 443); private and internal addresses are refused (AUDIO_URL_REJECTED), unreachable ones answer AUDIO_URL_UNREACHABLE. A transcript is kept encrypted until it is fetched (24 h at most) and delivered once: get_transcription_status never consumes it, get_transcription_result does. Pass an idempotency_key to create_transcription: a retry after a timeout returns the same job.

§ 4

Costs, limits, errors

Every tool call runs through the same code as the REST API: the monthly free allowance first, then prepaid credit; when both are used up the tool answers CREDIT_EXHAUSTED with a top-up link — nothing beyond your credit is ever billed. Each tool call counts against your key's rate limit like one API request; listing tools does not. Billable tools accept an optional idempotency_key: a retry with the same key and input is billed once (run again, nothing stored but a hash; up to 3 retries within an hour, then IDEMPOTENCY_KEY_EXHAUSTED). Errors come back as MCP tool errors with the same error_code as the API (table in the quickstart). Usage shows up in the dashboard like any other request.

Machine-readable: OpenAPI · MCP server card · llms.txt · API reference