MCP (Model Context Protocol) server for the Barevalue AI podcast editing API. Allows Claude Code and other MCP-compatible tools to submit and manage podcast editing orders programmatically. - Upload audio files directly from your local machine - Submit orders for AI-powered podcast editing - Check order status and download completed files - Manage webhooks for automated notifications - Pre-validat
Add this skill
npx mdskills install quietnotion/barevalue-mcpComprehensive MCP server with well-documented tools for podcast editing workflow and strong examples
1# barevalue-mcp23MCP (Model Context Protocol) server for the [Barevalue](https://barevalue.com) AI podcast editing API. Allows Claude Code and other MCP-compatible tools to submit and manage podcast editing orders programmatically.45## Features67- **Upload audio files** directly from your local machine8- **Submit orders** for AI-powered podcast editing9- **Check order status** and download completed files10- **Manage webhooks** for automated notifications11- **Pre-validate URLs** before submission to catch issues early1213## Prerequisites1415**You need a Barevalue account** to submit orders via MCP. The **Basic plan is free** and includes minutes and orders each month. Paid plans (Starter, Creator, Pro) include more minutes, more orders, and additional features.1617Orders use your subscription minutes. If your account has insufficient minutes, submission will fail with `insufficient_credits` error.1819**To get started:**20- Sign up free at [barevalue.com/register](https://barevalue.com/register)21- Or view plans at [barevalue.com/pricing](https://barevalue.com/pricing)2223## Installation2425### Option 1: npx (Recommended)2627No installation required. Configure Claude Code to run via npx:2829```json30{31 "mcpServers": {32 "barevalue": {33 "command": "npx",34 "args": ["-y", "barevalue-mcp"],35 "env": {36 "BAREVALUE_API_KEY": "bv_sk_your_api_key_here"37 }38 }39 }40}41```4243### Option 2: Global Install4445```bash46npm install -g barevalue-mcp47```4849Then configure Claude Code:5051```json52{53 "mcpServers": {54 "barevalue": {55 "command": "barevalue-mcp",56 "env": {57 "BAREVALUE_API_KEY": "bv_sk_your_api_key_here"58 }59 }60 }61}62```6364## Configuration6566### Getting an API Key67681. Log in to your [Barevalue account](https://barevalue.com/login)692. Navigate to **Settings** → **API Keys**703. Click **Create API Key**714. Copy the key (starts with `bv_sk_`) — it's only shown once!7273### Claude Code Setup7475Add to your Claude Code settings file (`~/.claude/settings.json`):7677```json78{79 "mcpServers": {80 "barevalue": {81 "command": "npx",82 "args": ["-y", "barevalue-mcp"],83 "env": {84 "BAREVALUE_API_KEY": "bv_sk_your_api_key_here"85 }86 }87 }88}89```9091### Environment Variables9293| Variable | Required | Description |94|----------|----------|-------------|95| `BAREVALUE_API_KEY` | Yes | Your Barevalue API key (starts with `bv_sk_`) |96| `BAREVALUE_API_URL` | No | Override API base URL (default: `https://barevalue.com/api/v1`) |9798## Available Tools99100### Account & Billing101102#### `barevalue_account`103Get account information including credit balance, AI subscription status, and pricing.104105```106barevalue_account107```108109#### `barevalue_estimate`110Calculate the cost of an order before submission.111112```113barevalue_estimate duration_minutes=45114```115116### Order Workflow117118#### `barevalue_upload`119Upload an audio file from your local machine. Returns `order_id` and `s3_key` for submission.120121```122barevalue_upload file_path="/path/to/episode.mp3"123```124125**Supported formats:** mp3, wav, m4a, flac, aac, ogg126**Maximum file size:** 750MB127128#### `barevalue_validate`129Pre-check a file from a public URL before submission. Validates speech content (minimum 10%) and detects music-only content. Does NOT charge credits.130131**Note:** This is for external URLs only. Files uploaded via `barevalue_upload` don't need validation - go directly to `barevalue_submit`.132133```134barevalue_validate file_url="https://example.com/episode.mp3"135```136137#### `barevalue_submit`138Submit an uploaded file for AI editing. Charges credits/subscription minutes.139140```141barevalue_submit \142 order_id=12345 \143 s3_key="123/12345/raw/episode.mp3" \144 podcast_name="My Podcast" \145 episode_name="Episode 42: The Answer" \146 processing_style="standard"147```148149**Optional parameters:**150- `episode_number` - Episode number for organization151- `special_instructions` - Custom editing instructions (max 2000 chars)152- `processing_style` - `standard` | `minimal` | `aggressive`153- `host_names` - Array of host names for transcript speaker labels154- `guest_names` - Array of guest names for transcript speaker labels155156#### `barevalue_submit_url`157Submit using a public URL instead of uploading.158159```160barevalue_submit_url \161 file_url="https://example.com/episode.mp3" \162 podcast_name="My Podcast" \163 episode_name="Episode 42"164```165166#### `barevalue_status`167Check order status. Returns download URLs when complete.168169```170barevalue_status order_id=12345171```172173**Statuses:** `pending`, `downloading`, `processing`, `transcribing`, `editing`, `completed`, `failed`, `refunded`174175#### `barevalue_list_orders`176List recent orders with pagination.177178```179barevalue_list_orders page=1 per_page=20 status="completed"180```181182### Webhooks183184#### `barevalue_webhooks_list`185List all configured webhooks.186187#### `barevalue_webhook_create`188Create a webhook. **Save the secret — it's only shown once!**189190```191barevalue_webhook_create \192 url="https://your-server.com/webhook" \193 events=["order.completed", "order.failed"]194```195196**Available events:** `order.completed`, `order.failed`, `order.refunded`197198#### `barevalue_webhook_update`199Update webhook URL, events, or active status.200201```202barevalue_webhook_update webhook_id=1 is_active=false203```204205#### `barevalue_webhook_delete`206Delete a webhook permanently.207208```209barevalue_webhook_delete webhook_id=1210```211212#### `barevalue_webhook_rotate_secret`213Generate a new signing secret. Old secret stops working immediately.214215```216barevalue_webhook_rotate_secret webhook_id=1217```218219## Usage Examples220221### Complete Workflow (Local File)222223Here's a typical workflow for uploading a local file:224225```226User: Upload and edit my podcast episode at /Users/me/recording.mp3227228Claude: I'll help you submit that podcast episode for editing.2292301. First, let me check your account balance...231 [calls barevalue_account]232 You have 120 AI minutes remaining on your subscription.2332342. Uploading the file...235 [calls barevalue_upload file_path="/Users/me/recording.mp3"]236 Upload complete. Order ID: 123452372383. Submitting for editing...239 [calls barevalue_submit order_id=12345 s3_key="..." podcast_name="My Show" episode_name="Episode 1"]240 Order submitted! Estimated completion: 15 minutes.2412424. I'll check the status...243 [calls barevalue_status order_id=12345]244 Status: completed245246 Download links:247 - Edited audio: https://...248 - Transcript PDF: https://...249 - Show notes: https://...250```251252### Complete Workflow (External URL)253254For files already hosted online, you can validate before submitting:255256```257User: Edit this podcast: https://example.com/episode.mp3258259Claude: I'll validate and submit that for editing.2602611. Checking your account...262 [calls barevalue_account]263 You have 50 AI bonus minutes available.2642652. Validating the file...266 [calls barevalue_validate file_url="https://example.com/episode.mp3"]267 ✓ Speech detected: 87%268 ✓ No music-only content detected269 Duration: 32 minutes2702713. Submitting for editing...272 [calls barevalue_submit_url file_url="..." podcast_name="My Show" episode_name="Episode 5"]273 Order submitted! Order ID: 12346274```275276### Checking Multiple Orders277278```279User: What's the status of my recent orders?280281Claude: [calls barevalue_list_orders per_page=5]282283Here are your recent orders:284| Order ID | Episode | Status | Created |285|----------|---------|--------|---------|286| 12345 | Episode 42 | completed | 2 hours ago |287| 12344 | Episode 41 | completed | yesterday |288| 12343 | Episode 40 | processing | just now |289```290291## Error Handling292293The server returns structured errors:294295```json296{297 "error": "insufficient_credits",298 "message": "Not enough credits. Need $3.15, have $2.00",299 "statusCode": 402300}301```302303Common errors:304305| Error | Meaning |306|-------|---------|307| `invalid_api_key` | API key is missing, invalid, or revoked |308| `insufficient_credits` | Not enough credits or subscription minutes |309| `validation_failed` | File failed pre-checks (not enough speech, music detected) |310| `file_too_large` | File exceeds 750MB limit |311| `rate_limited` | Too many requests (limit: 10/minute) |312313## Pricing314315MCP orders use your subscription minutes — the same balance you'd use on barevalue.com. The **Basic plan is free** and includes minutes and orders each month. Paid plans include more minutes, orders, and features.316317**What's included with every order:**318- Edited audio file (filler words, long pauses, false starts removed)319- Transcript (PDF and DOCX)320- Show notes with timestamps321- Social media clips (AI-selected highlights)322323Use `barevalue_estimate` to check your available minutes before submitting. View plans at [barevalue.com/pricing](https://barevalue.com/pricing).324325## Rate Limits326327- **10 requests per minute** per API key328- File uploads have a 5-minute timeout329- Order processing typically completes in 10-30 minutes330331## Security332333- API keys are transmitted via environment variable, never hardcoded334- All API communication uses HTTPS335- Webhook signatures use HMAC-SHA256 for verification336- Presigned S3 URLs expire after 30 minutes337338## Development339340```bash341# Install dependencies342npm install343344# Build345npm run build346347# Watch mode348npm run dev349```350351## Support352353- **Documentation:** https://barevalue.com/docs/api-v1354- **Email:** support@barevalue.com355356## License357358MIT359
Full transparency — inspect the skill content before installing.