Barevalue MCP

Edición de podcasts con IA como servicio. Sube audio sin procesar o envía una URL, recibe episodios editados con palabras de relleno eliminadas, reducción de ruido, transcripciones, notas del programa y clips para redes sociales. Incluye webhooks para automatización.

Documentación

barevalue-mcp

Servidor MCP (Model Context Protocol) para la API de edición de podcasts con IA de Barevalue. Permite a Claude Code y otras herramientas compatibles con MCP enviar y gestionar órdenes de edición de podcasts de forma programática.

Características

  • Sube archivos de audio directamente desde tu máquina local
  • Envía órdenes para edición de podcasts con IA
  • Consulta el estado de las órdenes y descarga los archivos completados
  • Gestiona webhooks para notificaciones automatizadas
  • Pre-valida URLs antes del envío para detectar problemas temprano

Requisitos previos

Necesitas una cuenta de Barevalue para enviar órdenes a través de MCP. El plan Basic es gratuito e incluye minutos y órdenes cada mes. Los planes de pago (Starter, Creator, Pro) incluyen más minutos, más órdenes y características adicionales.

Las órdenes utilizan los minutos de tu suscripción. Si tu cuenta no tiene suficientes minutos, el envío fallará con el error insufficient_credits.

Para comenzar:

Instalación

Opción 1: npx (Recomendado)

No se requiere instalación. Configura Claude Code para ejecutarlo mediante npx:

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

Opción 2: Instalación global

npm install -g barevalue-mcp

Luego configura Claude Code:

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

Configuración

Obtener una clave API

  1. Inicia sesión en tu cuenta de Barevalue
  2. Navega a Configuración → Claves API
  3. Haz clic en Crear clave API
  4. Copia la clave (comienza con bv_sk_) — ¡solo se muestra una vez!

Configuración de Claude Code

Agrega a tu archivo de configuración de Claude Code (~/.claude/settings.json):

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

Variables de entorno

VariableRequeridaDescripción
BAREVALUE_API_KEYSíTu clave API de Barevalue (comienza con bv_sk_)
BAREVALUE_API_URLNoSobrescribe la URL base de la API (predeterminada: https://barevalue.com/api/v1)

Herramientas disponibles

Cuenta y facturación

barevalue_account

Obtén información de la cuenta, incluido el saldo de créditos, el estado de la suscripción de IA y los precios.

barevalue_account

barevalue_estimate

Calcula el costo de una orden antes de enviarla.

barevalue_estimate duration_minutes=45

Flujo de órdenes

barevalue_upload

Sube un archivo de audio desde tu máquina local. Devuelve order_id y s3_key para el envío.

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

Formatos admitidos: mp3, wav, m4a, flac, aac, ogg Tamaño máximo de archivo: 750MB

barevalue_validate

Pre-verifica un archivo desde una URL pública antes del envío. Valida el contenido de voz (mínimo 10%) y detecta contenido solo de música. NO cobra créditos.

Nota: Esto es solo para URLs externas. Los archivos subidos mediante barevalue_upload no necesitan validación: ve directamente a barevalue_submit.

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

barevalue_submit

Envía un archivo subido para edición con IA. Cobra créditos/minutos de suscripción.

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 opcionales:

  • episode_number - Número de episodio para organización
  • special_instructions - Instrucciones de edición personalizadas (máx. 2000 caracteres)
  • processing_style - standard | minimal | aggressive
  • host_names - Matriz de nombres de anfitriones para etiquetas de hablantes en la transcripción
  • guest_names - Matriz de nombres de invitados para etiquetas de hablantes en la transcripción

barevalue_submit_url

Envía usando una URL pública en lugar de subir un archivo.

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

barevalue_status

Consulta el estado de la orden. Devuelve URLs de descarga cuando está completa.

barevalue_status order_id=12345

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

barevalue_list_orders

Lista órdenes recientes con paginación.

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

Webhooks

barevalue_webhooks_list

Lista todos los webhooks configurados.

barevalue_webhook_create

Crea un webhook. Guarda el secreto: ¡solo se muestra una vez!

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

Eventos disponibles: order.completed, order.failed, order.refunded

barevalue_webhook_update

Actualiza la URL del webhook, los eventos o el estado activo.

barevalue_webhook_update webhook_id=1 is_active=false

barevalue_webhook_delete

Elimina un webhook permanentemente.

barevalue_webhook_delete webhook_id=1

barevalue_webhook_rotate_secret

Genera un nuevo secreto de firma. El secreto anterior deja de funcionar inmediatamente.

barevalue_webhook_rotate_secret webhook_id=1

Ejemplos de uso

Flujo completo (archivo local)

Este es un flujo típico para subir un archivo 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://...

Flujo completo (URL externa)

Para archivos ya alojados en línea, puedes 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

Consultar múltiples órdenes

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 |

Manejo de errores

El servidor devuelve errores estructurados:

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

Errores comunes:

ErrorSignificado
invalid_api_keyLa clave API falta, es inválida o fue revocada
insufficient_creditsNo hay suficientes créditos o minutos de suscripción
validation_failedEl archivo falló las pre-verificaciones (voz insuficiente, música detectada)
file_too_largeEl archivo supera el límite de 750MB
rate_limitedDemasiadas solicitudes (límite: 10/minuto)

Precios

Las órdenes de MCP usan los minutos de tu suscripción: el mismo saldo que usarías en barevalue.com. El plan Basic es gratuito e incluye minutos y órdenes cada mes. Los planes de pago incluyen más minutos, órdenes y características.

Qué incluye cada orden:

  • Archivo de audio editado (palabras de relleno, pausas largas y falsos comienzos eliminados)
  • Transcripción (PDF y DOCX)
  • Notas del programa con marcas de tiempo
  • Clips para redes sociales (momentos destacados seleccionados por IA)

Usa barevalue_estimate para consultar tus minutos disponibles antes de enviar. Consulta los planes en barevalue.com/pricing.

Límites de velocidad

  • 10 solicitudes por minuto por clave API
  • Las subidas de archivos tienen un tiempo de espera de 5 minutos
  • El procesamiento de órdenes normalmente se completa en 10-30 minutos

Seguridad

  • Las claves API se transmiten mediante variable de entorno, nunca codificadas
  • Toda la comunicación con la API usa HTTPS
  • Las firmas de webhooks usan HMAC-SHA256 para verificación
  • Las URLs S3 pre-firmadas expiran después de 30 minutos

Desarrollo

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

Soporte

Licencia

MIT