Agenten mit MultiVoice MCP verbinden

Agenten melden sich nicht selbst an. MCP-URL konfigurieren; ein Mensch schließt den Browser-OAuth ab.

Bezahlte Aktionen erfordern immer ein serverseitig ausgestelltes Angebot und confirmation_handle. Der Agent muss dem Menschen die Summe vor execute_create zeigen.

MCP-URL

https://db.multivoice.ai/mcp

Was Sie über MCP bestellen können

  • Klassisches Hörbuch order_type_id 1 — Professionelles Hörbuch mit mehrstimmiger KI-Vertonung auf Russisch, Deutsch, Englisch, Französisch oder Lettisch. Ergebnis: Audio pro Kapitel.
  • Untertitel order_type_id 4 — Automatische Untertitel aus Audio oder Video. language_from nur aus get_create_options languages[]: af am ar as az ba be bg bn bo br bs ca cs cy da de el en es et eu fa fi fo fr gl gu ha he hi hr ht hu hy id is it ja jv ka kk km kn ko la lb ln lo lt lv mg mi mk ml mn mr ms mt my nb ne nl nn no oc pa pl ps pt ro ru sa sd si sk sl sn so sq sr su sv sw ta te tg th tk tl tr tt uk ur uz vi yi yo zh. Andere ISO-Codes (sm, zu, …) werden als invalid_create_payload abgelehnt. Wenn die Erkennung fertig ist (Status 3/3), sechs Originalspur-Dateien per get_artifacts / prepare_download: einfach, nach Sprechern und vollständig × SRT und VTT (artifact_type_id 115–120).
  • Transkription order_type_id 5 — Transkription von Telefonaten, Vorlesungen, Meetings und Webinaren. Derselbe language_from-Katalog wie bei Untertiteln: af am ar as az ba be bg bn bo br bs ca cs cy da de el en es et eu fa fi fo fr gl gu ha he hi hr ht hu hy id is it ja jv ka kk km kn ko la lb ln lo lt lv mg mi mk ml mn mr ms mt my nb ne nl nn no oc pa pl ps pt ro ru sa sd si sk sl sn so sq sr su sv sw ta te tg th tk tl tr tt uk ur uz vi yi yo zh.
  • Synchronisation order_type_id 7 — Synchronisiertes Audio oder Video. language_from (Sprache im Film) muss einer dieser Codes sein: af am ar as az ba be bg bn bo br bs ca cs cy da de el en es et eu fa fi fo fr gl gu ha he hi hr ht hu hy id is it ja jv ka kk km kn ko la lb ln lo lt lv mg mi mk ml mn mr ms mt my nb ne nl nn no oc pa pl ps pt ro ru sa sd si sk sl sn so sq sr su sv sw ta te tg th tk tl tr tt uk ur uz vi yi yo zh. languages_to nur de en fr lv ru (Deutsch, Englisch, Französisch, Lettisch, Russisch).

Untertitel und Synchronisation gibt es in zwei Modi: vollautomatisch ohne menschliche Prüfung (human_check weglassen oder "self"; schneller und günstiger) oder von Muttersprachlern geprüft (human_check = Ausgangssprache, human_translation_check = Zielsprachen; teurer und länger). Der Agent muss den Menschen nach dem Modus fragen; der Preis steht im Angebot.

Download — Typ-4-Untertitel

Wenn die Spracherkennung fertig ist (Status 3, Unterstatus 3): Dateien mit orders.get_artifacts listen, dann Kurz-URL mit orders.prepare_download (Scope artifacts:download). Nur Originalspur; leere Cues und SyntOriginal entfallen. HTTP Range wird nicht unterstützt.

  • 115 export_srt_simple — SRT einfach
  • 116 export_vtt_simple — VTT einfach
  • 117 export_srt_speaker — SRT nach Sprechern
  • 118 export_vtt_speaker — VTT nach Sprechern
  • 119 export_srt_full — SRT vollständig (Sprecher, Geschlecht, Rolle)
  • 120 export_vtt_full — VTT vollständig (Sprecher, Geschlecht, Rolle)

Beispielanfragen eines Menschen

  • «Erstelle aus meinem Buch ein mehrstimmiges Hörbuch auf Deutsch und schick mir die Kapitel.»
  • «Lade einfache, sprecherbezogene und vollständige SRT/VTT für meinen fertigen Untertitelauftrag herunter.»
  • «Transkribiere diese Webinar-Aufnahme von Google Drive.»
  • «Transkribiere diese lokale MPEG-/Audiodatei vom Computer. Zeig mir zuerst den Preis.»
  • «Synchronisiere dieses Video auf Englisch und Französisch mit Muttersprachler-Prüfung. Zeig mir zuerst den Preis.»

Kanonische Parameter

Config namemultivoice
MCP URLhttps://db.multivoice.ai/mcp
TransportNo standalone GET stream. MCP requests use POST; responses may be JSON or SSE-framed according to negotiated protocol/client
GET /mcpGET /mcp returns 405 with Allow: POST — expected
Resourcehttps://db.multivoice.ai/mcp
Issuerhttps://db.multivoice.ai
PRMhttps://db.multivoice.ai/.well-known/oauth-protected-resource/mcp
AS metadatahttps://db.multivoice.ai/.well-known/oauth-authorization-server
Authorizehttps://db.multivoice.ai/oauth/authorize
Tokenhttps://db.multivoice.ai/oauth/token
RegisterCIMD primary; DCR fallback at https://db.multivoice.ai/oauth/register
AuthOAuth 2.1 Authorization Code + PKCE S256, public client
MCP revisions2025-11-25 (initialize negotiation), 2026-07-28 (per-request revision, validated). Streamable HTTP, Stateless.
Quote TTL5 minutes; confirmation_handle from prepare_create
Sellable via MCPOrder types 1 (classic audiobook), 4 (subtitles), 5 (transcription), 7 (dubbing). Types 2 and 3 are closed via MCP.

Cursor

  1. Settings → MCP → Add HTTP server.
  2. URL: https://db.multivoice.ai/mcp, name: multivoice.
  3. Or project .cursor/mcp.json:
{
  "mcpServers": {
    "multivoice": {
      "url": "https://db.multivoice.ai/mcp"
    }
  }
}

Connect → browser OAuth (human login). Do not put API keys or JWTs in JSON. First smoke: multivoice.account.get.

Codex

codex mcp add multivoice --url https://db.multivoice.ai/mcp
codex mcp login multivoice

Regeln für Agenten

  • GET auf /mcp nicht als Transport nutzen (405 ist normal). POST-Antworten können JSON oder SSE sein.
  • Keine stdio/npx-Wrapper starten. Keine LLM-/Synthese-Server statt MCP aufrufen.
  • Nur die URL in die Client-Konfiguration schreiben. Keine Tokens, Passwörter, CLIENT_API_KEY.
  • Anhalten und den Menschen um Connect / codex mcp login bitten.
  • Nur Auftragstypen 1, 4, 5 und 7 verkaufen. Typen 2 und 3 sind über MCP geschlossen.
  • Bestellungen: orders.get_create_options → URL: sources.inspect; lokale Datei: sources.prepare_upload (Name + Größe + Dauer, kein Pfad) → orders.prepare_create → Summe dem Menschen zeigen → orders.execute_create mit quote_id, confirmation_handle und neuer operation_id. Für lokale Dateien nach execute 10-MiB-MD5-Chunks nach /mcp-uploads laden (uploads:write kommt automatisch mit orders:create), dann uploads.get_status. Wiederholung mit derselben operation_id erzeugt keine zweite Belastung.
  • Typ-4-Untertitel per orders.get_artifacts, dann orders.prepare_download. Sechs Originalspur-Dateien: 115 SRT einfach, 116 VTT einfach, 117 SRT Sprecher, 118 VTT Sprecher, 119 SRT vollständig, 120 VTT vollständig. Bereit bei Erkennungsstatus 3/3. Übersetzte Spuren sind nicht in diesem Katalog.
  • prepare_action / execute_action nicht aufrufen (deaktiviert).
  • Guthaben: billing.prepare_topup mit topup_amount (EUR). Betrag dem Menschen zeigen; checkout_url zurückgeben. Der Mensch zahlt im Browser. Das ist nicht orders.execute_create und keine Wallet-Ausgabe.
  • Sprach-IDs nur aus get_create_options languages[], kleingeschrieben (ru, nicht RU). Codes wie sm werden abgelehnt.
  • Tool-Namen, JSON-Keys und Shell-Befehle bleiben Englisch.

Tools

ToolAccessCreates orderConfirmationScope
account.getreadno—account:read
billing.get_walletreadno—billing:read
billing.prepare_topupwritenoconfirmation_handlebilling:read
services.listreadno—services:read
orders.listreadno—orders:history
orders.getreadno—orders:read
orders.get_statusreadno—orders:read
orders.get_actionsreadno—orders:read
orders.get_create_optionsreadno—orders:create
orders.get_artifactsreadno—orders:read
orders.get_operationreadno—orders:read
uploads.get_statusreadno—uploads:read
sources.inspectreadno—orders:create
sources.prepare_uploadreadno—orders:create
orders.prepare_downloadwriteno—artifacts:download
orders.prepare_createwriteno—orders:prepare
orders.execute_createwriteyesconfirmation_handleorders:execute

Beispiele

// 1) Smoke
multivoice.account.get

// 2) Audiobook (type 1)
multivoice.orders.get_create_options { "order_type_id": 1 }
multivoice.orders.prepare_create { "order_type_id": 1, "book": { ... } }

// 3) Subtitles (type 4), URL source
multivoice.sources.inspect { "source_type_id": ..., "source_url": "https://www.youtube.com/watch?v=..." }
multivoice.orders.prepare_create {
  "order_type_id": 4,
  "source_handle": "...",
  "language_from": "ru",           // must be from get_create_options languages[]
  "human_check": "self"            // or "<language.id>" for native-speaker review
}

// 4) Transcription (type 5), local file — never send a filesystem path
multivoice.sources.prepare_upload {
  "source_type_id": 12,
  "file_name": "meeting.mpeg",
  "file_size_bytes": 12861888,
  "duration_seconds": 1607.7
}
multivoice.orders.prepare_create { "order_type_id": 5, "source_handle": "...", "language_from": "ru" }

// show total to human, then:
multivoice.orders.execute_create {
  "quote_id": "...",
  "confirmation_handle": "...",
  "operation_id": "<new UUID; reuse on retry>"
}
// local file only: POST /mcp-uploads/init|chunk|complete (10 MiB + MD5), poll uploads.get_status

// 5) Download type-4 subtitles when status is 3/3
multivoice.orders.get_artifacts { "order_code": "SO-…" }
multivoice.orders.prepare_download { "order_code": "SO-…", "artifact_type_id": 115 }
// 115 simple SRT · 116 simple VTT · 117 speaker SRT · 118 speaker VTT · 119 full SRT · 120 full VTT

Also see /llms.txt for crawlers and agents.