sync. labs
resmiServer MCP resmi sync. labs: sinkronkan gerakan bibir video dengan audio baru atau naskah, sulih suara video ke bahasa lain dengan gerakan bibir yang sesuai, buat foto berbicara, dan kloning suara. Masuk dengan OAuth, tanpa kunci API.
Apa yang bisa Anda lakukan dengan Sync Labs MCP?
- Video sinkronisasi bibir — Minta agen Anda menyinkronkan gerakan bibir pada aset video dengan aset audio atau URL publik, lalu tunggu hasilnya.
- Terjemahkan dan sulih suara — Minta tautan YouTube atau media sosial diterjemahkan ke bahasa lain, dengan biaya yang dikutip dan dikonfirmasi sebelum proses sulih suara dimulai.
- Ucapan berskrip — Buat video mengucapkan kalimat dengan suara yang dipilih, pilih dari suara yang tersedia, dan minta naskahnya dikutip terlebih dahulu.
- Kloning suara dan pratinjau ucapan — Kloning suara atau buat pratinjau ucapan, dengan biaya tindakan berbayar dikutip dan dikonfirmasi sebelum dijalankan.
- Pengelolaan aset dan proyek — Buat, tampilkan daftar, perbarui, unduh, dan hapus aset, serta buat, ganti nama, atau tampilkan daftar proyek dan hasil generasinya.
- Pemeriksaan akun dan penagihan — Periksa sisa kredit, tinjau biaya generasi sebelumnya, dan dapatkan tautan persetujuan untuk meningkatkan paket.
Server MCP Terhosting
npx add-mcp 'https://mcp.sync.so/mcp'Terpasang ke Claude Code, Codex, Cursor, dan lainnya
Dokumentasi
Server MCP sync.
Hubungkan agen AI Anda ke sync. untuk menyelaraskan gerak bibir video, menerjemahkan dan mengisi suaranya dalam bahasa lain, mengkloning suara, serta mengelola aset dan proyek melalui obrolan atau sesi coding.
sync. menghosting server ini di https://mcp.sync.so/mcp. Anda masuk dengan akun sync., jadi tidak perlu menginstal apa pun atau menyalin kunci API. Setiap penggabungan ke main repositori ini akan menerapkannya di sana.
Hubungkan agen Anda
ChatGPT
Buka sync. di ChatGPT dan hubungkan akun Anda. Di ChatGPT, sync. Studio juga terbuka di dalam obrolan.
Claude (claude.ai dan Claude Desktop)
- Buka Settings → Connectors dan pilih Add custom connector.
- Beri nama
sync.dan tetapkan URL kehttps://mcp.sync.so/mcp. - Klik Connect dan masuk ke sync.
Claude Code
claude mcp add --transport http sync https://mcp.sync.so/mcp
Lalu jalankan /mcp di Claude Code, pilih sync dan masuk. Tambahkan --scope user agar dapat digunakan di setiap proyek.
Codex
codex mcp add sync --url https://mcp.sync.so/mcp
codex mcp login sync
Cursor
Tambahkan ke .cursor/mcp.json di sebuah proyek, atau ke ~/.cursor/mcp.json untuk semua proyek:
{
"mcpServers": {
"sync": { "url": "https://mcp.sync.so/mcp" }
}
}
Cursor akan meminta Anda masuk ke sync. saat pertama kali terhubung.
VS Code
Tambahkan ke .vscode/mcp.json:
{
"servers": {
"sync": { "type": "http", "url": "https://mcp.sync.so/mcp" }
}
}
Klien lain
Klien apa pun yang mendukung server MCP jarak jauh melalui Streamable HTTP dengan OAuth dapat menggunakan https://mcp.sync.so/mcp. Klien akan mendaftarkan dirinya, lalu Anda masuk ke sync. melalui browser.
Server ini tercantum di MCP Registry resmi
sebagai io.github.synchronicity-labs/mcp-server, sehingga klien dan direktori yang membaca registry dapat menemukannya dan menambahkannya. server.json adalah entri tersebut.
Server lokal dengan kunci API
Untuk klien yang tidak mendukung MCP jarak jauh, serta untuk skrip dan CI, jalankan server secara lokal melalui stdio dengan kunci API sync.:
claude mcp add sync -e SYNC_API_KEY=your-api-key -- npx -y @sync.so/mcp-server@latest
Atau di konfigurasi JSON klien:
{
"mcpServers": {
"sync": {
"command": "npx",
"args": ["-y", "@sync.so/mcp-server@latest"],
"env": { "SYNC_API_KEY": "your-api-key" }
}
}
}
Tanpa SYNC_API_KEY, server akan memulai login perangkat saat pertama kali dijalankan: kunjungi URL yang ditampilkan dan masukkan kodenya. Token disimpan di cache pada
~/.config/sync/mcp-credentials.json.
Rilis npm diterbitkan secara terpisah dari penerapan server yang dihosting dan mungkin tertinggal, jadi utamakan server yang dihosting jika klien Anda mendukungnya. @latest membuat npx mengambil rilis terbaru saat klien memulai ulang server; tanpa opsi ini, npx dapat terus menjalankan salinan lama yang tersimpan di cache.
Pemberitahuan pembaruan
Saat dimulai, server lokal meminta versi terbaru ke registry npm, paling banyak sekali sehari (jawabannya disimpan di cache pada ~/.config/sync/mcp-update-check.json). Pemeriksaan berjalan di latar belakang dengan batas waktu dua detik dan tidak pernah menunda proses startup atau pemanggilan alat; jika gagal, tidak ada yang ditampilkan. Jika tersedia versi yang lebih baru, instruksi server dan hasil alat pertama dalam sesi akan meminta agen menyuruh Anda memulai ulang dengan npx -y @sync.so/mcp-server@latest atau beralih ke server yang dihosting.
Untuk menonaktifkannya, tetapkan SYNC_MCP_UPDATE_CHECK=off atau teruskan --no-update-check. Pemeriksaan juga dilewati jika CI ditetapkan, dan server yang dihosting tidak pernah melakukan pemeriksaan.
Telemetri penggunaan
Server memberi tahu sync. saat sesi dimulai dan, untuk setiap pemanggilan alat, alat mana yang dijalankan, apakah berhasil, dan berapa lama waktu yang dibutuhkan. Dengan begitu, kami dapat mengetahui alat mana yang diandalkan orang dan di mana agen mengalami kendala. Informasi ini dikirim ke API sync. yang sudah Anda gunakan, ditandatangani dengan kunci API atau login Anda sendiri, dengan jeda beberapa detik dan tanpa mengganggu pemanggilan alat.
Yang dicatat adalah bentuk pemanggilan, bukan isinya: model atau bahasa yang Anda pilih, tetapi hanya panjang skrip; serta jenis tautan (YouTube, penyimpanan Sync, atau other), bukan tautannya. Server tidak pernah mengirim prompt, skrip, nama file, URL, media, pesan kesalahan, atau kunci Anda. docs/telemetry.md mencantumkan setiap kolom.
Direktori dapat secara opsional memberikan X-MCP-Referral saat inisialisasi server yang dihosting atau SYNC_MCP_REFERRAL untuk paket npm. Jika diberikan dan didukung oleh API, sumber yang dilaporkan sendiri ini akan disertakan dalam peristiwa penggunaan. Lihat rujukan direktori untuk format dan batasannya.
Untuk menonaktifkannya, tetapkan SYNC_MCP_TELEMETRY=off atau DO_NOT_TRACK=1, atau teruskan --no-telemetry.
Apa yang bisa diminta
Tempelkan prompt seperti berikut ke agen Anda. ID aset berasal dari pustaka sync. Anda dapat menggunakan tautan media publik atau video YouTube, TikTok, Instagram, dan Facebook.
| Permintaan | Tindakan agen |
|---|---|
"Selaraskan gerak bibir video aset <video-asset-id> dengan audio aset <audio-asset-id>." | lipsync_create menggunakan aset yang tersimpan, lalu menunggu hasilnya |
| "Selaraskan gerak bibir https://example.com/talk.mp4 ke https://example.com/voiceover.wav." | lipsync_create menggunakan URL publik |
| "Terjemahkan https://www.youtube.com/watch?v=… ke bahasa Spanyol." | Mengimpor tautan dengan assets_create, menyebutkan biayanya, lalu setelah Anda mengonfirmasi, menjalankan dubbing_create |
"Buat video aset <video-asset-id> mengucapkan “terima kasih sudah menonton” dengan suara narator yang tenang." | Memilih suara dengan voices_list, menyebutkan skripnya, lalu lipsync_create dengan script |
| "Berapa sisa kredit saya?" | account_get-usage |
| "Tingkatkan paket kami ke Pro." | billing-approval-links_create, lalu memberikan tautan sync.so untuk Anda setujui dan bayar |
| "Berapa biaya generasi terakhir saya?" | Menemukannya di riwayat dan membaca generations_get-costs |
Terjemahan, sulih suara, pratinjau ucapan, dan kloning suara akan disebutkan biayanya dan dikonfirmasi kepada Anda sebelum dimulai.
Keahlian agen
Alur kerja langkah demi langkah untuk alat-alat ini (penyelarasan gerak bibir, foto berbicara, sulih suara, Edit Dialogue, kampanye, batch, pemecahan masalah, dan API) tersedia sebagai keahlian agen di
synchronicity-labs/skills. Pasang keahlian tersebut di agen mana pun dengan npx skills add synchronicity-labs/skills. Plugin ChatGPT dan Codex menyertakannya dari commit repositori tersebut yang dipatok; lihat
docs/chatgpt-plugin.md.
Alat
Server yang dihosting menyediakan kumpulan alat pilihan berikut kepada setiap klien:
| Area | Alat |
|---|---|
| Penyelarasan gerak bibir | lipsync_create, lipsync_create-timeline¹, generations_estimate-cost, generations_get, generations_list, generations_get-continuation, generations_get-costs, models_list |
| Terjemahan dan sulih suara | dubbing_create, dubbing_get-options, translation-previews_estimate, translation-previews_create, translation-previews_get |
| Ucapan dan suara | speech-previews_create, speech-previews_get-options, speech-previews_get, voices_list, voices_clone |
| Edit Dialogue | dialogue_get-options, dialogue_upload-source, dialogue-transcriptions_create, dialogue-transcriptions_get, dialogue-previews_create, dialogue-previews_get, dialogue-videos_estimate, dialogue-videos_create |
| Aset | assets_create, assets_create-upload-url, assets_get, assets_list, assets_count, assets_get-download-url, assets_update, assets_delete, assets_get-playback-metadata, audio-trims_get, audio-trims_create |
| Proyek | projects_create, projects_get, projects_list, projects_list-generations, projects_rename |
| Banyak pekerjaan | jobs_create-many², jobs_get-many² |
| Batch | batches_create², batches_get², batches_list² |
| Akun | account_get-context, account_get-usage, organizations_list, organizations_select, billing-approval-links_create³ |
¹ Tidak ditawarkan kepada aplikasi ChatGPT, yang Studio bawaannya tidak memiliki linimasa.
² Belum tercantum di aplikasi ChatGPT. jobs_create-many memulai hingga 50 pekerjaan independen sekaligus, misalnya satu video yang disulihsuarakan ke beberapa bahasa, dengan menjalankan satu alat pembuatan (lipsync_create, dubbing_create, dialogue-videos_create, dan lainnya) satu kali untuk setiap item, menggunakan API, batas, dan penagihan yang sama seperti pemanggilan tunggal pada paket apa pun; jobs_get-many memantau kumpulan tersebut. Lihat Pekerjaan. Batch adalah alur API terpisah yang mengantrekan proses besar (20 hingga 500 generasi) pada paket Scale ke atas dan dapat menunggu berjam-jam. Jika paket akun tidak mencakup batch, API akan menjawab dengan 402 beserta requiredPlan dan billingUrl, yang diteruskan oleh alat.
³ Belum tercantum di aplikasi ChatGPT, dan hanya dicantumkan jika API menerbitkan POST /v2/billing/approval-links. Alat ini mengembalikan tautan sync.so tempat seseorang menyetujui dan membayar paket atau kredit; membuat tautan tersebut tidak dikenai biaya. Lihat
Penolakan penagihan dan tautan persetujuan.
Organisasi yang memiliki fitur terkait juga mendapatkan scenes_detect (potongan kamera dalam video) dan stems_separate (vokal dan audio latar), di luar aplikasi ChatGPT. Alat-alat tersebut tersedia dalam kumpulan alat lipsync dan assets secara lokal. Hal yang sama berlaku untuk faces_detect, faces_get, dan faces_get-timeline (wajah, cuplikan, dan siapa yang berbicara dalam video), serta masukan shots dari lipsync_create dan lipsync_create-timeline, dalam kumpulan alat lipsync; lihat Perencanaan penyelarasan gerak bibir.
Klien yang mendukung aplikasi juga mendapatkan alat di balik aplikasi Studio bawaan: tampilan dan draf Studio, widget unggah, serta pembantu aplikasi. Klien tersebut adalah klien yang nama handshake MCP-nya memilih profil aplikasi ChatGPT atau Codex (openai-mcp, openai-mcp (Codex); lihat src/client-profile.ts). Klien lain tidak melihat alat-alat ini, dan pemanggilannya akan ditolak.
Kumpulan alat lokal
Server stdio lokal juga dapat menyediakan alat untuk setiap operasi API publik lainnya dalam spesifikasi OpenAPI, lebih dari 65 alat secara keseluruhan. Secara default, server mencantumkan kumpulan alat yang dihosting di atas, tanpa alat adminnya (assets_delete dan voices_clone), serta jobs_get, jobs_wait, dan alat transcriptions_*, yang trek wajah pembicaranya menjadi masukan untuk klip lipsync_create-timeline.
Untuk mencantumkan lebih banyak alat, tetapkan SYNC_MCP_TOOLSETS atau teruskan --toolsets dengan daftar yang dipisahkan koma:
| Kumpulan alat | Menambahkan |
|---|---|
default | Kumpulan default di atas, sehingga default,admin menambahkan alat admin ke dalamnya |
lipsync | Alat penyelarasan gerak bibir, linimasa, Edit Dialogue, pemangkasan audio, dan batch, serta generate_*, generations_*, dan dialogue-edits_* mentah |
dubbing | Alat terjemahan dan sulih suara, serta alat batch |
assets | assets_* (kecuali penghapusan) dan alat unggah |
projects | projects_* (kecuali penghapusan) dan projects_rename |
transcription | transcriptions_* |
voices | voices_* (kecuali kloning dan penghapusan), pratinjau ucapan, dan tts_* |
admin | Semua alat penghapusan (assets_delete, projects_delete, generations_delete, voices_delete) dan voices_clone |
all | Semua alat, seperti sebelum opsi ini tersedia |
Pembacaan pekerjaan, akun, dan generasi (jobs_get, jobs_wait, jobs_get-many,
generations_get, account_get-context, organizations_list, organizations_select, dan
sejenisnya) tersedia di setiap pilihan, begitu pula jobs_create-many setiap kali alat pembuatan yang dijalankannya tercantum. Menentukan kumpulan alat akan menggantikan kumpulan default, bukan menambahkannya. Untuk mengembalikan semua alat:
claude mcp add sync -e SYNC_API_KEY=your-api-key -e SYNC_MCP_TOOLSETS=all -- npx -y @sync.so/mcp-server@latest
Kecuali jika semua alat dicantumkan, instruksi server akan memberi tahu agen kumpulan alat mana yang tercantum dan cara mendapatkan sisanya, sehingga agen dapat meminta Anda memulai ulang server dengan kumpulan yang lebih luas. Server yang dihosting mengabaikan pengaturan ini.
Alur kerja alat menjelaskan cara kerja alat multi-langkah dan berbayar.
Nama alat mengikuti satu skema <noun>_<verb> (lipsync_create, generations_get). Nama yang digunakan sebelumnya (create-lipsync, generate_get-generation) tetap berfungsi selama masa penghentian bertahap: pemanggilan melalui nama tersebut menjalankan alat yang sama dan menambahkan pemberitahuan satu baris yang menyebutkan nama baru. Nama alat memuat tabel lengkap nama lama → baru.
Opsi CLI
Usage: sync-mcp [options]
Options:
--api-key <key> API key (or set SYNC_API_KEY env var)
--base-url <url> API base URL (default: https://api.sync.so)
--transport <type> stdio (default) or http
--port <port> HTTP port (default: 3002, only with --transport http)
--no-spend-confirmation
Unattended automation: drop the cost-quote and confirm-before-paying
instructions (or set SYNC_MCP_SPEND_CONFIRMATION=off)
--no-update-check Skip the daily npm check for a newer version (or set
SYNC_MCP_UPDATE_CHECK=off; skipped when CI is set)
--toolsets <list> stdio only: comma-separated tools to list (or set SYNC_MCP_TOOLSETS):
default, lipsync, dubbing, assets, projects, transcription,
voices, admin or all (default: the hosted set without admin)
-h, --help Show this help message
Otomatisasi tanpa pengawasan
Secara default, alat meminta agen menyebutkan biaya tindakan berbayar dan menunggu persetujuan pengguna. Jika server menjalankan pipeline atau agen terjadwal yang operatornya sudah menyetujui pengeluaran, jalankan dengan --no-spend-confirmation (atau SYNC_MCP_SPEND_CONFIRMATION=off). Agen kemudian membuat pekerjaan tanpa menyebutkan biaya atau meminta persetujuan, dan alat estimasi tetap tersedia. Agen tidak dapat mengubah pengaturan ini.
Alat pekerjaan menggunakan wait: true untuk menunggu di server (hingga sekitar 50 detik per panggilan, dengan notifikasi progres saat klien mengirim progressToken): generations_get, translation-previews_get, transcriptions_get dan impor sosial melalui assets_create. Di server lokal, jobs_wait dan jobs_get melakukan hal yang sama untuk setiap jenis pekerjaan (pembuatan, transkripsi, analisis pembicara, pratinjau terjemahan, impor) dengan satu input, {kind, id, projectId?}, serta bentuk hasil dan kumpulan status yang sama; lihat Jobs. jobs_get-many membaca hingga 50 pekerjaan sekaligus dengan cara tersebut, di kedua server.
Jika API menyediakannya, feedback_send memungkinkan agen melaporkan kesalahan yang membingungkan, hasil yang keliru, dan kemampuan yang belum tersedia kepada tim Sync.
Variabel lingkungan serta batas sesi, memori, unggahan, dan diagnostik server HTTP dijelaskan di Konfigurasi server HTTP.
Cara Kerjanya
- Saat startup, server mengambil spesifikasi OpenAPI publik dari
{baseUrl}/api-jsondan mengubah setiap operasi menjadi alat MCP dengan skema input Zod. - Alat yang ditulis secara manual menambahkan alur kerja multi-langkah pada API yang sama, seperti menerjemahkan dan melakukan dubbing, Edit Dialogue, pratinjau ucapan, dan pencarian biaya.
- Setiap pemanggilan alat adalah permintaan terautentikasi ke sync. API, menggunakan token OAuth Anda (hosted) atau kunci API (lokal).
Melalui stdio, operasi API publik yang baru akan menjadi alat pada saat server dimulai ulang. Server hosted hanya mengekspos alat yang ada dalam daftar izinnya, jadi alat hosted yang baru dirilis bersama rilis repositori ini.
Penggunaan Terprogram
Anda juga dapat menggunakan server sebagai pustaka:
import { createSyncMcpServer, resolveConfig } from '@sync.so/mcp-server';
const config = resolveConfig({ apiKey: 'your-key' });
const server = await createSyncMcpServer(config);
Pengembangan
Pengujian sumber HTTPS menggunakan perintah lokal openssl untuk membuat identitas pengujian yang ditandatangani sendiri dan berlaku satu hari. Berkas sertifikat dan kunci sementara dihapus sebelum pengujian dijalankan.
# Install dependencies
pnpm install
# Build
pnpm run build
# Run tests
pnpm test
# Lint
pnpm run lint
# Type check
pnpm run typecheck
# Script tests (monitor, smoke check, pre-commit size check)
pnpm run test:scripts
Pengembangan memerlukan Node 26 atau yang lebih baru (.nvmrc); devEngines di package.json memberlakukan persyaratan ini saat instalasi. pnpm install memasang hook pre-commit. Hook ini menjalankan Oxlint dan Oxfmt pada berkas yang di-stage, serta memblokir berkas sumber yang di-stage jika ukurannya melebihi 5.000 token (20.000 byte). Berkas yang sudah melebihi ukuran tersebut dikecualikan hingga seseorang memecahnya.
Pengujian Transport HTTP Lokal
Untuk menguji transport HTTP (alur OAuth) secara lokal:
- Salin
.env.exampleke.envdan isi nilainya - Mulai tunnel untuk mengekspos localhost:
ngrok http 3002 - Perbarui
MCP_ISSUER_URLdi.envdengan URL ngrok - Mulai server:
source .env node dist/cli.js --transport http --base-url $SYNC_BASE_URL --port 3002 - Pastikan server berfungsi:
curl https://<ngrok-url>/health curl https://<ngrok-url>/.well-known/oauth-authorization-server
Jika login Studio yang terisolasi memerlukan proksi web same-origin, atur
SYNC_OAUTH_AUTHORIZATION_URL ke URL /api-proxy/v2/oauth/authorize-nya, sementara
SYNC_BASE_URL tetap diarahkan ke listener API terisolasi secara langsung. Hanya navigasi browser yang menggunakan proksi web. Pendaftaran, pertukaran kode, penyegaran, pencabutan, userinfo, dan pemanggilan alat menggunakan API langsung serta tetap mempertahankan batas waktu, PKCE, dan pemeriksaan klien rahasia yang sudah ada. URL opsional harus menggunakan HTTP(S), tanpa kredensial, kueri, atau fragmen. Deployment yang sudah ada tidak memerlukan pengaturan baru.
- Tambahkan
https://<ngrok-url>/mcpsebagai konektor khusus di Claude Web
Pelajari Lebih Lanjut
- Alur kerja alat — Cara kerja alat multi-langkah dan berbayar
- Perencanaan Lipsync — Alat analisis wajah dan input pengambilan gambar, untuk organisasi yang memiliki fitur ini
- Konfigurasi server HTTP — Variabel lingkungan dan batas runtime
- Catatan pemelihara — Kompatibilitas hosted, pembatalan, proksi OAuth, unggahan, dan pemantauan
- Kesiapan direktori Claude — Daftar periksa peninjauan dan pekerjaan pengajuan yang masih tersisa
- Dokumentasi Sync — Referensi API dan panduan lengkap
- Referensi API Sync — Dokumentasi endpoint
- Protokol MCP — Pelajari Model Context Protocol
- Situs Web Sync — Daftar dan mulai menggunakan
Lisensi
MIT