Most transcription tools want a path. If you record regularly you do not have a path, you have a vague memory of a long conversation some time last week — which is exactly what the filtering is for. The enhancement templates are worth knowing about before you settle for a raw transcript: the same recording turned into an analytical summary or a professional write-up is usually closer to what you wanted. Run convert_audio first if you plan to ask questions about the audio, since chat only accepts mp3 and wav.
An MCP server over a local directory of audio files, backed by OpenAI's transcription, audio-chat and speech models. The part that makes it usable is the file layer: you can find the recording by describing it — duration, modified time, size — instead of knowing its filename.
- list_audio_files — filter and sort the directory by duration, modified time or size, with each file annotated by which models can handle it
- get_latest_audio — the most recent recording, for when you just finished making one
- convert_audio to mp3 or wav, and compress_audio for files over the size limit — which is what stops a long recording from being rejected
- transcribe_audio — the plain transcript
- transcribe_with_enhancement — the same audio through a template: detailed keeps tone, emotion and background; storytelling turns it into narrative; professional produces business-appropriate text; analytical adds analysis of speech patterns and key points
- chat_with_audio — ask questions about a recording rather than reading its transcript, using the audio models directly
- create_audio — text to speech, with a voice, an optional instruction on how to deliver it, and a speed
- Transcription accepts flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav and webm; audio chat is limited to mp3 and wav, which is what convert_audio is for
An OpenAI API key in OPENAI_API_KEY, and AUDIO_FILES_PATH pointing at the directory you want addressable. Install with uv from the repository. You pay OpenAI per minute transcribed and per character spoken; the server itself adds nothing. Your audio is uploaded to OpenAI when a tool runs — the file management happens locally, the model work does not.
One command plus a key — uvx mcp-server-whisper, then supply credentials
