# Servidor MCP

> Dê ao seu assistente acesso às transcrições pelo MCP. Veja como conectar Claude, ChatGPT, Cursor, VS Code, Claude Code e outros clientes.

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

Com o servidor remoto do transcript1, seu assistente de IA pode pedir transcrições e ler o texto. A conexão usa [Model Context Protocol](https://modelcontextprotocol.io/). Você pode enviar links do YouTube, X, TikTok, Instagram, Facebook e Bluesky, ou arquivos de áudio e vídeo por upload. Consulte as outras gravações públicas aceitas e suas restrições em [Links aceitos e opções](https://transcript1.com/pt/docs/sources-and-options).

Envie posts públicos. Se houver vários vídeos no post, transcrevemos só o primeiro. Além do suporte a legendas do YouTube e do X, podemos usar as legendas no idioma original do TikTok, Bluesky, Dailymotion e LinkedIn. No modo auto, se não pudermos usar as legendas, transcrevemos o áudio com IA pelo mesmo preço por minuto. Fora do YouTube, as legendas só trazem marcações de tempo por segmento (`words: null`), mesmo quando são geradas automaticamente. O modo `captions` (somente legendas) não baixa áudio nem usa STT. Já `source=stt` e a identificação de falantes fazem o serviço ir direto ao áudio. Veja os detalhes em [Links aceitos e opções](https://transcript1.com/pt/docs/sources-and-options).

- **Endpoint:** `https://api.transcript1.com/mcp` (streamable HTTP)
- **Autenticação:** no Claude e no ChatGPT, use OAuth 2.1: entre no transcript1 e autorize o acesso. No Cursor, VS Code, Claude Code e em agentes, envie uma chave de API como `Authorization: Bearer t1_...`. Você cria a chave em [“API keys”](https://transcript1.com/dashboard/account/tokens).

As ferramentas chamam a [API REST](https://transcript1.com/pt/docs/api-reference) `/v1` com a sua credencial. As regras de validação, cobrança e erros são as mesmas. As chamadas MCP usam o mesmo saldo de minutos e os mesmos limites da conta que as demais chamadas.

## Ferramentas

| Ferramenta | Como usar |
|---|---|
| `transcribe` | Envie um link de vídeo aceito em `url`. Se precisar, passe `platform`, `source`, `language`, `diarize`, `format` e `wait_seconds`. A plataforma é reconhecida pelo link. A ferramenta aguarda e entrega a primeira página do texto; se ainda não estiver pronto, devolve o `id`. |
| `get_transcription` | Consulte o status ou leia o texto pelo `id`. As opções são `wait_seconds`, `format`, `from_seconds` e `max_chars`. |
| `list_transcriptions` | Consulte as transcrições recentes, da mais nova para a mais antiga, sem o texto. Você pode passar `status`, `platform`, `limit` e `cursor`. |
| `create_upload` | Crie um upload em partes para um arquivo local. Informe `filename`, `size` e `request_id`, um UUID gerado por você. Se precisar, adicione `mime_type`, `language` e `diarize`. |
| `get_upload_status` | Confira quais partes já chegaram antes de continuar um upload interrompido. |
| `complete_upload` | Peça a conferência das partes e coloque a transcrição na fila. |
| `delete_transcription` | Cancele uma transcrição em andamento e receba os minutos de volta, ou exclua uma já finalizada junto com o texto. |
| `get_account` | Consulte o saldo de minutos, o plano e a data de renovação. |

### Formato, espera e paginação

- Por padrão, `format` é `text`: cada segmento ocupa uma linha com marcação de tempo e, se você ativou a identificação de falantes, o rótulo de quem fala. Exemplo: `[00:01:02] Speaker 1: Good morning.` Você também pode escolher `srt`, `vtt` ou `json`.
- A espera padrão de `wait_seconds` é de 50 segundos. O campo aceita de 0 a 55. Se a transcrição continuar em andamento, a resposta avisa e inclui o `id`. Passe esse ID a `get_transcription` para aguardar novamente.
- Textos longos vêm em páginas. O padrão de `max_chars` é 60.000, com valores de 1.000 a 100.000. A página termina entre segmentos, sem cortar um deles, e a resposta inclui `next_from_seconds`. Use esse valor em `from_seconds` para continuar a leitura.
- A resposta informa de onde veio o texto em `transcript_source`: `youtube_captions`, `x_captions`, `tiktok_captions`, `bluesky_captions`, `dailymotion_captions`, `linkedin_captions` ou `speech_to_text`. Se vier `caption_kind: null`, a origem da faixa é desconhecida. Não interprete esse valor como legendas enviadas pelo criador.

### Consulte antes de enviar novamente

Antes de repetir um envio, consulte a transcrição com `get_transcription` ou procure em `list_transcriptions`. A ferramenta `transcribe` sempre pede `reuse_recent`: com um link completo, o mesmo vídeo e as mesmas opções, ela reutiliza uma transcrição das últimas 24 horas sem cobrar de novo. Isso não funciona com links curtos. A resposta avisa quando reutilizou uma transcrição anterior.

### Arquivos

O MCP não transporta os bytes do arquivo. Para enviar um arquivo, o assistente chama `create_upload` e recebe o `id` da transcrição, o modelo de URL para as partes, um `X-Upload-Token` e a lista de partes. Depois, envia cada parte com um `PUT` HTTP fora do MCP e chama `complete_upload`. A resposta também indica a página de upload do painel, caso seja mais fácil enviar por lá. Veja o protocolo em [Uploads](https://transcript1.com/pt/docs/uploads).

### Sem webhooks

Para receber [webhooks](https://transcript1.com/pt/docs/webhooks), use a API REST. As ferramentas MCP não aceitam esse parâmetro.

## Claude

No Claude, adicione o servidor remoto como um conector personalizado:

1. Abra as configurações de conectores e escolha adicionar um conector personalizado.
2. Dê o nome `transcript1` e informe `https://api.transcript1.com/mcp` no endereço do servidor.
3. Quando o transcript1 abrir, entre na sua conta e autorize o acesso. O conector pede os escopos `transcriptions:read` e `transcriptions:write`.

Depois, envie um pedido como “Transcreva https://www.youtube.com/watch?v=dQw4w9WgXcQ”. A disponibilidade de conectores personalizados depende do seu plano do Claude.

## ChatGPT

No ChatGPT, a conexão também usa um conector personalizado:

1. Nas configurações de conectores, adicione um conector personalizado para servidor MCP.
2. Use `https://api.transcript1.com/mcp` como endereço do servidor.
3. Faça login no transcript1 e autorize a conexão.

O acesso a conectores personalizados depende do plano do ChatGPT e das configurações do workspace. Talvez seja preciso ativar o modo desenvolvedor.

## Conecte no Cursor

Use o link de instalação: [Adicionar transcript1 ao Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=transcript1&config=eyJ1cmwiOiJodHRwczovL2FwaS50cmFuc2NyaXB0MS5jb20vbWNwIn0=)

Se preferir configurar manualmente, adicione este trecho a `.cursor/mcp.json` com sua chave no cabeçalho `Authorization`:

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

## VS Code

Use o link de instalação: [Adicionar transcript1 ao 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)

Para configurar manualmente, adicione este trecho a `.vscode/mcp.json` no seu workspace:

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

## Conecte no Claude Code

Coloque sua chave de API no lugar de `t1_YOURKEY` e rode:

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

## Outros clientes

Se o cliente aceita servidores MCP remotos, aponte para `https://api.transcript1.com/mcp` e envie o cabeçalho `Authorization: Bearer t1_...`.

## Inicie por comando no Claude Desktop e em outros clientes

Alguns clientes iniciam a conexão MCP por um comando local. Neles, rode `npx -y @transcript1/mcp` com sua chave em `TRANSCRIPT1_API_KEY`. O pacote faz a ponte com o servidor hospedado do transcript1. Você precisa de Node.js 18 ou mais recente.

No Claude Desktop, adicione a configuração abaixo a `claude_desktop_config.json`. Crie uma chave em [“API keys”](https://transcript1.com/dashboard/account/tokens) e coloque no lugar de `t1_YOURKEY`.

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

## Agent Skill

A Agent Skill ensina o agente a usar o transcript1 por meio de um arquivo curto de instruções, `SKILL.md`. Se o seu agente aceita skills, adicione o arquivo disponível em [https://transcript1.com/.well-known/agent-skills/transcript1/SKILL.md](https://transcript1.com/.well-known/agent-skills/transcript1/SKILL.md).

Agentes com descoberta de skills podem encontrá-la no índice `https://transcript1.com/.well-known/agent-skills/index.json`.

## Como as ferramentas informam erros

Se uma ferramenta falhar, ela retorna o mesmo `code` da API REST, uma mensagem e uma orientação para o assistente continuar. O formato é `<code>: <message>. <next step>`. Quando falta saldo, por exemplo:

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

Consulte os códigos em [Erros e novas tentativas](https://transcript1.com/pt/docs/errors). Falhas no processamento aparecem nesse mesmo formato, com códigos como `media_private` ou `no_captions`.
