Server data from the Official MCP Registry
Transcribe local files and URLs with SpeechWeave's OpenAI-compatible Speech-to-Text API.
About
Transcribe local files and URLs with SpeechWeave's OpenAI-compatible Speech-to-Text API.
Security Report
The SpeechWeave MCP server requires an API key from the environment, uses no shell execution or obfuscation, and its network calls go only to the SpeechWeave API. The main concerns are that the model can point transcription at any absolute local file path, which uploads that file's contents to a third party, and that output_file can write transcripts to arbitrary non-hidden folders, which a prompt-injected transcript could exploit. These permissions fit a transcription server but deserve user awareness. Supply chain analysis found 5 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.
12 files analyzed · 11 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: SPEECHWEAVE_API_KEY
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-speechweave-mcp": {
"env": {
"SPEECHWEAVE_API_KEY": "your-speechweave-api-key-here"
},
"args": [
"-y",
"@speechweave/mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
@speechweave/mcp
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_…).
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):
{
"mcpServers": {
"speechweave": {
"command": "npx",
"args": ["-y", "@speechweave/mcp"],
"env": {
"SPEECHWEAVE_API_KEY": "sk_live_..."
}
}
}
}
Claude Code
claude mcp add speechweave --env SPEECHWEAVE_API_KEY=sk_live_... -- npx -y @speechweave/mcp
Tools
| Tool | Delivery | When to use |
|---|---|---|
transcribe_file | sync | Absolute local path. Returns the transcript in this call |
transcribe_url | sync | Public HTTPS URL. Returns the transcript in this call |
start_job_file | async | Absolute local path. Returns job_id immediately |
start_job_url | async | Public HTTPS URL. Returns job_id immediately |
get_job_status | async | Poll status / transcript for a job id |
cancel_job | n/a | Cancel a queued or processing job |
get_limits | n/a | Upload size ceilings for your API key |
fetch_doc | n/a | Public 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: Choosecore(default) ormax.service_mode: Choosestandard(default) ordeferred(lower cost, lower priority).language: Optional ISO language code to force language detection.task: Choosetranscribe(default) ortranslateto produce an English translation instead.languageis 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: ReturnsGET /v1/limitsfor the calling key, with MB equivalents. Use before uploading large local files.fetch_doc: Returns public documentation. Sluglistshows the catalog. Bundled pages includequickstart,mcp,models,billing, anddata_retention. Slugapifetches a live OpenAPI overview, andapi/<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.mp3and 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.mp3into 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 review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
