# MCP-Server einrichten

> Lass deinen KI-Assistenten mit transcript1 transkribieren. So verbindest du Claude, ChatGPT, Cursor, VS Code, Claude Code und andere MCP-Clients.

Canonical: https://transcript1.com/de/docs/mcp
Language: de
Last updated: 2026-10-15

Über den gehosteten [Model Context Protocol](https://modelcontextprotocol.io/)-Server von transcript1 kann dein KI-Assistent Transkriptionen starten und die fertigen Texte lesen. Das funktioniert mit Links von YouTube, X, TikTok, Instagram, Facebook und Bluesky sowie mit hochgeladenen Audio- und Videodateien. Weitere unterstützte Plattformen und die jeweiligen Einschränkungen findest du unter [Quellen und Einstellungen](https://transcript1.com/de/docs/sources-and-options).

Verwende öffentliche Posts. Bei mehreren Videos in einem Post nimmt transcript1 nur das erste. Auf YouTube und X kannst du weiterhin Untertitel nutzen, ebenso auf TikTok, Bluesky, Dailymotion und LinkedIn. Im automatischen Modus nimmt transcript1 verwendbare Untertitel in der Originalsprache. Fehlen sie, transkribiert die KI das Audio zum selben Minutenpreis. Außerhalb von YouTube enthalten Untertitel nur Zeitstempel pro Segment (`words: null`), auch wenn die Plattform sie automatisch erzeugt hat. Im reinen Untertitelmodus wird weder Audio heruntergeladen noch STT gestartet. Mit Sprecherzuordnung oder `source=stt` nutzt du dagegen direkt das Audio. Details stehen unter [Quellen und Einstellungen](https://transcript1.com/de/docs/sources-and-options).

- **Endpoint:** `https://api.transcript1.com/mcp` (Streamable HTTP)
- **Authentifizierung:** Claude und ChatGPT verwenden OAuth 2.1. Du meldest dich bei transcript1 an und erlaubst den Zugriff. Für Cursor, VS Code, Claude Code und KI-Agenten nutzt du einen API-Schlüssel im Header `Authorization: Bearer t1_...`. Erstelle den Schlüssel im Dashboard unter [„API keys“](https://transcript1.com/dashboard/account/tokens).

Die Tools greifen mit deinem Token oder API-Schlüssel auf die `/v1`-[REST-API](https://transcript1.com/de/docs/api-reference) zu. Parameterprüfung, Abrechnung und Fehlercodes sind dieselben. MCP-Aufrufe nutzen dasselbe Minutenguthaben und dieselben Rate Limits wie alle anderen Requests deines Kontos.

## Tools

| Tool | Funktion |
|---|---|
| `transcribe` | Startet die Transkription eines unterstützten Video-Links. Pflicht ist `url`; optional sind `platform`, `source`, `language`, `diarize`, `format` und `wait_seconds`. Die Plattform erkennt transcript1 am Link. Das Tool wartet und liefert die erste Seite des Transkripts oder die `id`, falls der Job noch läuft. |
| `get_transcription` | Ruft mit der `id` den Status oder das Transkript ab. Optional kannst du `wait_seconds`, `format`, `from_seconds` und `max_chars` übergeben. |
| `list_transcriptions` | Listet die neuesten Jobs zuerst auf, ohne den Transkripttext. Unterstützt die optionalen Parameter `status`, `platform`, `limit` und `cursor`. |
| `create_upload` | Bereitet einen Upload in Chunks für eine lokale Datei vor. Pflicht sind `filename`, `size` und `request_id`, eine selbst erzeugte UUID. Optional sind `mime_type`, `language` und `diarize`. |
| `get_upload_status` | Zeigt die bereits angekommenen Chunks an, damit du einen Upload fortsetzen kannst. |
| `complete_upload` | Prüft, ob die Chunks vollständig sind, und stellt den Job in die Warteschlange. |
| `delete_transcription` | Bricht einen laufenden Job ab und erstattet die Minuten. Einen beendeten Job löscht das Tool samt Transkript. |
| `get_account` | Ruft Minutenguthaben, Tarif und nächsten Verlängerungstermin ab. |

### Standardwerte

- Ohne eigene Angabe ist `format` auf `text` gesetzt. Du bekommst eine Zeile pro Segment mit Zeitstempel und bei aktivierter Sprecherzuordnung dem jeweiligen Label, etwa `[00:01:02] Speaker 1: Good morning.` Alternativ kannst du `srt`, `vtt` oder `json` anfordern.
- Mit `wait_seconds` bestimmst du die Wartezeit: standardmäßig 50 Sekunden, erlaubt sind 0 bis 55. Läuft der Job danach noch, enthält die Antwort einen Hinweis und die `id`. Übergib diese an `get_transcription`, um erneut zu warten.
- Lange Transkripte bekommst du seitenweise. `max_chars` steht standardmäßig auf 60.000 Zeichen; erlaubt sind 1.000 bis 100.000. Jede Seite endet an einer Segmentgrenze. Die Antwort enthält `next_from_seconds`. Nutze diesen Wert beim nächsten Aufruf als `from_seconds`.
- Im Feld `transcript_source` steht, woher der Text stammt: `youtube_captions`, `x_captions`, `tiktok_captions`, `bluesky_captions`, `dailymotion_captions`, `linkedin_captions` oder `speech_to_text`. Bei `caption_kind: null` ist die Herkunft der Untertitelspur unbekannt. Der Wert bedeutet nicht, dass der Creator die Untertitel hochgeladen hat.

### Vor einem neuen Versuch den laufenden Job prüfen

`transcribe` aktiviert immer `reuse_recent`. Bei einem vollständigen Video-Link liefert ein erneuter Aufruf für dasselbe Video mit denselben Optionen innerhalb von 24 Stunden die frühere Transkription zurück. Dafür zahlst du nicht noch einmal. Die Toolantwort weist darauf hin, wenn sie eine frühere Transkription verwendet. Bei Kurzlinks funktioniert das nicht. Prüfe einen bestehenden Job deshalb mit `get_transcription` oder `list_transcriptions`, statt das Video erneut einzureichen.

### Dateien hochladen

Die Datei selbst wird nicht über MCP übertragen. Mit `create_upload` bekommt der Assistent die Transkriptions-`id`, eine URL-Vorlage für die Chunks, ein `X-Upload-Token` und die Chunk-Liste. Er lädt die Chunks außerhalb von MCP per HTTP-`PUT` hoch und ruft danach `complete_upload` auf. Als Alternative enthält die Antwort einen Link zur Upload-Seite im Dashboard. Den Ablauf findest du unter [Uploads](https://transcript1.com/de/docs/uploads).

### Webhooks nur über die REST-API

Die MCP-Tools nehmen keinen Webhook-Parameter an. Wenn du [Webhooks](https://transcript1.com/de/docs/webhooks) nutzen möchtest, erstelle den Job über die REST-API.

## Claude

In Claude bindest du den Server als eigenen Connector ein:

1. Öffne in Claude die Connector-Einstellungen und lege einen eigenen Connector an.
2. Gib ihm den Namen `transcript1` und trage `https://api.transcript1.com/mcp` als Server-URL ein.
3. Melde dich im nächsten Schritt bei transcript1 an und erlaube den Zugriff. Der Connector fordert die Scopes `transcriptions:read` und `transcriptions:write` an.

Danach kannst du Claude etwa schreiben: „Transkribiere https://www.youtube.com/watch?v=dQw4w9WgXcQ“. Ob du eigene Connectors hinzufügen kannst, hängt von deinem Claude-Tarif ab.

## ChatGPT

In ChatGPT richtest du ebenfalls einen eigenen Connector ein:

1. Öffne die Connector-Einstellungen und erstelle einen eigenen Connector für einen MCP-Server.
2. Trage als Server-URL `https://api.transcript1.com/mcp` ein.
3. Melde dich bei transcript1 an und bestätige den Zugriff.

Ob das möglich ist, hängt von deinem ChatGPT-Tarif und den Workspace-Einstellungen ab. Eventuell musst du dafür den Entwicklermodus aktivieren.

## Cursor verbinden

Für die Einrichtung per Klick: [transcript1 in Cursor hinzufügen](cursor://anysphere.cursor-deeplink/mcp/install?name=transcript1&config=eyJ1cmwiOiJodHRwczovL2FwaS50cmFuc2NyaXB0MS5jb20vbWNwIn0=)

Alternativ ergänzt du `.cursor/mcp.json` selbst. Trage deinen API-Schlüssel im Header `Authorization` ein:

```json
{
  "mcpServers": {
    "transcript1": {
      "url": "https://api.transcript1.com/mcp",
      "headers": {
        "Authorization": "Bearer t1_YOURKEY"
      }
    }
  }
}
```

## VS Code

Für die Einrichtung per Klick: [transcript1 in VS Code hinzufügen](vscode:mcp/install?%7B%22name%22%3A%22transcript1%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.transcript1.com%2Fmcp%22%7D)

Für die manuelle Einrichtung ergänzt du `.vscode/mcp.json` in deinem Workspace:

```json
{
  "servers": {
    "transcript1": {
      "type": "http",
      "url": "https://api.transcript1.com/mcp",
      "headers": {
        "Authorization": "Bearer t1_YOURKEY"
      }
    }
  }
}
```

## Claude Code verbinden

Setze für `t1_YOURKEY` deinen API-Schlüssel ein und führe den Befehl aus:

```bash
claude mcp add --transport http transcript1 https://api.transcript1.com/mcp --header "Authorization: Bearer t1_YOURKEY"
```

## Andere Clients

Unterstützt dein Client Remote-MCP-Server, verbinde ihn mit `https://api.transcript1.com/mcp`. Sende dabei den Header `Authorization: Bearer t1_...`.

## Claude Desktop und Clients mit lokalem Startbefehl

Startet dein Client MCP-Server über einen lokalen Befehl, verwende `npx -y @transcript1/mcp`. Setze dazu `TRANSCRIPT1_API_KEY` auf deinen API-Schlüssel. Das Paket stellt die Verbindung zum gehosteten transcript1-Server her. Du brauchst dafür Node.js 18 oder neuer.

Füge in Claude Desktop den folgenden Eintrag zu `claude_desktop_config.json` hinzu. Ersetze `t1_YOURKEY` durch einen Schlüssel aus [„API keys“](https://transcript1.com/dashboard/account/tokens).

```json
{
  "mcpServers": {
    "transcript1": {
      "command": "npx",
      "args": ["-y", "@transcript1/mcp"],
      "env": { "TRANSCRIPT1_API_KEY": "t1_YOURKEY" }
    }
  }
}
```

## Agent-Skill

Die kurze Datei `SKILL.md` erklärt deinem KI-Agenten, wie er transcript1 verwendet. Unterstützt der Agent Skills, füge diese Datei hinzu: [https://transcript1.com/.well-known/agent-skills/transcript1/SKILL.md](https://transcript1.com/.well-known/agent-skills/transcript1/SKILL.md).

Agenten mit Skill-Discovery können die Datei über den Index `https://transcript1.com/.well-known/agent-skills/index.json` finden.

## Toolfehler behandeln

Schlägt ein Toolaufruf fehl, bekommt der Assistent denselben `code` wie über die REST-API. Dazu kommen die Fehlermeldung und ein konkreter nächster Schritt. Die Antwort hat das Format `<code>: <message>. <next step>`. Wenn deine Minuten nicht reichen, sieht sie zum Beispiel so aus:

```text
insufficient_minutes: 20 minutes needed, 3 remaining. Top up at https://transcript1.com/dashboard/billing
```

Alle Codes findest du unter [Fehler](https://transcript1.com/de/docs/errors). Auch wenn eine Transkription erst während der Verarbeitung fehlschlägt, meldet das Tool den Fehler in diesem Format, etwa mit `media_private` oder `no_captions`.
