Wisprs

Transcribe audio, video and YouTube links in 100+ languages, then search, summarize, translate and export the transcripts.

Hosted MCP Server

npx add-mcp 'https://wisprs.co/api/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

A recording goes in. Your transcript comes back to the conversation.

Wisprs gives ChatGPT, Codex, Claude, and Claude Code a secure transcription workflow over MCP—built for long-running media, least-privilege access, and reliable retries.

01 · Public HTTPS media

https://…/recording.mp3

02 · Durable operation

op_… · queued → running

03 · Paginated transcript

tr_… · ready to retrieve

Choose your host

One service. Two distribution paths.

The hosted connector uses OAuth. Public directory buttons remain hidden until each platform has approved the listing.

Reviewer package ready

ChatGPT + Codex

A universal OpenAI plugin package with the same remote MCP endpoint, skill instructions, and bounded tool contracts.

  • OAuth connection
  • Bounded remote tool contracts
  • Install CTA unlocks after approval Read OpenAI setup

Connector package ready

Claude + Claude Code

A Claude plugin and connector definition built around the identical operation receipts and transcript handles.

  • OAuth connection
  • Bounded remote tool contracts
  • Install CTA unlocks after approval Read Claude setup

Public v1.1 contract

The complete transcript workflow.

Transcribe, search, export, summarize, chapter, repurpose, translate, and retrieve generated artifacts through one tenant-safe asynchronous contract. Large exports use private expiring MCP resources instead of filling the conversation.

Claude connects through a dedicated endpoint for transcription and the other listed account workflows. AI speech generation is not exposed to Claude; other supported MCP hosts retain the full Wisprs toolset.

transcribe_url

Submit public HTTPS audio or video and receive a durable operation receipt.

transcripts:write

get_private_media_upload_handoff

Open the authenticated Wisprs chunked uploader for local or private media.

transcripts:write

get_video_transcript

Instantly fetch the free caption transcript of a public YouTube, TikTok, or Instagram video.

transcripts:read

list_tts_voices

List active text-to-speech voices available to the connected plan.

tts:read

synthesize_speech

Start a metered text-to-speech job with a plan-authorized voice handle.

tts:write

list_tts_syntheses

List bounded text-to-speech history with short untrusted previews.

tts:read

get_tts_audio

Get a short-lived private download URL for a completed synthesis.

tts:read

list_meeting_sessions

List meeting capture sessions with consent state and transcript availability.

meetings:read

schedule_meeting_capture

Schedule a Wisprs meeting agent after explicit recording consent.

meetings:write

cancel_meeting_capture

Cancel a not-yet-dispatched meeting agent after confirmation.

meetings:write

list_support_tickets

List your own support tickets with bounded previews.

support:read

create_support_ticket

Create a bounded support request for the connected account.

support:write

list_webhook_endpoints

List webhook endpoints with signing secrets redacted.

webhooks:read

create_webhook_endpoint

Create an HTTPS webhook endpoint after SSRF-safe validation.

webhooks:write

update_webhook_endpoint

Update a tenant-owned webhook URL or active state.

webhooks:write

delete_webhook_endpoint

After confirmation, reversibly disable a webhook endpoint.

webhooks:write

list_organization_members

List workspace members without private account fields.

organization:read

list_creator_packs

List the bounded Wisprs creator packs available to the account.

creator:read

list_creator_templates

List bounded creator workflow templates and their outcomes.

templates:read

list_notifications

List bounded in-app notifications for the connected user.

notifications:read

mark_notifications_read

Mark selected or all unread notifications as read.

notifications:write

list_operations

List bounded operation history without payloads or source URLs.

operations:read

get_job_status

Check an operation without making the model hold an open request.

operations:read

get_transcript

Retrieve a completed transcript in bounded, repeatable pages.

transcripts:read

get_transcript_artifact

Read summaries, chapters, repurposed assets, and translations in bounded pages.

ai:transform

search_library

Search the connected personal or workspace library for ranked transcript moments.

library:search

list_transcripts

List a bounded page of transcripts with lifecycle and folder metadata.

transcripts:read

get_transcription_metadata

Read metadata for one transcription without returning transcript text.

transcripts:read

list_folders

List tenant-owned media folders and their live item counts.

library:read

get_usage_and_limits

Read the connected account plan, usage meters, and reset windows.

usage:read

create_folder

Create a tenant-owned media folder through a durable operation.

library:write

rename_folder

Rename a tenant-owned media folder without changing its contents.

library:write

move_transcript_to_folder

File or unfile one tenant-owned transcript.

library:write

delete_folder

After confirmation, soft-delete a folder while preserving its media.

library:write

rename_transcript

Rename one transcript with an optimistic revision guard.

transcripts:write

edit_transcript_text

Apply a confirmed bounded find-and-replace edit against an exact revision.

transcripts:write

retry_transcription

Requeue a failed transcript from retained source media after confirmation.

transcripts:write

create_share_link

Create an explicitly confirmed, expiring public transcript link.

sharing:write

revoke_share_link

Revoke an active public transcript link through a durable operation.

sharing:write

export_transcript

Create TXT, SRT, VTT, JSON, Markdown, or DOCX exports as expiring resources.

transcripts:export

summarize_transcript

Generate or reuse a durable structured transcript summary.

ai:transform

generate_chapters

Generate or reuse timestamped chapters for a completed transcript.

ai:transform

repurpose_transcript

Create show notes, threads, blog drafts, or quote selections.

ai:transform

translate_transcript

Translate a transcript into a specified BCP-47 language.

ai:transform

Least privilege

Write and read scopes are separate. Grants are bound to the authenticated user and, where applicable, their workspace.

Content-free telemetry

Channel analytics records fixed operational dimensions—not prompts, transcript text, media URLs, filenames, tokens, email addresses, or raw IPs.

Safe retries

Idempotency keys, durable receipts, pagination, and explicit terminal states let hosts recover from disconnects without duplicating work.

Try the workflow

Three prompts. One durable loop.

  1. 1 Transcribe this public recording and tell me when it is ready: https://…
  2. 2 Check operation op_… with get_job_status and report its current state.
  3. 3 Retrieve transcript tr_… page by page and preserve the source order.

Developer connection

Need stdio or an API key today?

The existing @wisprs/mcp package remains the developer-controlled alternative. It is separate from the hosted OAuth directory listings.

Connection checklist

No tools appear

Reconnect the host, confirm OAuth completed, then open a new conversation so the host refreshes its tool list.

A URL is rejected

Use a public HTTPS media URL. Private network addresses, unsafe redirects, and oversized responses are blocked.

The operation is still running

Keep the op_ receipt and check it later. Long media is deliberately asynchronous; do not resubmit it.

Access was revoked

Reconnect through the host. Revoked grants fail closed and cannot read earlier handles without valid tenant access.