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
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 25 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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.
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
claude mcp add mkturner74-botverse -- npx -y botverse-mcp
codex mcp add mkturner74-botverse -- npx -y botverse-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mkturner74-botverse": {
"type": "local",
"command": [
"npx",
"-y",
"botverse-mcp"
],
"enabled": true
}
}
} openclaw mcp add mkturner74-botverse --command npx --arg -y --arg botverse-mcp
mcp_servers:
mkturner74-botverse:
command: "npx"
args: ["-y", "botverse-mcp"] {
"mcpServers": {
"mkturner74-botverse": {
"command": "npx",
"args": [
"-y",
"botverse-mcp"
]
}
}
} 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
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.
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.
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.
| Name | Type | Req | Description |
|---|---|---|---|
| workflow_id | string | yes | Workflow ID to cancel. |
| Name | Type | Req | Description |
|---|---|---|---|
| cancelled | boolean | yes | — |
| status | string | — | — |
| workflow_id | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The file content as a plain text string (for md, html, rst, txt) or base64-encoded bytes (for docx). |
| encoding | string | — | Encoding of the content field. Defaults to "text". Use "base64" for binary inputs like .docx. |
| input_format | string | yes | Source format of the content. |
| output_format | string | yes | Target format: docx | html | txt | md | rst | pdf | xlsx |
| single_page_sheets | boolean | — | Excel→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). |
| Name | Type | Req | Description |
|---|---|---|---|
| estimated_seconds | number | — | Rough estimated processing time in seconds. Actual time may vary. |
| job_id | string | yes | Unique identifier for this job. Pass to get_job_status and get_download_url. |
| status | string | yes | Initial 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.
| Name | Type | Req | Description |
|---|---|---|---|
| object_key | string | yes | The object_key returned by get_upload_url. |
| output_format | string | yes | Target format: docx | html | txt | md | rst | pdf | xlsx |
| single_page_sheets | boolean | — | Excel→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). |
| Name | Type | Req | Description |
|---|---|---|---|
| estimated_seconds | number | — | Rough estimated processing time in seconds. Actual time may vary. |
| job_id | string | yes | Unique identifier for this job. Pass to get_job_status and get_download_url. |
| status | string | yes | Initial 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.
| Name | Type | Req | Description |
|---|---|---|---|
| output_format | string | yes | Target format: docx | html | txt | md | rst | pdf | xlsx |
| single_page_sheets | boolean | — | Excel→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_url | string | yes | Public HTTPS URL of the source document. |
| Name | Type | Req | Description |
|---|---|---|---|
| estimated_seconds | number | — | Rough estimated processing time in seconds. Actual time may vary. |
| job_id | string | yes | Unique identifier for this job. Pass to get_job_status and get_download_url. |
| status | string | yes | Initial 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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Job ID from transcode_video, transcode_from_url, any convert tool, or any transcribe tool. |
| Name | Type | Req | Description |
|---|---|---|---|
| download_url | string | yes | Presigned HTTPS GET URL for the output file. Valid for 24 hours. |
| expires_at | string | yes | ISO 8601 timestamp when the download URL expires. |
| filename | string | yes | Suggested filename for the downloaded file including extension. |
| size_bytes | number | — | File 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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Job ID returned by transcode_video, transcode_from_url, convert_file, convert_from_url, convert_content, transcribe_from_url, or transcribe_media. |
| Name | Type | Req | Description |
|---|---|---|---|
| cost_usd | number | — | Amount debited from the wallet on completion, in USD. |
| error_message | string | — | Human-readable error description. Present when status is 'failed'. |
| job_id | string | yes | The job identifier. |
| output_key | string | — | storage object key of the completed output. Present when status is 'complete'. Pass to get_download_url. |
| progress_pct | number | — | Encoding progress 0–100. Only present while status is 'processing'. |
| status | string | yes | Current 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).
| Name | Type | Req | Description |
|---|---|---|---|
| content_type | string | yes | MIME type. Video: "video/mp4". Documents: "text/markdown", "text/html", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain". |
| filename | string | yes | Original filename including extension, e.g. report.md or footage.mp4 |
| Name | Type | Req | Description |
|---|---|---|---|
| expires_in | number | yes | Seconds until the upload URL expires (900 = 15 minutes). |
| object_key | string | yes | storage object key — pass this to transcode_video or convert_file. |
| upload_url | string | yes | Presigned 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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_refill_enabled | boolean | yes | Whether automatic wallet top-up is enabled. |
| balance_usd | number | yes | Current wallet balance in USD. |
| refill_amount_usd | number | — | Amount in USD added on each auto-refill, if enabled. |
| refill_threshold_usd | number | — | Balance 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.
| Name | Type | Req | Description |
|---|---|---|---|
| workflow_id | string | yes | Workflow ID returned by submit_workflow. |
| Name | Type | Req | Description |
|---|---|---|---|
| completed_at | string | — | ISO timestamp when workflow reached terminal state. |
| status | string | yes | — |
| steps | array | — | Array of step status objects. |
| total_cost_usd | number | — | — |
| workflow_id | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| definition | object | yes | BWDL workflow definition. Must include workflow_id (string) and steps (array). Each step needs id, tool, and inputs. |
| Name | Type | Req | Description |
|---|---|---|---|
| already_exists | boolean | — | True if this workflow_id was already submitted — idempotent resubmit. |
| status | string | yes | Initial status: QUEUED or PROCESSING. |
| step_count | number | — | Number of steps in the workflow. |
| workflow_id | string | yes | Unique 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.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | — | Optional encoding parameters. All are optional. |
| output_format | string | yes | Target output format. One of: mp4 (H.264), webm (VP9), mov_prores (ProRes 422), mp3 (audio extraction), gif. |
| source_url | string | yes | Public HTTPS URL of the source video or audio file. |
| Name | Type | Req | Description |
|---|---|---|---|
| estimated_seconds | number | — | Rough estimated processing time in seconds. Actual time may vary. |
| job_id | string | yes | Unique identifier for this job. Pass to get_job_status and get_download_url. |
| status | string | yes | Initial 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.
| Name | Type | Req | Description |
|---|---|---|---|
| object_key | string | yes | storage object key returned by get_upload_url. |
| options | object | — | Optional encoding parameters. All are optional. |
| output_format | string | yes | Target output format. One of: mp4 (H.264), webm (VP9), mov_prores (ProRes 422), mp3 (audio extraction), gif. |
| Name | Type | Req | Description |
|---|---|---|---|
| estimated_seconds | number | — | Rough estimated processing time in seconds. Actual time may vary. |
| job_id | string | yes | Unique identifier for this job. Pass to get_job_status and get_download_url. |
| status | string | yes | Initial 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.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | — | Optional. 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_format | string | yes | Primary deliverable format. |
| source_url | string | yes | Public HTTPS URL of the source video or audio file. |
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Unique identifier for this job. Pass to get_job_status and get_download_url. |
| status | string | yes | Initial 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).
| Name | Type | Req | Description |
|---|---|---|---|
| object_key | string | yes | The object_key returned by get_upload_url. |
| options | object | — | Same options object as transcribe_from_url (attendees, language, diarize, max_speakers, title, include_timestamps, also_deliver). |
| output_format | string | yes | Primary deliverable format. |
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Unique identifier for this job. Pass to get_job_status and get_download_url. |
| status | string | yes | Initial job state. |
No examples provided.