Private audio and video transcription with Whisper on your own computer, on the GPU or CPU.
Runs on your machine from its package; the steps are below.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Distributed as an MCP bundle (`https://github.com/OrihuelaConde/local-whisper-mcp/releases/download/v1.0.0/local-whisper-mcp-1.0.0-win-x64.mcpb`) — download it and import the bundle in your MCP client.
Distributed as an MCP bundle (`https://github.com/OrihuelaConde/local-whisper-mcp/releases/download/v1.0.0/local-whisper-mcp-1.0.0-osx-arm64.mcpb`) — download it and import the bundle in your MCP client.
Distributed as an MCP bundle (`https://github.com/OrihuelaConde/local-whisper-mcp/releases/download/v1.0.0/local-whisper-mcp-1.0.0-osx-x64.mcpb`) — download it and import the bundle in your MCP client.
Private, local audio transcription for Claude. Local Whisper is a Model Context Protocol (MCP) server that transcribes audio files with Whisper on your own computer, so voice notes, meetings, and lectures never leave it. It works in Claude Desktop, in Claude Code, and in claude.ai chats that run on your computer.
PATH, it also reads M4A and FLAC.large-v3-turbo-q8_0, an NVIDIA GeForce
RTX 3080 transcribes a minute of audio in about one second.Download the files from the latest release. Each section below names the file it needs.
To add Local Whisper to Claude Desktop, install its extension:
local-whisper-mcp-VERSION-win-x64.mcpb for Windows,
local-whisper-mcp-VERSION-osx-arm64.mcpb for Apple Silicon Macs, or
local-whisper-mcp-VERSION-osx-x64.mcpb for Intel Macs.To add Local Whisper to Claude Code, register the executable as an MCP server:
Download the archive for your system, such as local-whisper-mcp-VERSION-linux-x64.tar.gz, and
extract it to a folder that you keep.
Run the following command:
claude mcp add local-whisper -- PATH_TO_EXECUTABLE
Replace PATH_TO_EXECUTABLE with the full path of local-whisper-mcp (or
local-whisper-mcp.exe on Windows) in that folder.
To change a setting, add it to the command as an environment variable, for example
claude mcp add local-whisper -e LOCAL_WHISPER_LANGUAGE=es -- PATH_TO_EXECUTABLE.
A claude.ai chat reaches the server through the Claude desktop app on your computer:
The skill is optional, and recommended. The server works without it, but the skill tells Claude when to use the server, how to pass it a chat attachment, and what to tell you when the server isn't reachable. Without it, a claude.ai chat that doesn't run on your computer can't see the server and may try to transcribe the audio in the cloud instead of telling you how to connect it.
To add the skill to claude.ai, download local-whisper-skill.zip and upload it in
Settings > Capabilities, under Skills.
To add the skill to Claude Code, install the local-whisper plugin from the orihuelaconde
marketplace. First, add the marketplace:
claude plugin marketplace add OrihuelaConde/claude-plugins
Then install the plugin:
claude plugin install local-whisper@orihuelaconde
The plugin carries only the skill; register the server as described in Claude Code.
Ask Claude in your own words. For example:
C:\Users\me\Recordings\meeting.m4a and summarize the decisions."~/Videos/class.mp4."Video files are much larger than audio files. When a video is already on your computer, give Claude its path instead of attaching it to the chat, so it doesn't have to travel through the chat and back.
The server provides three tools:
| Tool | What it does |
|---|---|
transcribe | Transcribes an audio file. Its parameters are path (absolute), model, language, format (txt, srt, or json), and vad. |
status | Reports the device in use, the installed models and their sizes, downloads in progress, the inbox, the allowed folders, and the log folder. |
delete_models | Deletes downloaded models to free disk space. Its description tells Claude to confirm with you first. |
The Claude Desktop extension shows these settings on its page. For Claude Code and other MCP clients, set them as environment variables:
| Variable | Default | Description |
|---|---|---|
LOCAL_WHISPER_MODEL | large-v3-turbo-q8_0 | Any model from whisper.cpp's model list, by name (base) or file name (ggml-base.bin). |
LOCAL_WHISPER_LANGUAGE | auto | A language code such as en or es, or auto to detect it. |
LOCAL_WHISPER_USE_GPU | true | false runs only on the CPU. |
LOCAL_WHISPER_RUNTIME | auto | auto, cpu, or vulkan. A runtime that can't load falls back to the CPU. |
LOCAL_WHISPER_IDLE_MINUTES | 5 | Minutes without use before the model leaves memory. 0 frees it after every transcription. |
LOCAL_WHISPER_ALLOWED_ROOTS | Your user folder | Folders the server may read audio from, separated by ; on Windows and : elsewhere. The --allowed-roots DIR... option replaces it. |
LOCAL_WHISPER_INBOX_DIR | ~/.local-whisper-mcp/inbox | Folder for audio that clients copy to the computer. The server deletes each file there after transcribing it. |
LOCAL_WHISPER_MODELS_DIR | ~/.local-whisper-mcp/models | Folder for the downloaded models. |
LOCAL_WHISPER_AUTO_DOWNLOAD | true | false stops the server from downloading missing models. |
LOCAL_WHISPER_THREADS | Up to 8 | CPU threads for transcription. |
LOCAL_WHISPER_FFMPEG | Found automatically | Full path of the ffmpeg executable. Without it, the server looks on the PATH and in the folders of winget, Scoop, Chocolatey, Homebrew, and MacPorts. |
To download a model before its first use, for example on a slow connection, run the executable with
the download command:
local-whisper-mcp download large-v3-turbo-q8_0
LOCAL_WHISPER_AUTO_DOWNLOAD=false.~/.local-whisper-mcp/logs records timings, settings, and errors, never transcripts.
Routine entries leave out file names, but an error entry can include the path of the file that
failed, so review the log before you share it. The server keeps a week of logs.The release files aren't signed. On macOS, if Gatekeeper blocks the executable from the archive,
allow it with xattr -dr com.apple.quarantine FOLDER, where FOLDER is the extracted folder.
status tool.vad set to
false.~/.local-whisper-mcp/logs.You need the .NET 10 SDK and the Native AOT prerequisites for your system. To run the tests, publish the server, and pack the Claude Desktop extension, run these commands from the repository root:
dotnet test --project tests/LocalWhisperMcp.Tests
dotnet publish src/LocalWhisperMcp -c Release -r win-x64 -o out
pwsh packaging/mcpb/pack.ps1 -Rid win-x64 -PublishDir out
Replace win-x64 with the runtime identifier of your system: osx-arm64, osx-x64, linux-x64,
or linux-arm64. Native AOT builds only for the system it runs on.
Local Whisper is released under the MIT License. It includes components under their own licenses, listed in THIRD-PARTY-NOTICES.txt.
Local Whisper is an independent project, not affiliated with or endorsed by Anthropic or OpenAI. Claude is a trademark of Anthropic, PBC, and this project uses the name only to say which apps it works with.