Conecte Claude Code, Codex, Cursor ou outro cliente MCP que aceite uma chave de API. O agente monta uma transmissão a partir de uma playlist, inicia, agenda e depois lê o histórico de transmissões.
https://mcp.livereacting.com/mcp
Streamable HTTP, somente POST, sem sessão. A chave vai no cabeçalho Authorization como um token Bearer.
Uma URL e um cabeçalho Authorization para todos os clientes. A chave é a chave lr_ que a API REST usa, então uma chave que você já tem funciona aqui.
Se você ainda não tem uma chave, crie uma na seção Developer do LiveReacting Studio. Defina-a como a variável de ambiente LIVEREACTING_API_KEY e reinicie seu cliente. No VS Code, é o próprio cliente que pede a chave.
Em .mcp.json, na raiz do seu projeto. A chave fica fora do arquivo, então é seguro fazer commit dele.
{
"mcpServers": {
"livereacting": {
"type": "http",
"url": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${LIVEREACTING_API_KEY}" }
}
}
}
Em ~/.codex/config.toml.
[mcp_servers.livereacting]
url = "https://mcp.livereacting.com/mcp"
bearer_token_env_var = "LIVEREACTING_API_KEY"
# Then, in your shell profile:
# export LIVEREACTING_API_KEY=lr_...
Em ~/.cursor/mcp.json.
{
"mcpServers": {
"livereacting": {
"url": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${env:LIVEREACTING_API_KEY}" }
}
}
}
Em .vscode/mcp.json. O bloco inputs faz o VS Code pedir a chave em vez de guardá-la no repositório.
{
"inputs": [
{
"id": "livereacting-key",
"type": "promptString",
"description": "LiveReacting API key",
"password": true
}
],
"servers": {
"livereacting": {
"type": "http",
"url": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${input:livereacting-key}" }
}
}
}
Em ~/.gemini/settings.json.
{
"mcpServers": {
"livereacting": {
"httpUrl": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${LIVEREACTING_API_KEY}" }
}
}
}
Qualquer cliente compatível com Streamable HTTP e um cabeçalho Bearer usa a mesma URL e o mesmo cabeçalho.
Adicione ?read_only=1 à URL e o cliente recebe só as ferramentas de leitura. Nada que o agente chamar pode alterar um projeto ou uma transmissão.
Todo nome começa com livereacting_, então uma única busca encontra o servidor inteiro em um cliente que carrega ferramentas sob demanda.
| Ferramenta | O que faz | Acesso |
|---|---|---|
| Conta Os destinos que você já conectou. | ||
livereacting_list_destinations |
Suas contas conectadas de YouTube, Facebook, Twitch, LinkedIn e X, e seus próprios servidores | Somente leitura |
livereacting_validate_destinations |
Verificar se um login do YouTube, Facebook ou Twitch ainda funciona antes de você contar com ele. Destinos personalizados não são contatados | Somente leitura |
| Editor Projetos, cenas e as playlists de vídeos e áudio dentro deles. | ||
livereacting_list_projects |
Seus projetos, do mais recente ao mais antigo | Somente leitura |
livereacting_get_project |
Um projeto completo: formato, duração, destinos e status da transmissão | Somente leitura |
livereacting_create_project |
Criar um projeto vazio, o primeiro passo para montar uma transmissão | Escrita |
livereacting_update_project |
Alterar as configurações de um projeto | Escrita |
livereacting_get_scenes |
As cenas de um projeto, com um resumo do que há em cada uma | Somente leitura |
livereacting_manage_scene |
Criar, renomear ou excluir uma cena | Destrutiva |
livereacting_activate_scene |
Trocar a cena que vai ao ar, inclusive com a transmissão rodando | Escrita |
livereacting_create_scene_with_playlist |
Adicionar uma cena e preenchê-la com uma playlist de vídeos em uma só chamada | Escrita |
livereacting_add_layer |
Adicionar uma playlist de vídeos, uma playlist de áudio ou um único vídeo a uma cena que já existe | Escrita |
livereacting_get_layer |
Ler uma playlist e os vídeos dela, cinquenta por vez | Somente leitura |
livereacting_set_playlist |
Substituir todo o conteúdo de uma playlist de vídeos ou áudio | Destrutiva |
| Transmissões Entrar ao vivo, agendar e acompanhar uma transmissão enquanto ela roda. | ||
livereacting_start_stream |
Entrar ao vivo agora | Destrutiva |
livereacting_stop_stream |
Encerrar a transmissão em andamento | Destrutiva |
livereacting_get_stream_status |
O que a transmissão está fazendo agora, e o estado de cada destino | Somente leitura |
livereacting_schedule_stream |
Entrar ao vivo em um ou mais horários nos próximos 28 dias | Escrita |
livereacting_cancel_schedules |
Cancelar uma transmissão agendada, ou todos os agendamentos de um projeto | Destrutiva |
livereacting_sync_stream |
Aplicar à transmissão em andamento as edições que você acabou de fazer | Escrita |
livereacting_list_broadcasts |
Transmissões anteriores: quando cada uma rodou, por quanto tempo e o pico de espectadores | Somente leitura |
| Mídia A biblioteca de vídeos de onde saem as playlists. | ||
livereacting_list_media |
Os arquivos e pastas da sua biblioteca | Somente leitura |
livereacting_get_media_file |
Um arquivo, com os detalhes técnicos quando você pedir | Somente leitura |
livereacting_import_media |
Importar um arquivo de uma URL do Google Drive, Dropbox ou YouTube | Escrita |
livereacting_get_import_status |
Em que ponto está uma importação, e se o arquivo já pode ser transmitido | Somente leitura |
livereacting_encode_media |
Colocar arquivos na fila de codificação para que possam ser transmitidos | Escrita |
livereacting_get_encode_status |
Em que ponto está a codificação | Somente leitura |
| Análises Os números que uma transmissão encerrada gerou. | ||
livereacting_get_stream_analytics |
Os números de transmissão do YouTube em todos os planos pagos, e os números por vídeo da playlist sob solicitação | Somente leitura |
O schema de entrada de cada ferramenta vem do tools/list quando você se conecta, e a descrição dela diz o que chamar em seguida e quanto esperar entre uma consulta e outra. Consulte lá; não deduza pelos nomes acima.
Adicione ?toolsets= com qualquer um entre account, editor, streams, media e analytics, separados por vírgula, e o cliente recebe só esses grupos. O filtro é feito pelo servidor, então funciona em qualquer cliente, e ele recusa um nome que não reconhece.
Diga o que a transmissão deve fazer, com palavras simples. O agente escolhe as ferramentas da tabela acima e as chama na ordem que o trabalho exige.
"Aqui estão três links de vídeos do Google Drive. Monte com eles uma transmissão ao vivo 24/7 no meu canal do YouTube e inicie."
Ele importa os três arquivos, espera até que possam ser transmitidos, preenche uma playlist em loop e entra ao vivo.
"Agende a gravação do webinar da semana passada para ir ao ar ao vivo na sexta, às 3 da tarde."
Ele encontra a gravação na sua biblioteca, monta um projeto que a reproduz uma vez e agenda esse único horário de início.
"Estamos ao vivo. Troque para a cena de intervalo."
Ele ativa a cena de intervalo e envia a mudança para a transmissão em andamento. A transmissão continua ao vivo.
"Como foram as transmissões da semana passada?"
Ele passa pelos seus projetos, lista as transmissões de cada um com o pico de espectadores e depois lê os números do YouTube de cada uma.
O plano Free não inclui acesso à API. Toda requisição é recusada com 403 API_ACCESS_REQUIRES_PAID_PLAN, inclusive a primeira, então o cliente não consegue se conectar. Uma assinatura pausada recebe o mesmo código.
Tudo o que a chave alcança, o agente alcança. Crie a chave na seção Developer do Studio e revogue-a lá no momento em que quiser que o agente pare.
Adicione ?read_only=1 para as ferramentas de leitura, ou ?toolsets=streams,media para os grupos que você indicar. O servidor recusa um valor não reconhecido em vez de ignorá-lo.
Ele não consegue enviar um arquivo do seu computador, importar uma playlist do YouTube nem montar um overlay de texto, imagem ou interativo. Você monta isso no Studio, e o agente mesmo assim pode rodar uma transmissão que tenha esses elementos.
Sim. Ele pode excluir uma cena, substituir uma playlist inteira, parar uma transmissão e cancelar um agendamento, e a tabela acima marca cada uma dessas ferramentas como Destrutiva. Com ?read_only=1 na URL, o servidor não oferece nenhuma delas.
Ainda não. Os dois exigem OAuth para um servidor remoto, e este servidor autentica com a sua chave de API. Claude Code, Codex CLI, Cursor, VS Code e Gemini CLI aceitam uma chave, e cada um tem uma configuração nesta página.
Não. O vídeo vem da sua biblioteca do LiveReacting, ou o agente importa um arquivo por vez de um link do Google Drive, Dropbox ou YouTube. Para enviar do seu próprio disco, use o LiveReacting Studio.
Todas as ferramentas, entradas, campos de resposta e códigos de erro estão na referência do MCP. A API REST em que ele se baseia está documentada ao lado.
Monte sua transmissão no estúdio com o plano Free, que não expira. Passe para qualquer plano pago quando quiser entregá-la a um agente, e a chave de API vem junto.
Quer ver os números primeiro? Ver planos e preços