whisper-mcp
MCP server that provides a transcribe_audio tool to convert voice messages from channels into text using OpenAI Whisper, enabling Claude Code to process audio attachments.
README
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) -> str
Transcribes 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.git
Development
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 whisper
For 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_mcp
Claude 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__.py
Limits
- 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.