DocumentazioneCollegare il server MCP

Collegare il server MCP

Configura Claude, ChatGPT, Cursor, VS Code o Claude Code per trascrivere con transcript1 tramite MCP.

Con il server remoto Model Context Protocol di transcript1, il tuo assistente IA può avviare trascrizioni e leggerne il testo. Puoi passargli link di YouTube, X, TikTok, Instagram, Facebook e Bluesky, oppure caricare file audio e video. Trovi le altre registrazioni pubbliche accettate e le restrizioni in Link e opzioni di trascrizione.

I post devono essere pubblici; se contengono più video, trascriviamo solo il primo. Come su YouTube e X, anche su TikTok, Bluesky, Dailymotion e LinkedIn cerchiamo sottotitoli adatti nella lingua originale. In modalità auto, se non possiamo usarli, trascriviamo l'audio con IA allo stesso prezzo al minuto. Fuori da YouTube, i sottotitoli hanno i timestamp dei segmenti, non delle parole (words: null), anche se generati automaticamente.

Con captions (solo sottotitoli) non scarichiamo audio e non usiamo STT. Se chiedi il riconoscimento dei parlanti o imposti source=stt, invece, usiamo direttamente l'audio. I dettagli sono in Link e opzioni di trascrizione.

  • Endpoint: https://api.transcript1.com/mcp (streamable HTTP)
  • Accesso: con Claude e ChatGPT usi OAuth 2.1: accedi a transcript1 e autorizzi il collegamento. Con Cursor, VS Code, Claude Code e gli agenti, usa una chiave API nell'header Authorization: Bearer t1_.... Puoi crearla in “API keys”.

Gli strumenti MCP chiamano l'API REST /v1 con le tue credenziali. Restano uguali i controlli sui parametri, i costi e i codici di errore. Le chiamate MCP usano gli stessi minuti e gli stessi limiti dell'account: non hanno una quota separata.

Gli strumenti disponibili

StrumentoQuando usarlo
transcribePer trascrivere un video da un link supportato. Passa url e, se servono, platform, source, language, diarize, format e wait_seconds. Riconosce la piattaforma dal link, aspetta la trascrizione e ne restituisce la prima pagina. Se sta ancora lavorando, restituisce l'id.
get_transcriptionPer leggere lo stato o il testo tramite id. Puoi aggiungere wait_seconds, format, from_seconds e max_chars.
list_transcriptionsPer trovare le trascrizioni recenti, dalla più nuova alla più vecchia, senza il testo. Puoi aggiungere status, platform, limit e cursor.
create_uploadPer aprire un caricamento in parti di un file locale. Servono filename, size e request_id, un UUID che generi tu. Puoi aggiungere mime_type, language e diarize.
get_upload_statusPer sapere quali chunk sono arrivati e riprendere un caricamento interrotto.
complete_uploadPer controllare i chunk ricevuti e mettere in coda la trascrizione.
delete_transcriptionPer annullare una trascrizione in corso e riavere i minuti, oppure eliminare una trascrizione già terminata e il suo testo.
get_accountPer controllare saldo dei minuti, piano e data di rinnovo.

Formati, attesa e pagine

  • Di default, format è text: ricevi una riga per segmento, con timestamp e, se hai attivato il riconoscimento dei parlanti, l'etichetta di chi parla. Per esempio: [00:01:02] Speaker 1: Good morning. Puoi scegliere anche srt, vtt o json.
  • Con wait_seconds scegli quanto aspettare, da 0 a 55 secondi; il valore predefinito è 50. Se il tempo non basta, la risposta indica che la trascrizione è ancora in corso e fornisce l'id. Passalo a get_transcription per aspettare ancora.
  • Il testo lungo arriva in più pagine. max_chars è 60.000 di default e accetta valori da 1.000 a 100.000. La pagina termina sempre tra due segmenti. Per continuare, prendi next_from_seconds dalla risposta e passalo come from_seconds.
  • La risposta indica anche transcript_source: youtube_captions, x_captions, tiktok_captions, bluesky_captions, dailymotion_captions, linkedin_captions o speech_to_text. L'assistente sa così da dove arriva il testo. Con caption_kind: null, l'origine della traccia è sconosciuta: non significa che l'abbia caricata il creator.

Prima di inviare di nuovo, controlla lo stato

transcribe attiva sempre reuse_recent. Con un link completo, se invii lo stesso video con le stesse opzioni entro 24 ore, recuperi la trascrizione precedente senza pagare di nuovo. La risposta segnala il riutilizzo. Non vale per i link brevi. Per sapere a che punto è un lavoro già avviato, usa get_transcription o list_transcriptions anziché inviarlo di nuovo.

Come caricare un file

I byte del file non passano attraverso MCP. Con create_upload ottieni l'id della trascrizione, il modello di URL per le parti, X-Upload-Token e l'elenco dei chunk da inviare. L'assistente carica ogni chunk con un PUT HTTP fuori da MCP, poi chiama complete_upload. La risposta include anche il link alla pagina di caricamento nella dashboard, se preferisci usarla. La procedura è in Caricare file.

Per i webhook serve l'API REST

Non puoi impostare un webhook negli strumenti MCP. Se vuoi ricevere webhook, usa l'API REST.

Claude

In Claude, aggiungi il server remoto come connettore personalizzato:

  1. Dalle impostazioni dei connettori, scegli di aggiungere un connettore personalizzato.
  2. Chiamalo transcript1 e inserisci https://api.transcript1.com/mcp come URL.
  3. Quando si apre transcript1, accedi e autorizza gli scope transcriptions:read e transcriptions:write richiesti dal connettore.

Ora puoi scrivere a Claude, ad esempio: “Trascrivi https://www.youtube.com/watch?v=dQw4w9WgXcQ”. La disponibilità dei connettori personalizzati dipende dal piano Claude.

ChatGPT

Per ChatGPT, configura un connettore personalizzato:

  1. Nelle impostazioni dei connettori, aggiungi un connettore personalizzato per MCP.
  2. Come URL del server, usa https://api.transcript1.com/mcp.
  3. Completa il collegamento accedendo a transcript1 e autorizzando l'accesso.

L'opzione dipende dal piano ChatGPT e dalle impostazioni del workspace. Potresti dover attivare la modalità sviluppatore.

Collegare Cursor

Per la configurazione in un clic, usa Aggiungi transcript1 a Cursor.

Se preferisci configurarlo a mano, aggiungi il server in .cursor/mcp.json e inserisci la chiave API nell'header Authorization:

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

VS Code

Puoi partire da Aggiungi transcript1 a VS Code per la configurazione in un clic.

In alternativa, modifica .vscode/mcp.json nel workspace e aggiungi:

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

Collegare Claude Code

Inserisci la tua chiave API al posto di t1_YOURKEY ed esegui il comando:

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

Usare un altro client MCP

Se il client supporta i server MCP remoti, collegalo a https://api.transcript1.com/mcp con l'header Authorization: Bearer t1_....

Avvio da comando per Claude Desktop e altri client

Se il client avvia i server MCP eseguendo un comando, usa npx -y @transcript1/mcp e imposta TRANSCRIPT1_API_KEY con la tua chiave API. Il pacchetto fa da collegamento al server remoto di transcript1. Serve Node.js 18 o successivo.

Per Claude Desktop, aggiungi questa configurazione a claude_desktop_config.json. Al posto di t1_YOURKEY, usa una chiave creata in “API keys”.

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

Agent Skill

Se il tuo agente supporta le skill, puoi aggiungere l'Agent Skill di transcript1. È un breve file SKILL.md con le istruzioni per usare il servizio, disponibile su https://transcript1.com/.well-known/agent-skills/transcript1/SKILL.md.

Gli agenti che scoprono le skill automaticamente possono trovarla nell'indice https://transcript1.com/.well-known/agent-skills/index.json.

Leggere gli errori degli strumenti

Se una chiamata a uno strumento non riesce, ricevi lo stesso code dell'API REST, una spiegazione e un'indicazione per l'assistente su cosa fare dopo. La struttura è <code>: <message>. <next step>. Se finiscono i minuti, per esempio:

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

Consulta Gestire gli errori per tutti i codici. Anche quando non riesce la trascrizione, la risposta segue questa struttura e riporta il codice specifico, ad esempio media_private o no_captions.

Ultimo aggiornamento 15 ottobre 2026