# Menghubungkan server MCP

> Akses transkripsi dari Claude, ChatGPT, VS Code, atau klien MCP lain. Ikuti juga panduan koneksi untuk Cursor dan Claude Code.

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

Dengan server [Model Context Protocol](https://modelcontextprotocol.io/) milik transcript1, asisten AI Anda bisa mengirim rekaman untuk ditranskripsi, lalu membaca teksnya. Hubungkan asisten ke server MCP remote untuk memakai link YouTube, X, TikTok, Instagram, Facebook, Bluesky, atau file audio dan video yang diunggah. Platform rekaman publik lainnya beserta batasannya ada di [sumber dan pengaturan](https://transcript1.com/id/docs/sources-and-options).

Postingan harus publik. Jika ada beberapa video dalam satu postingan, hanya video pertama yang ditranskripsi. Dukungan subtitle YouTube dan X tetap sama. TikTok, Bluesky, Dailymotion, dan LinkedIn juga bisa memakai subtitle dalam bahasa asli video jika tersedia. Pada mode auto, transcript1 beralih ke transkripsi AI jika subtitle tidak bisa dipakai. Tarif per menitnya tetap sama.

Selain YouTube, timestamp subtitle hanya per segmen (`words: null`), termasuk untuk subtitle otomatis. Mode `captions` (hanya subtitle) tidak mengunduh audio atau memakai STT. Jika memilih `source=stt` atau pengenalan pembicara, proses langsung memakai audio tanpa mencari subtitle. Rinciannya ada di [panduan sumber](https://transcript1.com/id/docs/sources-and-options).

- **Endpoint:** `https://api.transcript1.com/mcp` (streamable HTTP)
- **Autentikasi:** Untuk Claude dan ChatGPT, gunakan OAuth 2.1: masuk ke transcript1, lalu setujui akses. Untuk Cursor, VS Code, Claude Code, dan agen, kirim kunci API dengan `Authorization: Bearer t1_...`. Buat kuncinya di halaman [“API keys”](https://transcript1.com/dashboard/account/tokens).

Di balik setiap tool, server memanggil [REST API](https://transcript1.com/id/docs/api-reference) `/v1` menggunakan kredensial Anda. Aturan validasi, biaya, dan kode error tidak berbeda dari REST API. Request MCP memakai saldo menit dan batas request akun yang sama dengan akses lainnya.

## Tool yang tersedia

| Tool | Kegunaan dan parameter |
|---|---|
| `transcribe` | Kirim `url` video yang didukung; platform dikenali dari link. Anda boleh menambahkan `platform`, `source`, `language`, `diarize`, `format`, dan `wait_seconds`. Tool menunggu transkrip lalu memberikan halaman pertamanya, atau `id` jika proses belum selesai. |
| `get_transcription` | Ambil status atau transkrip menggunakan `id`. Opsi tambahan: `wait_seconds`, `format`, `from_seconds`, dan `max_chars`. |
| `list_transcriptions` | Lihat daftar transkripsi dari yang terbaru, tanpa isi transkrip. Opsi tambahan: `status`, `platform`, `limit`, dan `cursor`. |
| `create_upload` | Siapkan unggahan bertahap untuk file lokal. Isi `filename`, `size`, dan `request_id` berupa UUID yang Anda buat. Opsi tambahan: `mime_type`, `language`, dan `diarize`. |
| `get_upload_status` | Periksa chunk yang sudah diterima agar unggahan bisa dilanjutkan. |
| `complete_upload` | Periksa kelengkapan chunk, lalu masukkan transkripsi ke antrean. |
| `delete_transcription` | Hentikan transkripsi yang masih berjalan dan kembalikan menitnya, atau hapus transkripsi yang sudah berakhir beserta teksnya. |
| `get_account` | Periksa sisa menit, paket, dan tanggal perpanjangan akun. |

### Pengaturan bawaan

- Nilai bawaan `format` adalah `text`. Setiap segmen menjadi satu baris dengan timestamp, ditambah label pembicara jika pembicaranya berhasil dikenali. Contohnya `[00:01:02] Speaker 1: Good morning.` Format lain yang tersedia adalah `srt`, `vtt`, dan `json`.
- Nilai bawaan `wait_seconds` adalah 50, dengan rentang 0 sampai 55. Jika proses belum selesai, respons memberi tahu status tersebut dan menyertakan `id`. Teruskan ID itu ke `get_transcription` untuk menunggu lagi.
- Transkrip panjang dibagi menjadi beberapa halaman. Nilai bawaan `max_chars` adalah 60.000, dengan rentang 1.000 sampai 100.000. Halaman selalu berakhir di batas segmen. Untuk melanjutkan, ambil `next_from_seconds` dari respons dan kirim sebagai `from_seconds`.
- Respons menyertakan `transcript_source` agar asisten tahu asal teks: `youtube_captions`, `x_captions`, `tiktok_captions`, `bluesky_captions`, `dailymotion_captions`, `linkedin_captions`, atau `speech_to_text`. Nilai `caption_kind: null` menunjukkan asal track tidak diketahui. Jangan mengartikannya sebagai unggahan kreator.

### Periksa transkripsi lama sebelum mengirim ulang

Tool `transcribe` selalu mengaktifkan `reuse_recent`. Jika memakai link video lengkap, panggilan dengan video dan opsi yang sama dalam 24 jam akan memakai kembali transkripsi sebelumnya tanpa biaya baru. Ini tidak berlaku untuk link pendek. Respons memberi tahu jika transkripsi lama dipakai kembali. Untuk memeriksa proses yang sudah ada, pilih `get_transcription` atau `list_transcriptions` daripada mengirim video yang sama lagi.

### Unggah file melalui asisten

Data biner file tidak bisa dikirim lewat MCP. Mulai dengan `create_upload` untuk mendapat `id` transkripsi, template URL chunk, `X-Upload-Token`, dan daftar chunk. Asisten mengirim tiap chunk lewat HTTP `PUT` di luar MCP, lalu memanggil `complete_upload`. Respons juga menyertakan link halaman unggahan di dasbor sebagai pilihan lain. Ikuti alurnya di [panduan unggahan](https://transcript1.com/id/docs/uploads).

### Webhook hanya lewat REST API

Tidak ada parameter webhook pada tool MCP. Jika memerlukan [notifikasi webhook](https://transcript1.com/id/docs/webhooks), gunakan REST API.

## Claude

Tambahkan server MCP remote ke Claude sebagai konektor kustom:

1. Buka pengaturan konektor Claude, lalu buat konektor kustom.
2. Beri nama `transcript1` dan isi URL server dengan `https://api.transcript1.com/mcp`.
3. Saat diminta, masuk ke transcript1 dan setujui akses untuk scope `transcriptions:read` serta `transcriptions:write`.

Setelah terhubung, minta Claude membuat transkrip, misalnya “Buat transkrip dari https://www.youtube.com/watch?v=dQw4w9WgXcQ”. Ketersediaan konektor kustom bergantung pada paket Claude Anda.

## ChatGPT

Di ChatGPT, gunakan konektor kustom juga:

1. Buka pengaturan konektor ChatGPT, lalu tambahkan konektor kustom untuk server MCP.
2. Isi alamat server dengan `https://api.transcript1.com/mcp`.
3. Login ke transcript1, lalu berikan persetujuan akses.

Periksa paket ChatGPT dan pengaturan workspace Anda untuk ketersediaan konektor kustom. Anda mungkin perlu mengaktifkan developer mode.

## Hubungkan MCP di Cursor

Gunakan link instalasi sekali klik: [Tambahkan transcript1 ke Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=transcript1&config=eyJ1cmwiOiJodHRwczovL2FwaS50cmFuc2NyaXB0MS5jb20vbWNwIn0=)

Jika memilih konfigurasi manual, tambahkan server ke `.cursor/mcp.json` dan isi header `Authorization` dengan kunci API Anda:

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

## VS Code

Untuk instalasi sekali klik, pilih [Tambahkan transcript1 ke VS Code](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)

Untuk mengatur sendiri, tambahkan konfigurasi berikut ke `.vscode/mcp.json` pada workspace Anda:

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

## Hubungkan MCP di Claude Code

Isi `t1_YOURKEY` dengan kunci API Anda sebelum menjalankan perintah ini:

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

## Pakai klien MCP lainnya

Jika klien Anda mendukung server MCP remote, arahkan ke `https://api.transcript1.com/mcp` dan sertakan header `Authorization: Bearer t1_...`.

## Jalankan lewat perintah di Claude Desktop atau klien lain

Sebagian klien memulai server MCP lewat perintah. Untuk klien seperti ini, gunakan `npx -y @transcript1/mcp` dan isi `TRANSCRIPT1_API_KEY` dengan kunci Anda. Paket ini menghubungkan klien ke server yang dikelola transcript1. Pastikan Node.js 18 atau lebih baru sudah tersedia.

Untuk Claude Desktop, masukkan konfigurasi berikut ke `claude_desktop_config.json`. Ambil kunci dari halaman [“API keys”](https://transcript1.com/dashboard/account/tokens) untuk mengganti `t1_YOURKEY`.

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

## Agent Skill

Agent Skill berisi petunjuk singkat agar agen tahu cara memakai transcript1. Jika agen Anda mendukung skill, tambahkan file `SKILL.md` dari [https://transcript1.com/.well-known/agent-skills/transcript1/SKILL.md](https://transcript1.com/.well-known/agent-skills/transcript1/SKILL.md).

Untuk agen yang bisa menemukan skill secara otomatis, indeksnya tersedia di `https://transcript1.com/.well-known/agent-skills/index.json`.

## Saat tool gagal

Jika tool gagal, respons memuat `code` yang sama dengan REST API, pesan error, dan tindakan yang bisa dilakukan asisten. Formatnya `<code>: <message>. <next step>`. Contoh saat saldo menit tidak cukup:

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

Penjelasan tiap kode ada di [panduan error](https://transcript1.com/id/docs/errors). Kegagalan proses transkripsi juga memakai format ini, dengan kode seperti `media_private` atau `no_captions`.
