Dokitscript espone un server Model Context Protocol remoto. Collegalo una volta e il tuo assistente potrà trascrivere un video, recuperarne il testo e cercare in tutto quello che hai già trascritto, senza che tu esca dalla conversazione.
MCP è il protocollo aperto con cui i client IA dialogano con strumenti esterni. Il nostro server vive all'indirizzo https://dokitscript.com/mcp. Una volta dichiarato, basta scrivere «trascrivi questo TikTok e tirami fuori le tre affermazioni da verificare»: l'assistente concatena da solo, chiama lo strumento di trascrizione, aspetta il testo e ci lavora sopra.
Inviare un URL da trascrivere, recuperare una trascrizione, elencare il tuo storico, cercarci dentro e porre una domanda su una singola trascrizione. Ogni strumento resta limitato al tuo account: la chiave ti identifica, e una trascrizione che appartiene a qualcun altro semplicemente non si trova.
L'accesso programmatico si apre con una chiave API, e ci sono due strade per crearne una: un piano a pagamento (Starter, Pro o Business), oppure un saldo di token API acquistati una tantum, senza alcun abbonamento.
| Che cosa fai | Quanto costa |
|---|---|
Leggereget_transcript, list_transcripts, search_transcripts |
Nulla oltre al limite giornaliero di richieste. Basta una chiave valida. |
Trascriveretranscribe_url |
Scalato dai tuoi token API: 1 token ogni 15 minuti iniziati, quindi 3 token per un video di 40 minuti. Su Business l'uso programmatico è compreso nell'abbonamento, senza scalare token. |
Porre una domandaask_question |
Scalato dalla tua quota IA mensile e riservato ai piani Pro e Business, esattamente come nell'applicazione web. |
Scegli il tuo client qui sotto, incolla il blocco nel file che legge, sostituisci dks_live_LA_TUA_CHIAVE con la tua chiave e riavvia l'applicazione. L'indirizzo del server non cambia mai: https://dokitscript.com/mcp.
La via più rapida è la riga di comando, dalla cartella in cui lavori:
claude mcp add --transport http dokitscript https://dokitscript.com/mcp \ --header "Authorization: Bearer dks_live_LA_TUA_CHIAVE"
Crea un .mcp.json nella radice del progetto: così tutta la squadra condivide la stessa dichiarazione.
{
"mcpServers": {
"dokitscript": {
"type": "http",
"url": "https://dokitscript.com/mcp",
"headers": {
"Authorization": "Bearer dks_live_LA_TUA_CHIAVE"
}
}
}
}Verifica con /mcp dentro una sessione: il server deve comparire come connesso, con i suoi cinque strumenti.
Crea .cursor/mcp.json nel progetto per un progetto solo, oppure ~/.cursor/mcp.json per rendere il server disponibile ovunque.
{
"mcpServers": {
"dokitscript": {
"url": "https://dokitscript.com/mcp",
"headers": {
"Authorization": "Bearer dks_live_LA_TUA_CHIAVE"
}
}
}
}Apri Settings, poi MCP per confermare che il server compaia. Se l'interruttore è spento, accendilo lì.
VS Code usa la chiave servers e non mcpServers. Sa anche chiedere la chiave all'avvio invece di conservarla nel file, che è quello che serve in un repository destinato al commit.
{
"inputs": [
{
"type": "promptString",
"id": "dokitscript-key",
"description": "Chiave API Dokitscript",
"password": true
}
],
"servers": {
"dokitscript": {
"type": "http",
"url": "https://dokitscript.com/mcp",
"headers": {
"Authorization": "Bearer ${input:dokitscript-key}"
}
}
}
}VS Code chiede la chiave la prima volta che avvia il server, poi se la ricorda. Gli strumenti compaiono quindi in modalità agente, nel selettore degli strumenti.
Claude Desktop ha due porte, e nessuna delle due accetta una chiave Bearer così com'è. Il pannello Connectors prende sì l'indirizzo di un server remoto, ma si autentica in OAuth e non offre alcun campo per una chiave fissa. Il file di configurazione, claude_desktop_config.json, avvia invece comandi locali anziché chiamare un URL. La strada che funziona oggi passa quindi da un piccolo ponte installato sulla tua macchina: Claude Desktop lo avvia come comando, e lui inoltra ogni scambio a https://dokitscript.com/mcp via HTTPS, con la tua chiave nell'header.
mcp-remote è un pacchetto open source con licenza MIT, pubblicato su npm dai suoi stessi manutentori; npx lo scarica al primo avvio e lo tiene in cache. Gli autori lo presentano come un ponte provvisorio, per i client che non sanno ancora raggiungere da soli un server remoto autenticato: il giorno in cui Claude Desktop ci riuscirà, cancelli il blocco e punti direttamente al nostro indirizzo. Gli altri tre client di questa pagina non installano nulla.
Node.js 18 o successivo, è lui che porta con sé npx. Verifica da terminale:
node -vSu Windows serve anche npm installato a livello globale, altrimenti npx non parte affatto. Basta un comando: npm install -g npm.
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json, sulle build della comunità; l'app ufficiale copre macOS e Windows. |
La via più corta: Settings, poi Developer, poi Edit Config. Apre il file, e lo crea se ancora non c'era.
{
"mcpServers": {
"dokitscript": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://dokitscript.com/mcp",
"--transport",
"http-only",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer dks_live_LA_TUA_CHIAVE"
}
}
}
}Se il file contiene già un oggetto mcpServers, aggiungici "dokitscript" dentro invece di sostituire l'intero file.
La chiave passa da env. Su Windows, Claude Desktop consegna gli args a npx senza proteggere gli spazi. Scritto dentro l'argomento, "Authorization: Bearer dks_live_…" si spezza sullo spazio: il ponte legge allora un header vuoto, il resto della chiave resta lì come argomento orfano, e il server risponde 401 mentre la chiave è perfettamente valida. Tenere lo spazio dentro la variabile lo mette al riparo da chi taglia. L'argomento nomina l'header prima dei due punti, e la variabile porta Bearer, uno spazio e poi la tua chiave.
--transport http-only toglie di mezzo un indovinello. Il nostro server risponde in POST e restituisce 405 a tutto il resto, di proposito. Lasciato a scegliere il trasporto da sé, il ponte legge un 405 come segnale per ripiegare su una modalità di flusso spinto dal server che non implementiamo: un vicolo cieco che non c'entra nulla con la tua chiave. Nominare il trasporto elimina quel ramo.
Cmd + Q su macOS, esci dall'area di notifica su Windows. La configurazione si legge soltanto all'avvio.dokitscript dovrebbe essere lì con i suoi cinque strumenti.list_transcripts da solo, senza che tu nomini lo strumento.Il ponte sta fra te e noi: il client segnala un server che non si avvia e non mostra mai il nostro stato HTTP. Due comandi dicono quale metà è in difetto. Questo parla con noi senza ponte di mezzo, e una chiave buona risponde con le cinque definizioni degli strumenti:
curl -X POST https://dokitscript.com/mcp \ -H "Authorization: Bearer dks_live_LA_TUA_CHIAVE" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Quest'altro avvia il ponte a mano, dove il suo errore vero viene stampato invece che inghiottito. Qui gli spazi non danno fastidio, perché non era il terminale a spezzarli:
npx -y mcp-remote https://dokitscript.com/mcp \ --transport http-only --debug \ --header "Authorization: Bearer dks_live_LA_TUA_CHIAVE"
| Che cosa vedi | Che cosa fare |
|---|---|
| Niente nell'elenco, e nessun errore da nessuna parte | O il file non è JSON valido, e l'applicazione lo ignora in silenzio, oppure non è mai stata chiusa davvero. Passa il file in un validatore JSON, poi chiudi e riapri. |
npx non trovato, oppure ENOENT |
Manca Node, o manca nel PATH che l'applicazione eredita. Installa Node 18+, su Windows aggiungi npm install -g npm, poi esci e rientra nella sessione perché l'applicazione veda il PATH nuovo. |
Si connette, poi 401 alla prima chiamata |
Chiave sbagliata, troncata o revocata. Il curl qui sopra chiude la questione in un secondo: se curl passa e il ponte no, la chiave è stata tagliata per strada, quindi controlla che AUTH_HEADER contenga Bearer, uno spazio e la chiave. |
429 API_DAILY_CAP_EXCEEDED |
La chiave ha toccato il tetto giornaliero. Conta ogni chiamata, elenco degli strumenti compreso, e un assistente finito in un ciclo ci arriva in fretta. Retry-After dà l'attesa in secondi e il conteggio riparte a mezzanotte, ora di Parigi. |
503 Public API is unavailable |
L'accesso da programma è spento da parte nostra. Da te non c'è nulla da cambiare. La pagina di stato dice quando torna. |
| Una vecchia chiave continua a tornare | Il ponte tiene in cache i dati di connessione in ~/.mcp-auth. Cancella quella cartella, poi riavvia il client. |
I propri errori il ponte li scrive nel registro del client: ~/Library/Logs/Claude/mcp-server-dokitscript.log su macOS, %APPDATA%\Claude\logs\mcp-server-dokitscript.log su Windows. Per i codici che restituisce il server, guarda la tabella più sotto.
Va bene qualunque client che parli MCP su HTTP e permetta di impostare un header. Il server accetta richieste POST con JSON-RPC 2.0 e risponde in application/json. Non ci sono sessioni né flussi aperti dal server: GET e DELETE restituiscono 405, ed è voluto. Per provare la chiave a mano:
curl -X POST https://dokitscript.com/mcp \ -H "Authorization: Bearer dks_live_LA_TUA_CHIAVE" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Una chiave valida restituisce la definizione dei cinque strumenti. Una chiamata si presenta così:
curl -X POST https://dokitscript.com/mcp \ -H "Authorization: Bearer dks_live_LA_TUA_CHIAVE" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call", "params":{"name":"list_transcripts","arguments":{"limit":5}}}'
Il tuo assistente li sceglie da sé, a partire dalle descrizioni qui sotto. Non devi mai nominare uno strumento: basta chiedere in linguaggio normale.
| Strumento | Che cosa fa | Parametri |
|---|---|---|
transcribe_url |
Invia un URL video o audio da TikTok, Instagram, YouTube, Facebook, X o LinkedIn. Restituisce subito un identificativo e trascrive in secondo piano. | url (obbligatorio) · language, un indizio oppure auto · format: timestamps, plain, srt o vtt |
get_transcript |
Recupera una trascrizione dal suo identificativo, quello appena restituito da transcribe_url oppure quello di una voce dello storico. Finché il lavoro è in corso restituisce l'avanzamento invece del testo. |
transcriptId (obbligatorio) · format |
list_transcripts |
Elenca le trascrizioni dell'account, dalla più recente, con una breve anteprima di testo per ciascuna. | page, da 1 · limit, fino a 50 · filtro platform |
search_transcripts |
Ricerca a testo pieno in tutto quello che hai trascritto. Comoda per «che cosa ho detto sui prezzi in quell'intervista». | query (obbligatorio, massimo 200 caratteri) · page · limit |
ask_question |
Pone una domanda libera su una trascrizione e restituisce una risposta documentata, con le fonti. | transcriptId (obbligatorio) · question (obbligatorio, massimo 500 caratteri) |
transcribe_url restituisce subito un identificativo; l'assistente richiama poi get_transcript con lo stesso identificativo finché il testo non è pronto. Un solo identificativo accompagna tutto il lavoro, non c'è nulla da annotare.
Un agente IA che finisce in un ciclo è un guasto ordinario, non per forza un attacco. Per questo il server limita quante richieste una stessa chiave può fare in un giorno.
| Limite | Valore |
|---|---|
| Richieste per chiave | 1.000 al giorno di default, contando ogni chiamata, compreso il semplice elenco degli strumenti. Azzeramento a mezzanotte, ora di Parigi. |
| Chiavi attive | Fino a 10 per account, revocabili in qualsiasi momento. |
| Durata del video | 45 minuti per elemento con i token API, fino a 5 ore su Business. |
| Query di ricerca | Massimo 200 caratteri. |
| Lunghezza della domanda | Massimo 500 caratteri. |
| Che cosa vedi | Che cosa significa |
|---|---|
| Nessuno strumento nel client | Il client non ha riletto il file. Chiudilo del tutto e riaprilo. Poi verifica che l'indirizzo sia https://dokitscript.com/mcp, senza nulla in coda. |
401 chiave API assente o non valida |
L'header deve riportare esattamente Authorization: Bearer dks_live_…. Uno spazio in meno, un incolla monco o una chiave revocata finiscono tutti qui. |
403 richiede piano Business o token API |
L'account dietro la chiave non ha né piano a pagamento né saldo di token. Acquista un pacchetto o cambia piano dal tuo account. Anche un account sospeso restituisce 403. |
402 API_CREDITS_INSUFFICIENT |
Token API insufficienti per un video di quella durata. Ricorda che un token copre 15 minuti iniziati: un file lungo ne consuma parecchi in una volta. |
429 API_DAILY_CAP_EXCEEDED |
La chiave ha raggiunto il tetto giornaliero. L'header Retry-After indica l'attesa in secondi; il contatore riparte a mezzanotte, ora di Parigi. |
503 API pubblica non disponibile |
L'accesso programmatico è momentaneamente spento. Non c'è nulla da cambiare da parte tua. Consulta la pagina di stato. |
405 su una richiesta GET |
È previsto, non è un guasto. Il server risponde solo in POST e non apre mai un flusso di propria iniziativa. |
| «Transcript not found» | L'identificativo è sbagliato oppure appartiene a un altro account. Una chiave vede soltanto le trascrizioni del proprio account. |
| «Still processing» | Normale su un video lungo. L'assistente deve richiamare get_transcript con lo stesso identificativo poco dopo. |
Serve una chiave separata per MCP?
No. Il server MCP e l'API REST condividono le stesse chiavi, le stesse condizioni di accesso e lo stesso saldo. Una chiave copre entrambi.
Serve installare qualcosa per Claude Desktop?
Sì, ed è l'unico dei quattro. Claude Desktop non sa ancora mandare una chiave fissa a un server remoto, quindi passa da mcp-remote, un ponte open source pubblicato su npm da manutentori esterni e che npx scarica al primo avvio. Serve Node.js 18 o successivo. Claude Code, Cursor e VS Code chiamano il nostro indirizzo direttamente, senza installare nulla.
Il mio assistente può vedere trascrizioni di altri account?
No. Ogni strumento filtra sull'account proprietario della chiave, e un identificativo esterno torna semplicemente come non trovato.
Collegare il server costa qualcosa di per sé?
No. Elencare gli strumenti e rileggere il proprio storico sono gratuiti. Solo trascrivere e porre domande consumano qualcosa.
Posso usarlo su più macchine?
Sì. Crea una chiave per macchina, fino a dieci, e revoca solo quella se perdi un portatile, senza toccare le altre.
Quali lingue gestisce?
Le stesse 90+ lingue dell'applicazione web. Lascia language su auto e il riconoscimento avviene da solo.
Crea una chiave, incolla un blocco, riavvia il tuo client. Il tuo assistente guadagna uno strumento di trascrizione che sa usare da solo.