Botverse
The Botverse MCP server enables video/audio transcoding, document conversion, multi-step workflows, file uploads, and job management.
Upload files (video, audio, documents) to get presigned PUT URLs and object keys.
Transcode video/audio from public URLs or uploaded files to MP4, WebM, ProRes, MP3, or GIF with options like trim, resize, bitrate, framerate, and H.264 profile.
Convert documents between Markdown, DOCX, PDF, HTML, XLSX, RST, and TXT from public URLs, uploaded files, or inline content (under 10,000 characters).
Submit, poll, and cancel multi-step workflows using BWDL that chain tools with dependency ordering and parallel branches.
Poll job and workflow status, retrieve signed download URLs, and check wallet balance/auto-refill settings.
Allows document conversion from Box share links: pass a Box share URL to convert_from_url or transcode_from_url and the server will process the file server-side.
botverse-mcp
MCP server and command-line tool for Botverse — video transcoding and document conversion for AI agents and the humans who configure them.
What it does
Video transcoding — MP4 (H.264), WebM (VP9), ProRes 422, GIF, MP3 extraction · $0.25/job
Video/audio conform — mux a separate video and audio source into one output, reconciling frame-rate and duration mismatches (including true pulldown-style speed conforms, e.g. 24→25fps) · $0.30/job
Conform splice — concatenate video and/or still-image segments into one output: head slates/bumpers, tail slates/end cards, mid-roll inserts/cutaways, or joining clips together · from $0.30/job
Document conversion — Markdown ↔ DOCX ↔ PDF ↔ HTML ↔ XLSX · $0.05/file
Transcription — speaker-labelled transcripts (diarization + AI speaker naming) → txt/srt/vtt/docx/pdf · ~$3/hour
Workflows — chain multiple Botverse operations (transcode, convert, transcribe, conform, splice) into a single multi-step job with automatic dependency ordering and parallel branches, instead of orchestrating each call yourself · convert-only steps run on wallet balance ($0.05/step); transcode/transcribe steps bill by source duration and require auto-refill
Two ways to use it: an MCP server for your AI agents, and a botverse CLI for the shell — evaluation, CI/CD, cron, scripts, and local coding agents. No AWS. No FFmpeg. No infrastructure.
Related MCP server: arcframe-mcp
Setup
Sign up at botverse.cloud — free to try: $1 credit on signup, no card required. A card + 2FA are only needed at your first top-up ($5 min). No monthly fees.
Get an API key or connector URL from your dashboard
Add to your MCP client config
Usage
Claude Desktop / Cursor / Windsurf
{
"mcpServers": {
"botverse": {
"command": "npx",
"args": ["-y", "botverse-mcp"],
"env": {
"BOTVERSE_API_KEY": "bv_live_..."
}
}
}
}Or with a connector URL (recommended for claude.ai):
{
"mcpServers": {
"botverse": {
"command": "npx",
"args": ["-y", "botverse-mcp"],
"env": {
"BOTVERSE_CONNECTOR_URL": "https://botverse.cloud/mcp?token=bv_sess_..."
}
}
}
}Command line (botverse)
The same package ships a botverse CLI for the shell — it reads files from disk and
streams them straight to the API (no content goes through an LLM), so it's the fast
path for evaluation, automation, and local coding agents.
export BOTVERSE_API_KEY=bv_live_… # or BOTVERSE_CONNECTOR_URL=…?token=bv_sess_…
npx botverse convert report.md --to pdf
npx botverse convert *.md --to docx,pdf -o ./out
npx botverse transcode clip.mov --to mp4 -o ./out
npx botverse transcribe call.mp4 --to docx --attendees "Sarah Chen,Mike Torres"
npx botverse conform video.mp4 audio.wav --to mp4 --method speed_conform --target-framerate 25
npx botverse balanceEach job uploads → polls → downloads the finished file to -o (default: current dir).
Globs and multiple --to formats run as a batch.
Sandbox note: the CLI needs outbound network to
botverse.cloudand Botverse's file storage host, so it does not run inside sandboxed agent environments (claude.ai / Claude Desktop), whose egress is allowlisted. There, use the MCP tools (e.g.convert_content) instead.
Tools (MCP)
Tool | Description |
| Get a presigned URL to upload a file for use with the |
| Transcode video from a public URL |
| Transcode an uploaded video file |
| Mux a separate video + audio source (public URLs) into one output |
| Mux an uploaded video + audio source into one output |
| Concatenate video/image segments (public URLs) — slates, bumpers, end cards, inserts, joined clips |
| Concatenate uploaded video/image segments — same use cases |
| Convert document content inline (up to 4 MB; sandbox-safe) |
| Convert a document from a public URL |
| Convert an uploaded document |
| Submit a multi-step BWDL workflow chaining several of the above tools together, with dependency ordering and parallel branches |
| Poll a workflow (and its per-step status) until it reaches a terminal state |
| Cancel an in-progress workflow; already-completed steps are billed, the rest are not |
| Poll a job until complete |
| Get the signed download URL |
| Check wallet balance |
Workflows
submit_workflow chains multiple Botverse tools (transcode, convert, transcribe, conform, splice) into
one server-side job — e.g. transcribe → clip extraction → delivery — instead of your agent making each
call and polling each one individually.
Workflow definitions use BWDL (Botverse Workflow Definition Language): a JSON object with a
workflow_idand astepsarray. Each step has anid, atool(any MCP tool name), aninputsobject, and an optionaldepends_onarray of prior step ids.Steps run in dependency order; steps that share the same
depends_onrun in parallel.A later step can reference an earlier step's output with
"$.steps.<step_id>.output_key", and a workflow-level parameter with"$.params.<name>"— no other template syntax is supported.Submit with
submit_workflow, poll withget_workflow_statusevery 5–10 seconds until the status isCOMPLETED,FAILED,PARTIALLY_FAILED, orCANCELLED, and stop early withcancel_workflowif needed (you're only billed for steps that already completed).Billing: convert-only workflows run on wallet balance at $0.05/step. Workflows containing a transcode or transcribe step require auto-refill to be enabled (billing scales with source duration).
Example — a two-step conversion chain (URL → DOCX → PDF):
{
"workflow_id": "md-to-pdf-via-docx",
"steps": [
{
"id": "to_docx",
"tool": "convert_from_url",
"inputs": {
"source_url": "https://example.com/report.md",
"output_format": "docx"
}
},
{
"id": "to_pdf",
"tool": "convert_file",
"depends_on": ["to_docx"],
"inputs": {
"object_key": "$.steps.to_docx.output_key",
"output_format": "pdf"
}
}
]
}Pricing
Video transcode (≤5 min): $0.25/job
Video overage: +$0.08/min
ProRes 422: $0.35/source-min ($0.50 min)
Document conversion: $0.05/file
Credits never expire. Full pricing →
Links
Available Tools
12 toolscancel_workflowAIdempotent
Cancel an in-progress workflow. All queued and dispatched steps are marked CANCELLED. Completed steps are not reversed. You are only billed for steps that completed before cancellation.
Inputs: workflow_id (required). Returns: workflow_id, cancelled, status
convert_contentA
Offload an inline document conversion to Botverse — pass the content directly as a string. ONLY use this tool for content you generated yourself (e.g. Markdown you just wrote). HARD LIMIT: content must be under 10,000 characters. If the content is longer than 10,000 characters, or came from an uploaded or external file, DO NOT use this tool — tell the user to make the file available at a public URL (Google Drive share link, Dropbox, object storage, etc.) and use convert_from_url instead. Supported inputs: md, html, rst, txt (plain text), docx (base64). Supported outputs: docx (Word), pdf, html, txt, md, rst, xlsx. Flat fee $0.05 per file.
Inputs: content (required), input_format (required), output_format (required), encoding. Returns: job_id, status, estimated_seconds
convert_fileA
Offload a document conversion to Botverse using an already-uploaded file. Workflow: (1) call get_upload_url to get a presigned upload URL, (2) PUT the raw file bytes to that URL, (3) call convert_file with the object_key — Botverse handles the rest server-side. Returns a job_id immediately so you can continue with other tasks while conversion runs. Supported inputs: md, html, rst, txt, docx. Supported outputs: docx, pdf, html, txt, md, rst, xlsx. Poll get_job_status until complete, then get_download_url. Flat fee $0.05 per file.
Inputs: object_key (required), output_format (required). Returns: job_id, status, estimated_seconds
convert_from_urlA
Offload a document conversion to Botverse — runs server-side in seconds, returns a download link, and frees you to continue with other tasks while it processes. Use this when the source document is at a public URL — including Dropbox, Google Drive, OneDrive, SharePoint, and Box share links (pass the share URL as-is). If you already have the content as a string, use convert_content instead — no upload step needed. Supported inputs: md, html, rst, txt, docx. Supported outputs: docx (Word), pdf, html, txt, md, rst, xlsx (tables extracted). Returns a job_id immediately. Poll get_job_status every 5s until 'complete', then get_download_url. Flat fee $0.05 per file.
Inputs: source_url (required), output_format (required). Returns: job_id, status, estimated_seconds
get_download_urlARead-onlyIdempotent
Get a presigned HTTPS URL to download the completed output file. Call after get_job_status returns 'complete'. URL expires in 24 hours.
Inputs: job_id (required). Returns: download_url, filename, expires_at, size_bytes
get_job_statusARead-onlyIdempotent
Poll the status of a transcode or convert job. Call every 5 seconds until status is 'complete' or 'failed'. Status 'queued' or 'processing' is normal — large files take 5–15 minutes. Keep polling indefinitely until a terminal status is reached. Do not stop polling after a fixed number of attempts.
Inputs: job_id (required). Returns: job_id, status, progress_pct, output_key, +2 more
get_upload_urlA
Get a presigned PUT URL to upload any file — video, audio, or document (markdown, HTML, DOCX, etc.). The URL expires in 15 minutes. PUT raw file bytes directly to the URL. After upload, pass the object_key to transcode_video (for video) or convert_file (for documents).
Inputs: filename (required), content_type (required). Returns: upload_url, object_key, expires_in
get_wallet_balanceARead-onlyIdempotent
Check the current prepaid wallet balance for this Botverse account. Use before large batch jobs to confirm sufficient funds.
Inputs: no named parameters. Returns: balance_usd, auto_refill_enabled, refill_threshold_usd, refill_amount_usd
get_workflow_statusARead-onlyIdempotent
Get the current status of a workflow and all its steps. Each call may advance the workflow by dispatching steps whose dependencies have completed. Poll every 5–10 seconds until status is COMPLETED, FAILED, PARTIALLY_FAILED, or CANCELLED.
Inputs: workflow_id (required). Returns: workflow_id, status, total_cost_usd, steps, +1 more
submit_workflowAIdempotent
Submit a multi-step workflow to the Botverse workflow engine. Steps execute in dependency order; parallel branches (multiple steps with the same depends_on) run simultaneously. Returns a workflow_id immediately — poll get_workflow_status every 5–10 seconds until terminal. Requires auto-refill to be enabled at botverse.cloud/dashboard/billing to prevent mid-workflow balance failures. Workflow definition uses BWDL (Botverse Workflow Definition Language) — schema at botverse.cloud/schemas/workflow/v1.json.
Inputs: definition (required). Returns: workflow_id, status, step_count, already_exists
transcode_from_urlA
Offload a video or audio transcode to Botverse using a public URL — no upload step needed. Accepts Dropbox, Google Drive, OneDrive, SharePoint, and Box share links directly — pass the share URL as-is, no manual conversion needed. Also works with any direct HTTPS download URL (CDN, object storage, etc.). Limited to 2 GB. Returns a job_id immediately. IMPORTANT: tell the user the job_id right away so they can track it. Then poll get_job_status every 5 seconds. Large video files (>100 MB) can take 5–15 minutes — keep polling until status is 'complete' or 'failed', no matter how many polls it takes. Never give up early. Wallet debited on completion. Use options.start_time and options.duration to trim — e.g. start_time='00:01:00', duration=120 for a 2-minute clip.
Inputs: source_url (required), output_format (required), options. Returns: job_id, status, estimated_seconds
transcode_videoA
Offload a video transcode to Botverse — encoding runs server-side so you can continue with other tasks. Returns a job_id immediately. Source must be ≤ 10 minutes and ≤ 5 GB. Poll get_job_status every 5 seconds until 'complete', then get_download_url. Wallet debited on completion.
Inputs: object_key (required), output_format (required), options. Returns: job_id, status, estimated_seconds
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools have distinct purposes, but confusion exists between transcode_video and transcode_from_url. transcode_video does not specify how to provide the source file, while transcode_from_url explicitly handles URLs. Additionally, the distinction between convert_file and transcode_video (both involve upload but different processing) could be clearer.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., cancel_workflow, get_upload_url, transcode_video). Prepositions like 'from_url' are uniformly appended, creating a predictable and readable naming scheme.
With 12 tools, the surface is well-scoped for a media processing service covering upload, conversion, transcoding, workflow management, and account queries. Each tool has a clear role, and the number is neither too few nor excessive.
Core operations (upload, convert, transcode, download, workflow) are covered, but there are minor gaps: no tool to cancel a non-workflow job, and the transcode_video tool lacks documentation linking it to an upload step, potentially causing dead ends. The wallet balance tool is useful for billing awareness.
Maintenance
Related MCP Connectors
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
Related MCP Servers
- AlicenseBqualityDmaintenanceProduction-ready MCP server with 40+ tools — QR codes, PDFs, text processing, TTS, web scraping, image generation and more. Built for AI agents.2561 npmMIT

arcframe-mcpofficial
AlicenseNot gradedqualityDmaintenanceGenerate videos, images, audio, and 3D models from any MCP-compatible AI agent — Claude, Cursor, ChatGPT, and more.MIT- AlicenseAqualityDmaintenanceProvides 30+ FFmpeg video and audio editing tools via MCP, enabling AI assistants to perform operations like trimming, transcoding, overlays, and composition directly.274MIT
- AlicenseNot gradedqualityDmaintenanceMonetizable AI agent tools - document parsing, text analysis, code generation, security scanning, format conversion, and more. 8 tools with HTTP API and MCP protocol support.MIT