SpeechWeave vs Whisper

A side-by-side look at the SpeechWeave and Whisper MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

SpeechWeave logoSpeechWeaveSpeech-to-Text · Local subprocess (stdio)Transcribe local files and URLs with SpeechWeave's OpenAI-compatible API.59GoodAuth: not declaredWhisper logoWhisperSpeech-to-Text · Local subprocess (stdio)Verify Whisper agent identities and look up RDAP for a routable /128 — keyless.61GoodAuth: not declared

Verdict: choose SpeechWeave for speech-to-text work as a local process; choose Whisper for speech-to-text as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

SpeechWeave logoChoose SpeechWeave when

  • You need dedicated capabilities in the Speech-to-Text domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like transcribe_file, transcribe_url, start_job_file.
Explore SpeechWeave

Whisper logoChoose Whisper when

  • You need dedicated capabilities in the Speech-to-Text domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like whisper_verify, whisper_rdap, whisper_identify.
Explore Whisper

Feature & specification comparison

Rows where the two servers differ are marked.

SpecSpeechWeave logoSpeechWeaveWhisper logoWhisper
CategorySpeech-to-TextSpeech-to-Text
Quality signal59/100 · Good61/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars03
Directory activity 1 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools85

Tools & capabilities

SpeechWeave tools 8

  • transcribe_fileUpload a local audio/video file and wait until transcription finishes. Prefer for short/medium clips when you need the transcript in this turn. Pass an absolute filesystem path (never raw binary). Set task='translate' to get an English translation instead of a same-language transcript. On wait timeout, returns job_id, then call get_job_status. For long audio you plan to poll yourself, use start_job_file instead.
  • transcribe_urlStart transcription from a public HTTPS URL and wait until it finishes. Prefer for short/medium media when you need the transcript in this turn. Set task='translate' to get an English translation instead of a same-language transcript. On wait timeout, returns job_id, then call get_job_status. For long audio you plan to poll yourself, use start_job_url instead.
  • start_job_fileUpload a local audio/video file and return a job id immediately without waiting. Use for long recordings or when you will poll later with get_job_status. Pass an absolute filesystem path. Set task='translate' for an English translation instead of a same-language transcript.
  • start_job_urlCreate a transcription job from a public HTTPS URL and return a job id immediately. Use for long media or deferred workflows; poll with get_job_status until completed, failed, or cancelled. Set task='translate' for an English translation instead of a same-language transcript.
  • get_job_statusFetch the current status of a transcription job (and transcript when completed). Poll until status is completed, failed, or cancelled. Pass response_format ('srt', 'vtt', or 'verbose_json') on a completed job to fetch it re-formatted.
  • cancel_jobCancel a queued or processing transcription job. Fails if the job is already terminal.
  • get_limitsFetch upload size ceilings for the calling API key (GET /v1/limits). Returns max_input_bytes, sync_max_bytes, and proxy_max_bytes plus MB equivalents. Call before transcribe_file or start_job_file when file size is large.
  • fetch_docReturn public SpeechWeave documentation for a slug. Use slug 'list' for the catalog. Bundled pages include quickstart, mcp, models, billing, and data_retention. Use slug 'api' for a live OpenAPI overview, or 'api/<operation_slug>' for one endpoint (e.g. api/get_v1_limits).

Whisper tools 5

  • whisper_verifyVerify whether an address or FQDN is a real Whisper agent and, if so, whose - running the full keyless trust chain (reverse-DNS + DANE-EE TLSA pin + DNSSEC + JWS identity doc). Returns the verdict as JSON. Use it to check any peer's claimed identity before trusting it. No API key needed.
  • whisper_rdapFetch the RDAP record for a Whisper IPv6 /128 (the IP-anchored registration object: who operates the agent identity, since when, under which tenant). Returns RDAP JSON. Use it to look up ownership/registration facts about an address. No API key needed.
  • whisper_identifyName the vendor and operator role behind a host or IP in one call. Resolves a host/IP to its canonical vendor, category and operator roles (DNS_OPERATOR / CDN / ORIGIN_AS / MAIL_RECEIVER) with a confidence band. No API key needed. Docs: https://www.whisper.security/docs/whisper-graph/procedures/identify
  • whisper_assessGet a labelled threat posture for a host or IP - malicious, benign, or unknown. Returns a posture label + severity band + sub-labels + coverage + evidence for an indicator; benign-allowlisted vs malicious-evidenced, never a bare score. No API key needed. Docs: https://www.whisper.security/docs/whisper-graph/procedures
  • whisper_explainScore an indicator against the threat feeds and explain exactly why. Threat-intel scorer: score + level + human explanation + the feeds it is listed in (feedId, weight, firstSeen/lastSeen). Two live forms: bare CALL explain($v) (full columns) and CALL whisper.explain($v) (restricted YIELD). No API key needed. Docs: https://www.whisper.security/docs/whisper-graph/procedures/explain

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

SpeechWeave

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "speechweave": {
      "command": "npx",
      "args": [
        "-y",
        "@speechweave/mcp"
      ]
    }
  }
}

Whisper

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "whisper": {
      "command": "npx",
      "args": [
        "-y",
        "@whisper-security/whisper-mcp"
      ]
    }
  }
}

Frequently asked questions

SpeechWeave is categorized under Speech-to-Text and uses a local stdio subprocess. Whisper belongs to Speech-to-Text and uses a local stdio subprocess. Pick SpeechWeave for speech-to-text work and Whisper for speech-to-text.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

SpeechWeave has no declared pricing — check the project's own site. Whisper has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add speechweave and whisper as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, SpeechWeave has a quality signal of 59/100 (Good) with 1 views, 0 installs and 0 GitHub stars. Whisper has 61/100 (Good) with 1 views, 0 installs and 3 GitHub stars.