Barevalue MCP

Edição de podcast por IA como serviço. Envie áudio bruto ou submeta uma URL, receba episódios editados com palavras de preenchimento removidas, redução de ruído, transcrições, notas do programa e clipes para redes sociais. Inclui webhooks para automação.

Documentação

barevalue-mcp

Servidor MCP (Model Context Protocol) para a API de edição de podcasts com IA da Barevalue. Permite que o Claude Code e outras ferramentas compatíveis com MCP enviem e gerenciem pedidos de edição de podcasts programaticamente.

Recursos

  • Envie arquivos de áudio diretamente da sua máquina local
  • Envie pedidos de edição de podcasts com IA
  • Verifique o status do pedido e baixe os arquivos concluídos
  • Gerencie webhooks para notificações automatizadas
  • Pré-valide URLs antes do envio para identificar problemas antecipadamente

Pré-requisitos

Você precisa de uma conta Barevalue para enviar pedidos via MCP. O plano Basic é gratuito e inclui minutos e pedidos todos os meses. Os planos pagos (Starter, Creator, Pro) incluem mais minutos, mais pedidos e recursos adicionais.

Os pedidos usam os minutos da sua assinatura. Se a sua conta não tiver minutos suficientes, o envio falhará com o erro insufficient_credits.

Para começar:

Instalação

Opção 1: npx (Recomendado)

Nenhuma instalação necessária. Configure o Claude Code para executar via npx:

{
  "mcpServers": {
    "barevalue": {
      "command": "npx",
      "args": ["-y", "barevalue-mcp"],
      "env": {
        "BAREVALUE_API_KEY": "bv_sk_your_api_key_here"
      }
    }
  }
}

Opção 2: Instalação Global

npm install -g barevalue-mcp

Em seguida, configure o Claude Code:

{
  "mcpServers": {
    "barevalue": {
      "command": "barevalue-mcp",
      "env": {
        "BAREVALUE_API_KEY": "bv_sk_your_api_key_here"
      }
    }
  }
}

Configuração

Obtendo uma Chave de API

  1. Faça login na sua conta Barevalue
  2. Navegue até Configurações → Chaves de API
  3. Clique em Criar Chave de API
  4. Copie a chave (começa com bv_sk_) — ela é exibida apenas uma vez!

Configuração do Claude Code

Adicione ao arquivo de configurações do Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "barevalue": {
      "command": "npx",
      "args": ["-y", "barevalue-mcp"],
      "env": {
        "BAREVALUE_API_KEY": "bv_sk_your_api_key_here"
      }
    }
  }
}

Variáveis de Ambiente

VariávelObrigatóriaDescrição
BAREVALUE_API_KEYSimSua chave de API da Barevalue (começa com bv_sk_)
BAREVALUE_API_URLNãoSubstitui a URL base da API (padrão: https://barevalue.com/api/v1)

Ferramentas Disponíveis

Conta e Cobrança

barevalue_account

Obtenha informações da conta, incluindo saldo de créditos, status da assinatura de IA e preços.

barevalue_account

barevalue_estimate

Calcule o custo de um pedido antes do envio.

barevalue_estimate duration_minutes=45

Fluxo de Pedidos

barevalue_upload

Envie um arquivo de áudio da sua máquina local. Retorna order_id e s3_key para o envio.

barevalue_upload file_path="/path/to/episode.mp3"

Formatos suportados: mp3, wav, m4a, flac, aac, ogg Tamanho máximo do arquivo: 750MB

barevalue_validate

Pré-verifique um arquivo de uma URL pública antes do envio. Valida o conteúdo de fala (mínimo de 10%) e detecta conteúdo apenas de música. NÃO cobra créditos.

Observação: Isso é apenas para URLs externas. Arquivos enviados via barevalue_upload não precisam de validação — vá diretamente para barevalue_submit.

barevalue_validate file_url="https://example.com/episode.mp3"

barevalue_submit

Envie um arquivo carregado para edição com IA. Cobra créditos/minutos da assinatura.

barevalue_submit \
  order_id=12345 \
  s3_key="123/12345/raw/episode.mp3" \
  podcast_name="My Podcast" \
  episode_name="Episode 42: The Answer" \
  processing_style="standard"

Parâmetros opcionais:

  • episode_number - Número do episódio para organização
  • special_instructions - Instruções personalizadas de edição (máx. 2000 caracteres)
  • processing_style - standard | minimal | aggressive
  • host_names - Matriz de nomes dos apresentadores para rótulos de falantes na transcrição
  • guest_names - Matriz de nomes dos convidados para rótulos de falantes na transcrição

barevalue_submit_url

Envie usando uma URL pública em vez de fazer upload.

barevalue_submit_url \
  file_url="https://example.com/episode.mp3" \
  podcast_name="My Podcast" \
  episode_name="Episode 42"

barevalue_status

Verifique o status do pedido. Retorna URLs de download quando concluído.

barevalue_status order_id=12345

Status: pending, downloading, processing, transcribing, editing, completed, failed, refunded

barevalue_list_orders

Liste pedidos recentes com paginação.

barevalue_list_orders page=1 per_page=20 status="completed"

Webhooks

barevalue_webhooks_list

Liste todos os webhooks configurados.

barevalue_webhook_create

Crie um webhook. Salve o segredo — ele é exibido apenas uma vez!

barevalue_webhook_create \
  url="https://your-server.com/webhook" \
  events=["order.completed", "order.failed"]

Eventos disponíveis: order.completed, order.failed, order.refunded

barevalue_webhook_update

Atualize a URL do webhook, eventos ou status ativo.

barevalue_webhook_update webhook_id=1 is_active=false

barevalue_webhook_delete

Exclua um webhook permanentemente.

barevalue_webhook_delete webhook_id=1

barevalue_webhook_rotate_secret

Gere um novo segredo de assinatura. O segredo antigo para de funcionar imediatamente.

barevalue_webhook_rotate_secret webhook_id=1

Exemplos de Uso

Fluxo de Trabalho Completo (Arquivo Local)

Aqui está um fluxo de trabalho típico para enviar um arquivo local:

User: Upload and edit my podcast episode at /Users/me/recording.mp3

Claude: I'll help you submit that podcast episode for editing.

1. First, let me check your account balance...
   [calls barevalue_account]
   You have 120 AI minutes remaining on your subscription.

2. Uploading the file...
   [calls barevalue_upload file_path="/Users/me/recording.mp3"]
   Upload complete. Order ID: 12345

3. Submitting for editing...
   [calls barevalue_submit order_id=12345 s3_key="..." podcast_name="My Show" episode_name="Episode 1"]
   Order submitted! Estimated completion: 15 minutes.

4. I'll check the status...
   [calls barevalue_status order_id=12345]
   Status: completed

   Download links:
   - Edited audio: https://...
   - Transcript PDF: https://...
   - Show notes: https://...

Fluxo de Trabalho Completo (URL Externa)

Para arquivos já hospedados online, você pode validar antes de enviar:

User: Edit this podcast: https://example.com/episode.mp3

Claude: I'll validate and submit that for editing.

1. Checking your account...
   [calls barevalue_account]
   You have 50 AI bonus minutes available.

2. Validating the file...
   [calls barevalue_validate file_url="https://example.com/episode.mp3"]
   ✓ Speech detected: 87%
   ✓ No music-only content detected
   Duration: 32 minutes

3. Submitting for editing...
   [calls barevalue_submit_url file_url="..." podcast_name="My Show" episode_name="Episode 5"]
   Order submitted! Order ID: 12346

Verificando Vários Pedidos

User: What's the status of my recent orders?

Claude: [calls barevalue_list_orders per_page=5]

Here are your recent orders:
| Order ID | Episode | Status | Created |
|----------|---------|--------|---------|
| 12345 | Episode 42 | completed | 2 hours ago |
| 12344 | Episode 41 | completed | yesterday |
| 12343 | Episode 40 | processing | just now |

Tratamento de Erros

O servidor retorna erros estruturados:

{
  "error": "insufficient_credits",
  "message": "Not enough credits. Need $3.15, have $2.00",
  "statusCode": 402
}

Erros comuns:

ErroSignificado
invalid_api_keyA chave de API está ausente, inválida ou revogada
insufficient_creditsCréditos ou minutos da assinatura insuficientes
validation_failedO arquivo falhou nas pré-verificações (fala insuficiente, música detectada)
file_too_largeO arquivo excede o limite de 750MB
rate_limitedMuitas solicitações (limite: 10/minuto)

Preços

Os pedidos via MCP usam os minutos da sua assinatura — o mesmo saldo que você usaria em barevalue.com. O plano Basic é gratuito e inclui minutos e pedidos todos os meses. Os planos pagos incluem mais minutos, pedidos e recursos.

O que está incluído em cada pedido:

  • Arquivo de áudio editado (palavras de preenchimento, pausas longas e começos falsos removidos)
  • Transcrição (PDF e DOCX)
  • Notas do programa com carimbos de data/hora
  • Clipes para redes sociais (destaques selecionados por IA)

Use barevalue_estimate para verificar seus minutos disponíveis antes de enviar. Veja os planos em barevalue.com/pricing.

Limites de Taxa

  • 10 solicitações por minuto por chave de API
  • Uploads de arquivos têm um tempo limite de 5 minutos
  • O processamento do pedido normalmente é concluído em 10 a 30 minutos

Segurança

  • As chaves de API são transmitidas via variável de ambiente, nunca codificadas
  • Toda a comunicação com a API usa HTTPS
  • As assinaturas dos webhooks usam HMAC-SHA256 para verificação
  • As URLs S3 pré-assinadas expiram após 30 minutos

Desenvolvimento

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

Suporte

Licença

MIT