whisper-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@whisper-mcptranscribe the voice message attachment I just downloaded"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
whisper-mcp
MCP server that exposes a single transcribe_audio tool for Claude
Code to transcribe audio files via OpenAI Whisper.
Built to close the "Channels gap" — the official Claude Code Channels
plugins (Telegram, Discord, iMessage) deliver voice messages as
'(voice message)' + attachment_file_id without transcription.
Claude can download the audio via download_attachment and then call
this tool to get text.
Tool
transcribe_audio(file_path: str) -> strTranscribes an audio file (.ogg, .mp3, .m4a, .mp4, .wav,
.flac) to text. Uses OpenAI's gpt-4o-mini-transcribe model with
language="nl" by default.
Raises:
FileNotFoundError— path doesn't existValueError— file >25 MB (Whisper API limit)RuntimeError— API error or missingOPENAI_API_KEY
Install
Production
uv tool install git+https://github.com/skroes/whisper-mcp.gitDevelopment
git clone https://github.com/skroes/whisper-mcp.git
cd whisper-mcp
python -m venv .venv
.venv/bin/pip install -e ".[dev]"Register with Claude Code
claude mcp add \
--scope user \
--env OPENAI_API_KEY="$(op read 'op://Tooling Hub en integraties/.../api_key')" \
whisper \
-- "$HOME/.local/bin/whisper-mcp"
# Verify
claude mcp list
claude mcp get whisperFor development (venv install):
claude mcp add \
--scope user \
--env OPENAI_API_KEY="$(op read ...)" \
whisper \
-- "$HOME/wd-workspace/repo/whisper-mcp/.venv/bin/python" -m whisper_mcpClaude prompt instruction
Add to ~/.claude/CLAUDE.md:
## Voice attachments in Channels
When a channel message contains a voice/audio attachment (detect via
`attachment_file_id` in the channel tag or `(voice message)` placeholder):
1. Use the channel's attachment download tool (e.g. `download_attachment`
for Telegram) to save the file locally.
2. Call `transcribe_audio(path)` from the whisper MCP server.
3. Treat the returned transcript as the user's actual message.
4. Continue working in the current session context.
5. If transcription fails, report the error and ask the user to retry
or type the message.Testing locally
# Standalone Python call
.venv/bin/python -c "
import asyncio
from whisper_mcp.transcribe import transcribe_audio
print(asyncio.run(transcribe_audio('/path/to/test.ogg')))
"
# MCP dev mode (interactive)
.venv/bin/mcp dev whisper_mcp/__main__.pyLimits
File size: 25 MB (OpenAI Whisper API limit). Larger files raise
ValueError— split required (post-MVP feature).Language: hardcoded
nl. Multi-language is post-MVP.
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/skroes/whisper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server