SpeechWeave logo

SpeechWeave

Transcribe local files and URLs with SpeechWeave's OpenAI-compatible API.

Install SpeechWeave

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "speechweave": {
      "command": "npx",
      "args": [
        "-y",
        "@speechweave/mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 8 tools correctly (7d ago).

Overview

Tools8

What SpeechWeave lets your agent do. Expand a tool for its parameters.

Verified live~2.4k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

7/7 checks healthy over the last 46d

What it can do

From the 8 tools this server returned when we ran it.

Runs commands · 1Handles credentials · 1Makes network requests · 5Read-only tools · 7
Network at startup3 connections
Files written at startupNone
Install scriptsprepare
npm provenanceSigned build
Package age79 days
Maintainers1

Observed 2026-10-17 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · @speechweave/mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads817Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed8Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

@speechweave/mcp

npm version License: MIT

Official Model Context Protocol server for SpeechWeave. Use to transcribe local files and URLs from Cursor, Claude Desktop, Claude Code, Windsurf, and other MCP clients.

SpeechWeave handles short clips and long-form audio without client-side chunking. This MCP server exposes both sync tools (the transcript comes back in the same tool call) and async tools (start a job, then poll for status).

Docs: speechweave.com/docs/mcp · API reference

Install / run

Requires Node.js 18+ and a SpeechWeave API key (sk_live_…).

server.ts
export SPEECHWEAVE_API_KEY="sk_live_..."
npx -y @speechweave/mcp

Cursor / Claude Desktop

Add to your MCP config (e.g. .cursor/mcp.json, claude_desktop_config.json):

config.json
{
	"mcpServers": {
		"speechweave": {
			"command": "npx",
			"args": ["-y", "@speechweave/mcp"],
			"env": {
				"SPEECHWEAVE_API_KEY": "sk_live_..."
			}
		}
	}
}

Claude Code

Terminal
claude mcp add speechweave --env SPEECHWEAVE_API_KEY=sk_live_... -- npx -y @speechweave/mcp

Tools

ToolDeliveryWhen to use
transcribe_filesyncAbsolute local path. Returns the transcript in this call
transcribe_urlsyncPublic HTTPS URL. Returns the transcript in this call
start_job_fileasyncAbsolute local path. Returns job_id immediately
start_job_urlasyncPublic HTTPS URL. Returns job_id immediately
get_job_statusasyncPoll status / transcript for a job id
cancel_jobn/aCancel a queued or processing job
get_limitsn/aUpload size ceilings for your API key
fetch_docn/aPublic docs by slug (bundled pages + live OpenAPI)

Delivery (sync or async) is separate from service_mode (standard or deferred). Either service mode works with either delivery.

Never pass raw audio bytes over MCP. Use absolute file paths (local clients) or HTTPS URLs.

Configuration & Arguments

All transcription and job-start tools accept the following optional arguments:

  • model: Choose core (default) or max.
  • service_mode: Choose standard (default) or deferred (lower cost, lower priority).
  • language: Optional ISO language code to force language detection.
  • task: Choose transcribe (default) or translate to produce an English translation instead. language is ignored when translating.
  • prompt: Optional custom vocabulary hint (proper nouns, acronyms, product names) for the first ~30s of audio.

Formatted transcripts: transcribe_file, transcribe_url, and get_job_status also accept an optional response_format (text, srt, vtt, or verbose_json) to return the transcript in that shape instead of the default plain text.

Saving to a file: transcribe_file, transcribe_url, and get_job_status accept output_file (an absolute path). The transcript is written there instead of being returned, so long transcripts stay out of the conversation. The result includes output_file and bytes_written. The path must end in .txt, .md, .json, .srt, or .vtt and cannot be inside a hidden folder. The parent folder must exist, and an existing file is only replaced when overwrite is true. With response_format: "verbose_json" the file holds the text plus segment timings as JSON.

Billing errors: a 402 comes back as a tool error with code and a hint. USER_SPEND_CAP_REACHED (raise your spend cap), PLATFORM_SPEND_CAP_REACHED (monthly account limit, request an increase), and INSUFFICIENT_BALANCE or WALLET_EMPTY (top up) all need a change on the account first, so the hint tells the assistant not to retry.

Timeout behavior: Sync tools accept an optional timeout_ms. If the transcription exceeds the timeout, the tool gracefully returns a job_id and instructs the client to switch to get_job_status polling.

Account limits and docs

  • get_limits: Returns GET /v1/limits for the calling key, with MB equivalents. Use before uploading large local files.
  • fetch_doc: Returns public documentation. Slug list shows the catalog. Bundled pages include quickstart, mcp, models, billing, and data_retention. Slug api fetches a live OpenAPI overview, and api/<operation_slug> returns one endpoint (e.g. api/get_v1_limits).

Example Prompts

After adding the server and restarting your client, try asking your AI assistant:

Short clip (sync)

"Use SpeechWeave to transcribe /Users/me/recordings/standup.mp3 and summarize action items."

The assistant will call transcribe_file with the absolute path and summarize the returned transcript.

Long podcast (async)

"Start a SpeechWeave job for https://cdn.example.com/three_hour_podcast.mp3, then check back until it completes."

The assistant will call start_job_url, then periodically call get_job_status until the status reaches completed.

Translate to subtitles (sync)

"Translate /Users/me/recordings/spanish_interview.mp3 into English SRT subtitles using SpeechWeave."

The assistant will call transcribe_file with task: "translate" and response_format: "srt".

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about SpeechWeave

SpeechWeave is an MCP server that lets MCP clients transcribe local audio files and public HTTPS URLs through SpeechWeave’s OpenAI-compatible API. It provides wait-first tools for one-turn results and asynchronous tools for starting and polling jobs. It also supports cancellation, account-limit checks, and documentation lookup.

Install and run it with Node.js 18 or newer, a SpeechWeave API key, and `npx -y @speechweave/mcp`. Set the `SPEECHWEAVE_API_KEY` environment variable, then add the command and environment variable to your MCP client configuration, such as Cursor or Claude Desktop.

Use `transcribe_file` with an absolute local file path or `transcribe_url` with a public HTTPS URL. Do not send raw audio bytes over MCP. Both wait until the transcript is ready, while `start_job_file` and `start_job_url` return a `job_id` for asynchronous processing.

Use `start_job_file` or `start_job_url` to begin an asynchronous job, then call `get_job_status` with the returned `job_id`; `cancel_job` can stop a queued or processing job. Transcription tools and `get_job_status` support `text`, `srt`, `vtt`, and `verbose_json` response formats.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSpeechWeave AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/speechweave?style=directory)](https://allmcps.com/mcp/speechweave)
HTML Embed
<a href="https://allmcps.com/mcp/speechweave"><img src="https://allmcps.com/api/badge/speechweave?style=directory" alt="SpeechWeave on AllMCPs" /></a>