Servidor MCP

Dê ao seu assistente de IA uma ferramenta de transcrição

O Dokitscript expõe um servidor Model Context Protocol remoto. Conecte uma vez e o seu assistente passa a transcrever um vídeo, buscar o texto de volta e pesquisar tudo o que você já transcreveu, sem que você saia da conversa.

Ir para a instalação Ver as ferramentas
Visão geral

O que muda na prática

MCP é o protocolo aberto pelo qual os clientes de IA conversam com ferramentas de fora. O nosso servidor fica em https://dokitscript.com/mcp. Depois de declarado, basta escrever «transcreve esse TikTok e me traz as três afirmações que valem checagem»: o assistente encadeia sozinho, chama a ferramenta de transcrição, espera o texto e trabalha em cima dele.

Cinco ferramentas, uma chave só

Enviar uma URL para transcrição, buscar uma transcrição, listar o seu histórico, pesquisar dentro dele e fazer uma pergunta sobre uma transcrição específica. Cada ferramenta fica restrita à sua própria conta: a chave identifica você, e uma transcrição de outra conta simplesmente não aparece.

A mesma chave da API. Se você já usa a API do Dokitscript, a sua chave atual funciona aqui sem mexer em nada. Nada a gerar a mais, nada a pagar a mais.
Acesso

O que você precisa antes de começar

O acesso programático abre com uma chave de API, e há dois caminhos para criar uma: um plano pago (Starter, Pro ou Business), ou saldo de tokens de API comprados avulsos, sem assinatura alguma.

O que você fazQuanto custa
Ler
get_transcript, list_transcripts, search_transcripts
Nada além do limite diário de requisições. Uma chave válida já basta.
Transcrever
transcribe_url
Descontado dos seus tokens de API: 1 token por bloco de 15 minutos iniciado, ou seja, 3 tokens num vídeo de 40 minutos. No Business, o uso programático já vem na assinatura, sem desconto de tokens.
Perguntar
ask_question
Descontado da sua cota mensal de IA e restrito aos planos Pro e Business, exatamente como no aplicativo web.
Duração máxima por vídeo. Quando o uso é cobrado em tokens de API, o teto é de 45 minutos por vídeo ou arquivo. No Business ele sobe para 5 horas. Os planos e os pacotes de tokens estão na página de preços.
Passo 1

Pegue a sua chave

  1. Entre na sua conta e abra o painel API em minha conta.
  2. Compre ali um pacote de tokens de API se ainda não tiver plano pago.
  3. Crie uma chave e dê um nome que você reconheça depois, por exemplo o da máquina onde ela vai ficar.
  4. Copie o segredo na hora. Ele aparece uma única vez, na criação, e nunca mais. Se você perder, revogue a chave e crie outra.
Trate como uma senha. Uma chave gasta o seu saldo de transcrição. Mantenha longe de repositórios compartilhados, capturas de tela e mensagens. Você pode manter até 10 chaves ativas e revogar qualquer uma na hora pelo mesmo painel, que é a correção mais rápida se uma vazar.
Passo 2

Declare o servidor no seu cliente

Escolha o seu cliente abaixo, cole o bloco no arquivo que ele lê, troque dks_live_SUA_CHAVE pela sua chave e reinicie o aplicativo. O endereço do servidor nunca muda: https://dokitscript.com/mcp.

Claude Code .mcp.json

O caminho mais rápido é a linha de comando, dentro da pasta em que você trabalha:

claude mcp add --transport http dokitscript https://dokitscript.com/mcp \
  --header "Authorization: Bearer dks_live_SUA_CHAVE"
Ou editar o arquivo na mão

Crie um .mcp.json na raiz do projeto: assim o time inteiro compartilha a mesma declaração.

{
  "mcpServers": {
    "dokitscript": {
      "type": "http",
      "url": "https://dokitscript.com/mcp",
      "headers": {
        "Authorization": "Bearer dks_live_SUA_CHAVE"
      }
    }
  }
}

Confira com /mcp dentro de uma sessão: o servidor deve aparecer como conectado, com as cinco ferramentas.

Cursor .cursor/mcp.json

Crie .cursor/mcp.json no projeto para um projeto só, ou ~/.cursor/mcp.json para deixar o servidor disponível em todos.

{
  "mcpServers": {
    "dokitscript": {
      "url": "https://dokitscript.com/mcp",
      "headers": {
        "Authorization": "Bearer dks_live_SUA_CHAVE"
      }
    }
  }
}

Abra Settings e depois MCP para confirmar que o servidor aparece. Se a chave estiver desligada, ligue por ali.

VS Code .vscode/mcp.json

O VS Code usa a chave servers, não mcpServers. Ele também sabe pedir a chave ao iniciar em vez de guardá-la no arquivo, que é o que você quer num repositório que vai para o commit.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "dokitscript-key",
      "description": "Chave de API do Dokitscript",
      "password": true
    }
  ],
  "servers": {
    "dokitscript": {
      "type": "http",
      "url": "https://dokitscript.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:dokitscript-key}"
      }
    }
  }
}

O VS Code pede a chave na primeira vez que o servidor sobe e guarda depois. As ferramentas aparecem então no modo agente, no seletor de ferramentas.

Claude Desktop claude_desktop_config.json

O Claude Desktop tem duas portas, e nenhuma aceita uma chave Bearer do jeito que ela é. O painel Connectors até recebe o endereço de um servidor remoto, mas se identifica por OAuth e não oferece campo nenhum para uma chave fixa. Já o arquivo de configuração, claude_desktop_config.json, dispara comandos locais em vez de chamar uma URL. Por isso o caminho que funciona hoje passa por um pequeno retransmissor na sua máquina: o Claude Desktop o inicia como um comando, e ele repassa cada troca para https://dokitscript.com/mcp por HTTPS, com a sua chave no cabeçalho.

Esse retransmissor não é nosso. O mcp-remote é um pacote de código aberto sob licença MIT, publicado no npm pelos próprios mantenedores; o npx baixa na primeira vez e guarda em cache. Os autores o apresentam como uma ponte provisória, para clientes que ainda não sabem alcançar sozinhos um servidor remoto autenticado: no dia em que o Claude Desktop souber, você apaga o bloco e aponta direto para o nosso endereço. Os outros três clientes desta página não instalam nada.
Antes de começar

Node.js 18 ou mais novo, que é o que traz o npx junto. Confira num terminal:

node -v

No Windows, o npm também precisa estar instalado globalmente, senão o npx se recusa a subir. Um comando resolve: npm install -g npm.

Onde fica o arquivo
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json, nas versões da comunidade; o aplicativo oficial cobre macOS e Windows.

Caminho mais curto: Settings, depois Developer, depois Edit Config. Abre o arquivo e cria, se ele ainda não existia.

O bloco para colar
{
  "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_SUA_CHAVE"
      }
    }
  }
}

Se o arquivo já tiver um objeto mcpServers, acrescente "dokitscript" dentro dele em vez de substituir o arquivo inteiro.

Dois detalhes que não são enfeite

A chave viaja pelo env. No Windows, o Claude Desktop entrega os args ao npx sem proteger os espaços. Escrito direto no argumento, "Authorization: Bearer dks_live_…" quebra no espaço: o retransmissor lê um cabeçalho vazio, o resto da chave fica solto como argumento órfão, e o servidor devolve 401 mesmo com a chave perfeitamente válida. Manter o espaço dentro da variável o coloca fora do alcance de quem corta. O argumento nomeia o cabeçalho antes dos dois-pontos, e a variável carrega Bearer, um espaço e a sua chave.

--transport http-only tira um palpite do caminho. O nosso servidor responde em POST e devolve 405 a todo o resto, de propósito. Deixado para escolher o transporte sozinho, o retransmissor lê um 405 como sinal para recuar até um modo de fluxo empurrado pelo servidor que não implementamos: um beco sem saída que nada tem a ver com a sua chave. Nomear o transporte descarta esse caminho.

Conferir se deu certo
  1. Feche o aplicativo por completo, não só a janela: Cmd + Q no macOS, sair pela bandeja do sistema no Windows. A configuração só é lida ao iniciar.
  2. Abra de novo e chame a lista Connectors pelo botão no canto inferior esquerdo da caixa de mensagem. O dokitscript deve estar lá, com as cinco ferramentas.
  3. Peça algo banal, do tipo liste minhas três últimas transcrições. Ele deve buscar o list_transcripts por conta própria, sem você nomear a ferramenta.
Quando não conecta

O retransmissor fica entre você e nós: o cliente avisa que um servidor não sobe e nunca mostra o nosso código HTTP. Dois comandos apontam qual metade falhou. Este fala conosco sem retransmissor no meio, e uma chave boa responde com as cinco definições de ferramentas:

curl -X POST https://dokitscript.com/mcp \
  -H "Authorization: Bearer dks_live_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

E este sobe o retransmissor na mão, onde o erro de verdade aparece em vez de sumir. Aqui os espaços não atrapalham, porque não é o terminal que os quebrava:

npx -y mcp-remote https://dokitscript.com/mcp \
  --transport http-only --debug \
  --header "Authorization: Bearer dks_live_SUA_CHAVE"
O que você vêO que fazer
Nada na lista, e nenhum erro em lugar nenhum Ou o arquivo não é JSON válido, e o aplicativo o ignora calado, ou ele nunca foi fechado de verdade. Passe o arquivo por um validador de JSON, depois feche e abra de novo.
npx não encontrado, ou ENOENT Falta o Node, ou ele falta no PATH que o aplicativo herda. Instale o Node 18+, acrescente npm install -g npm no Windows, depois saia e entre de novo na sessão para o aplicativo enxergar o PATH novo.
Conecta e devolve 401 na primeira chamada Chave errada, cortada ou revogada. O curl acima resolve em um segundo: se o curl passa e o retransmissor não, a chave foi cortada no caminho, então confira se AUTH_HEADER traz Bearer, um espaço e a chave.
429 API_DAILY_CAP_EXCEEDED A chave bateu no teto do dia. Cada chamada conta, inclusive a lista de ferramentas, e um assistente preso num laço chega lá rápido. O Retry-After dá a espera em segundos e a contagem zera à meia-noite, hora de Paris.
503 Public API is unavailable O acesso por programa está desligado do nosso lado. Não há o que mexer aí. A página de status diz quando volta.
Uma chave antiga insiste em voltar O retransmissor guarda dados de conexão em cache em ~/.mcp-auth. Apague essa pasta e reinicie o cliente.

O retransmissor grava os próprios erros no log do cliente: ~/Library/Logs/Claude/mcp-server-dokitscript.log no macOS, %APPDATA%\Claude\logs\mcp-server-dokitscript.log no Windows. Para os códigos que o servidor devolve, veja a tabela mais abaixo.

Outro cliente JSON-RPC 2.0 sobre HTTP

Serve qualquer cliente que fale MCP por HTTP e permita colocar um cabeçalho. O servidor aceita requisições POST com JSON-RPC 2.0 e responde em application/json. Não há sessão nem fluxo puxado pelo servidor: GET e DELETE devolvem 405, e isso é intencional. Para testar a sua chave na mão:

curl -X POST https://dokitscript.com/mcp \
  -H "Authorization: Bearer dks_live_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Uma chave válida devolve a definição das cinco ferramentas. Uma chamada fica assim:

curl -X POST https://dokitscript.com/mcp \
  -H "Authorization: Bearer dks_live_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"list_transcripts","arguments":{"limit":5}}}'
Referência

As cinco ferramentas

O seu assistente escolhe sozinho, a partir das descrições abaixo. Você nunca precisa nomear uma ferramenta: pedir em linguagem comum já resolve.

FerramentaO que fazParâmetros
transcribe_url Envia uma URL de vídeo ou áudio do TikTok, Instagram, YouTube, Facebook, X ou LinkedIn. Devolve um identificador na hora e transcreve em segundo plano. url (obrigatório) · language, uma pista ou auto · format: timestamps, plain, srt ou vtt
get_transcript Busca uma transcrição pelo identificador, o que transcribe_url acabou de devolver ou o de uma do histórico. Enquanto o trabalho corre, devolve o progresso em vez do texto. transcriptId (obrigatório) · format
list_transcripts Lista as transcrições da conta, da mais recente para a mais antiga, com uma prévia curta de cada uma. page, a partir de 1 · limit, até 50 · filtro platform
search_transcripts Busca em texto completo por tudo o que você já transcreveu. Útil para «o que eu falei sobre preços naquela entrevista». query (obrigatório, até 200 caracteres) · page · limit
ask_question Faz uma pergunta livre sobre uma transcrição e devolve uma resposta pesquisada, com as fontes. transcriptId (obrigatório) · question (obrigatório, até 500 caracteres)
A transcrição é assíncrona. O transcribe_url devolve um identificador na hora; o assistente chama depois o get_transcript com esse mesmo identificador até o texto ficar pronto. Um identificador só acompanha o trabalho inteiro, então não há nada para você anotar.
Limites

Tetos de requisições

Um agente de IA travado em laço é uma falha comum, não necessariamente um ataque. Por isso o servidor limita quantas requisições uma mesma chave pode fazer num dia.

LimiteValor
Requisições por chave1.000 por dia por padrão, contando qualquer chamada, inclusive a simples listagem de ferramentas. Zera à meia-noite, no horário de Paris.
Chaves ativasAté 10 por conta, revogáveis a qualquer momento.
Duração do vídeo45 minutos por item com tokens de API, até 5 horas no Business.
Consulta de buscaAté 200 caracteres.
Tamanho da perguntaAté 500 caracteres.
Solução de problemas

Quando não funciona

O que você vêO que significa
Nenhuma ferramenta no cliente O cliente não releu o arquivo. Feche por completo e abra de novo. Depois confira se o endereço é https://dokitscript.com/mcp, sem nada depois.
401 chave de API ausente ou inválida O cabeçalho tem de dizer exatamente Authorization: Bearer dks_live_…. Um espaço a menos, uma colagem pela metade ou uma chave revogada caem todos aqui.
403 exige plano Business ou tokens de API A conta por trás da chave não tem plano pago nem saldo de tokens. Compre um pacote ou mude de plano em minha conta. Uma conta suspensa também devolve 403.
402 API_CREDITS_INSUFFICIENT Tokens de API insuficientes para um vídeo dessa duração. Lembre que um token cobre 15 minutos iniciados: um arquivo longo consome vários de uma vez.
429 API_DAILY_CAP_EXCEEDED A chave bateu o teto diário. O cabeçalho Retry-After traz a espera em segundos; o contador zera à meia-noite, no horário de Paris.
503 API pública indisponível O acesso programático está desligado por ora. Nada a mudar do seu lado. Veja a página de status.
405 numa requisição GET É o esperado, não é defeito. O servidor só responde a POST e nunca abre um fluxo por conta própria.
«Transcript not found» O identificador está errado ou pertence a outra conta. Uma chave só enxerga as transcrições da própria conta.
«Still processing» Normal num vídeo longo. O assistente deve chamar get_transcript de novo com o mesmo identificador logo depois.
Ainda travado? Escreva para [email protected] com o nome da ferramenta e o texto exato do erro. Nunca nos envie a sua chave.
FAQ

Perguntas frequentes

Preciso de uma chave separada para MCP?

Não. O servidor MCP e a API REST dividem as mesmas chaves, as mesmas condições de acesso e o mesmo saldo. Uma chave cobre os dois.

Precisa instalar alguma coisa para o Claude Desktop?

Precisa, e é o único dos quatro. O Claude Desktop ainda não sabe mandar uma chave fixa para um servidor remoto, então passa pelo mcp-remote, um retransmissor de código aberto publicado no npm por mantenedores de fora, que o npx baixa na primeira vez. É preciso Node.js 18 ou mais novo. Claude Code, Cursor e VS Code chamam o nosso endereço direto, sem instalar nada.

O meu assistente pode ver transcrições de outras contas?

Não. Cada ferramenta filtra pela conta dona da chave, e um identificador de fora volta simplesmente como não encontrado.

Só conectar o servidor já custa alguma coisa?

Não. Listar as ferramentas e ler o seu próprio histórico são gratuitos. Só transcrever e perguntar consomem algo.

Dá para usar em várias máquinas?

Dá. Crie uma chave por máquina, até dez, e revogue só uma se perder um notebook, sem mexer nas outras.

Quais idiomas ele aceita?

Os mesmos 90+ idiomas do aplicativo web. Deixe language em auto e a detecção acontece sozinha.

Disponível

Conectado em dois minutos

Crie uma chave, cole um bloco, reinicie o seu cliente. O seu assistente ganha uma ferramenta de transcrição que ele sabe usar sozinho.