Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.MkTurner74/botverse

NPM · BOTVERSE-MCP · SCANNED AUG 3

Transcode video, convert docs & transcribe audio for AI agents. Free $1 trial, no card.

Available components

−11 this week 68 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency45
Schema Quality & AI Usability69
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2690 tokens (~192/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · botverse-mcp

# add to Claude Code
claude mcp add mkturner74-botverse -- npx -y botverse-mcp
# add to Codex CLI
codex mcp add mkturner74-botverse -- npx -y botverse-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mkturner74-botverse": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "botverse-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add mkturner74-botverse --command npx --arg -y --arg botverse-mcp
# ~/.hermes/config.yaml
mcp_servers:
  mkturner74-botverse:
    command: "npx"
    args: ["-y", "botverse-mcp"]
// mcp.json
{
  "mcpServers": {
    "mkturner74-botverse": {
      "command": "npx",
      "args": [
        "-y",
        "botverse-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +15
    • Malware scan: unverified → pass security
  • 31 Jul 26 −26
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 +32
    • Tool coverage: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Tool coverage: 100 functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: fail functional
  • 26 Jul 26 47

    First indexed and scored.

    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 0 packages

0 packages in the resolved dependency tree.

MCP tools — 14 exposed · ~2,690 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
cancel_workflow ~54

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.

NameTypeReqDescription
workflow_idstringyesWorkflow ID to cancel.
NameTypeReqDescription
cancelledbooleanyes
statusstring
workflow_idstringyes

No examples provided.

convert_content ~356

Offload an inline document conversion to Botverse — pass the content directly as a string. PREFER this when you already have the content (text, or base64 for binary Office files). Inline limit: 4 MB. For larger files, use convert_from_url (public URL or cloud share link) or get_upload_url + convert_file. Supported inputs: md, html, rst, txt, doc, docx, pptx, ppt, xlsx (PowerPoint inputs convert to pdf only). Supported outputs: docx (Word), pdf, html, txt, md, rst, xlsx (tables extracted). Office documents (Word, PowerPoint, Excel) render to PDF with full page layout — Excel PDFs honor the workbook's print areas and page setup; optional single_page_sheets scales each sheet onto exactly one PDF page. Binary inputs (doc, docx, pptx, ppt, xlsx) require encoding "base64". Flat fee $0.05 per file.

NameTypeReqDescription
contentstringyesThe file content as a plain text string (for md, html, rst, txt) or base64-encoded bytes (for docx).
encodingstringEncoding of the content field. Defaults to "text". Use "base64" for binary inputs like .docx.
input_formatstringyesSource format of the content.
output_formatstringyesTarget format: docx | html | txt | md | rst | pdf | xlsx
single_page_sheetsbooleanExcel→PDF only: scale each sheet onto exactly one PDF page instead of using the workbook's print areas/page setup. Avoid for very tall sheets (1000+ rows).
NameTypeReqDescription
estimated_secondsnumberRough estimated processing time in seconds. Actual time may vary.
job_idstringyesUnique identifier for this job. Pass to get_job_status and get_download_url.
statusstringyesInitial job state — always queued or processing immediately after submission.

No examples provided.

convert_file ~294

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, doc, docx, pptx, ppt, xlsx (PowerPoint inputs convert to pdf only). Supported outputs: docx (Word), pdf, html, txt, md, rst, xlsx (tables extracted). Office documents (Word, PowerPoint, Excel) render to PDF with full page layout — Excel PDFs honor the workbook's print areas and page setup; optional single_page_sheets scales each sheet onto exactly one PDF page. Poll get_job_status until complete, then get_download_url. Flat fee $0.05 per file.

NameTypeReqDescription
object_keystringyesThe object_key returned by get_upload_url.
output_formatstringyesTarget format: docx | html | txt | md | rst | pdf | xlsx
single_page_sheetsbooleanExcel→PDF only: scale each sheet onto exactly one PDF page instead of using the workbook's print areas/page setup. Avoid for very tall sheets (1000+ rows).
NameTypeReqDescription
estimated_secondsnumberRough estimated processing time in seconds. Actual time may vary.
job_idstringyesUnique identifier for this job. Pass to get_job_status and get_download_url.
statusstringyesInitial job state — always queued or processing immediately after submission.

No examples provided.

convert_from_url ~338

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. Accepts share links from Dropbox, Google Drive, OneDrive (personal or business), SharePoint, and Box directly — pass the share URL as-is; they auto-resolve to the file. Also works with any direct HTTPS download URL. If you already have the content as a string, use convert_content instead — no upload step needed. Supported inputs: md, html, rst, txt, doc, docx, pptx, ppt, xlsx (PowerPoint inputs convert to pdf only). Supported outputs: docx (Word), pdf, html, txt, md, rst, xlsx (tables extracted). Office documents (Word, PowerPoint, Excel) render to PDF with full page layout — Excel PDFs honor the workbook's print areas and page setup; optional single_page_sheets scales each sheet onto exactly one PDF page. Returns a job_id immediately. Poll get_job_status every 5s until 'complete', then get_download_url. Flat fee $0.05 per file.

NameTypeReqDescription
output_formatstringyesTarget format: docx | html | txt | md | rst | pdf | xlsx
single_page_sheetsbooleanExcel→PDF only: scale each sheet onto exactly one PDF page instead of using the workbook's print areas/page setup. Avoid for very tall sheets (1000+ rows).
source_urlstringyesPublic HTTPS URL of the source document.
NameTypeReqDescription
estimated_secondsnumberRough estimated processing time in seconds. Actual time may vary.
job_idstringyesUnique identifier for this job. Pass to get_job_status and get_download_url.
statusstringyesInitial job state — always queued or processing immediately after submission.

No examples provided.

get_download_url ~67

Get a presigned HTTPS URL to download the completed output file. Call after get_job_status returns 'complete'. URL expires in 24 hours.

NameTypeReqDescription
job_idstringyesJob ID from transcode_video, transcode_from_url, any convert tool, or any transcribe tool.
NameTypeReqDescription
download_urlstringyesPresigned HTTPS GET URL for the output file. Valid for 24 hours.
expires_atstringyesISO 8601 timestamp when the download URL expires.
filenamestringyesSuggested filename for the downloaded file including extension.
size_bytesnumberFile size of the output in bytes.

No examples provided.

get_job_status ~140

Poll the status of a transcode, convert, or transcribe job. Call every 5 seconds until status is 'complete' or 'failed'. Status 'queued' or 'processing' is normal — large files take 5–15 minutes; transcribe reports a live stage (converting audio → transcribing → AI augmenting → rendering). Keep polling indefinitely until a terminal status is reached. Do not stop polling after a fixed number of attempts.

NameTypeReqDescription
job_idstringyesJob ID returned by transcode_video, transcode_from_url, convert_file, convert_from_url, convert_content, transcribe_from_url, or transcribe_media.
NameTypeReqDescription
cost_usdnumberAmount debited from the wallet on completion, in USD.
error_messagestringHuman-readable error description. Present when status is 'failed'.
job_idstringyesThe job identifier.
output_keystringstorage object key of the completed output. Present when status is 'complete'. Pass to get_download_url.
progress_pctnumberEncoding progress 0–100. Only present while status is 'processing'.
statusstringyesCurrent job state.

No examples provided.

get_upload_url ~142

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).

NameTypeReqDescription
content_typestringyesMIME type. Video: "video/mp4". Documents: "text/markdown", "text/html", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain".
filenamestringyesOriginal filename including extension, e.g. report.md or footage.mp4
NameTypeReqDescription
expires_innumberyesSeconds until the upload URL expires (900 = 15 minutes).
object_keystringyesstorage object key — pass this to transcode_video or convert_file.
upload_urlstringyesPresigned HTTPS PUT URL. Send raw file bytes as the request body.

No examples provided.

get_wallet_balance ~31

Check the current prepaid wallet balance for this Botverse account. Use before large batch jobs to confirm sufficient funds.

Input schema present but exposes no named parameters.

NameTypeReqDescription
auto_refill_enabledbooleanyesWhether automatic wallet top-up is enabled.
balance_usdnumberyesCurrent wallet balance in USD.
refill_amount_usdnumberAmount in USD added on each auto-refill, if enabled.
refill_threshold_usdnumberBalance threshold in USD that triggers an auto-refill, if enabled.

No examples provided.

get_workflow_status ~76

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.

NameTypeReqDescription
workflow_idstringyesWorkflow ID returned by submit_workflow.
NameTypeReqDescription
completed_atstringISO timestamp when workflow reached terminal state.
statusstringyes
stepsarrayArray of step status objects.
total_cost_usdnumber
workflow_idstringyes

No examples provided.

submit_workflow ~278

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. INTER-STEP REFERENCES: pass a prior step's output into a later step with the string "$.steps.<step_id>.output_key" (e.g. a docx→pdf chain: step to_pdf has depends_on: ["to_docx"] and inputs {"source_url": "$.steps.to_docx.output_key", "input_format": "docx", "output_format": "pdf"} using tool convert_from_url). Workflow params are referenced as "$.params.<name>". No other template syntax (${...} etc.) is supported. BILLING: convert-only workflows run on wallet balance ($0.05/step). Workflows containing transcode or transcribe steps require auto-refill to be enabled at botverse.cloud/dashboard/billing (their cost scales with source duration). Workflow definition uses BWDL (Botverse Workflow Definition Language) — schema at botverse.cloud/schemas/workflow/v1.json.

NameTypeReqDescription
definitionobjectyesBWDL workflow definition. Must include workflow_id (string) and steps (array). Each step needs id, tool, and inputs.
NameTypeReqDescription
already_existsbooleanTrue if this workflow_id was already submitted — idempotent resubmit.
statusstringyesInitial status: QUEUED or PROCESSING.
step_countnumberNumber of steps in the workflow.
workflow_idstringyesUnique workflow identifier. Pass to get_workflow_status.

No examples provided.

transcode_from_url ~271

Offload a video or audio transcode to Botverse using a public URL — no upload step needed. Accepts share links from Dropbox, Google Drive, OneDrive (personal or business), SharePoint, and Box directly — pass the share URL as-is; they auto-resolve to the file. Also works with any direct HTTPS download URL. 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.

NameTypeReqDescription
optionsobjectOptional encoding parameters. All are optional.
output_formatstringyesTarget output format. One of: mp4 (H.264), webm (VP9), mov_prores (ProRes 422), mp3 (audio extraction), gif.
source_urlstringyesPublic HTTPS URL of the source video or audio file.
NameTypeReqDescription
estimated_secondsnumberRough estimated processing time in seconds. Actual time may vary.
job_idstringyesUnique identifier for this job. Pass to get_job_status and get_download_url.
statusstringyesInitial job state — always queued or processing immediately after submission.

No examples provided.

transcode_video ~147

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 ≤ 60 minutes and ≤ 2 GB. Poll get_job_status every 5 seconds until 'complete', then get_download_url. Wallet debited on completion.

NameTypeReqDescription
object_keystringyesstorage object key returned by get_upload_url.
optionsobjectOptional encoding parameters. All are optional.
output_formatstringyesTarget output format. One of: mp4 (H.264), webm (VP9), mov_prores (ProRes 422), mp3 (audio extraction), gif.
NameTypeReqDescription
estimated_secondsnumberRough estimated processing time in seconds. Actual time may vary.
job_idstringyesUnique identifier for this job. Pass to get_job_status and get_download_url.
statusstringyesInitial job state — always queued or processing immediately after submission.

No examples provided.

transcribe_from_url ~317

Transcribe a video or audio file from a public HTTPS URL into a speaker-labelled transcript — ONE call does everything. Accepts share links from Dropbox, Google Drive, OneDrive (personal or business), SharePoint, and Box directly — pass the share URL as-is; they auto-resolve to the file. Also works with any direct HTTPS download URL. Internally: converts to audio, runs speech-to-text with speaker diarization, uses AI to name the speakers from your attendee list, and renders the document. Pass options.attendees (names, optional gender/role) and it tags who said what. Output formats: txt, json, srt, vtt, docx, pdf. CONSENT: you must have all parties' consent to record/transcribe. Returns a job_id immediately — report it to the user, then poll get_job_status (it reports a live stage: converting audio → transcribing → AI augmenting → rendering) until 'complete', then get_download_url. ~$0.08/audio-minute (~$5/hour), diarization + naming included.

NameTypeReqDescription
optionsobjectOptional. attendees: [{name, gender?, role?}] to name speakers; language (BCP-47 or 'auto'); diarize (default true); max_speakers; title; include_timestamps; also_deliver: extra formats in the same j…
output_formatstringyesPrimary deliverable format.
source_urlstringyesPublic HTTPS URL of the source video or audio file.
NameTypeReqDescription
job_idstringyesUnique identifier for this job. Pass to get_job_status and get_download_url.
statusstringyesInitial job state.

No examples provided.

transcribe_media ~179

Transcribe an already-uploaded video/audio file (from get_upload_url) into a speaker-labelled transcript. Same one-call pipeline and options as transcribe_from_url (attendee naming, srt/vtt, formatted docx/pdf). Use for local files or files larger than a URL fetch allows (up to 2 GB). CONSENT: you must have all parties' consent. Poll get_job_status (live stage) until complete, then get_download_url. ~$0.08/audio-minute (~$5/hour).

NameTypeReqDescription
object_keystringyesThe object_key returned by get_upload_url.
optionsobjectSame options object as transcribe_from_url (attendees, language, diarize, max_speakers, title, include_timestamps, also_deliver).
output_formatstringyesPrimary deliverable format.
NameTypeReqDescription
job_idstringyesUnique identifier for this job. Pass to get_job_status and get_download_url.
statusstringyesInitial job state.

No examples provided.