Whisper Mcp

io.github.jwulffPublished by GitHub account jwulffv0.1.1Updated Oct 24, 2026

Local audio transcription using whisper.cpp. Transcribe with OpenAI Whisper models.

VerifiedSTDIODesktop onlyMedia & DesignAI & ML

Overview

AI-generated overview

A local MCP server that transcribes audio files on your machine with whisper.cpp, letting an assistant produce transcripts via Whisper models.

What you can do
Transcribe a local audio file with a chosen Whisper model, language and output format (plain text, timestamps or JSON). List available Whisper models and whether each is downloaded. Download a chosen Whisper model for local use.
When to use it
Suited to turning local audio files such as voice memos into text on a Mac without sending the audio to a cloud service. It pairs with a voice memo server for an end-to-end workflow.
Requirements
Runs locally on macOS (tested on Apple Silicon) with Node.js 18 or later, plus whisper-cpp and ffmpeg installed through Homebrew. Models must be downloaded first and are stored in a .whisper folder in the user's home directory.
Before you install
Transcription requires downloading models; the largest is several gigabytes, using disk space and bandwidth. The tool takes an absolute path to an audio file, so the assistant can read local files. Transcripts may contain sensitive speech, so consider where output is stored.

Installation

In SourceWeft

  1. Open Whisper Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Whisper MCP Server

A lightweight MCP (Model Context Protocol) server for local audio transcription using whisper.cpp. There are several Whisper MCP implementations out there. This one is minimal and pairs with apple-voice-memo-mcp for a complete voice memo workflow.

Features

  • Local transcription - All processing happens on your machine
  • Multiple models - Choose from tiny, base, small, medium, or large models
  • Various formats - Supports wav, mp3, m4a, and other audio formats
  • Timestamps - Get transcriptions with or without timestamps

Requirements

  • macOS (tested on Apple Silicon)
  • Node.js 18+
  • whisper-cpp: brew install whisper-cpp
  • ffmpeg: brew install ffmpeg

Installation

bash
npm install -g whisper-mcp

Or run directly:

bash
npx whisper-mcp

Configuration

Claude Desktop

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

json
{  "mcpServers": {    "whisper-mcp": {      "command": "npx",      "args": ["-y", "whisper-mcp"]    }  }}

After editing, restart Claude Desktop.

Claude Code (CLI)

For Claude Code, add to your project's .mcp.json file:

json
{  "mcpServers": {    "whisper-mcp": {      "command": "npx",      "args": ["-y", "whisper-mcp"]    }  }}

Or for user-wide configuration, add to ~/.claude/settings.json:

json
{  "mcpServers": {    "whisper-mcp": {      "command": "npx",      "args": ["-y", "whisper-mcp"]    }  }}

Tip: Use /mcp in Claude Code to verify the server is connected.

Local Development Setup

If running from source instead of npm:

json
{  "mcpServers": {    "whisper-mcp": {      "command": "node",      "args": ["/path/to/whisper-mcp/dist/index.js"]    }  }}

With Apple Voice Memos MCP

For a complete voice memo workflow, use alongside apple-voice-memo-mcp:

json
{  "mcpServers": {    "apple-voice-memo-mcp": {      "command": "npx",      "args": ["-y", "apple-voice-memo-mcp"]    },    "whisper-mcp": {      "command": "npx",      "args": ["-y", "whisper-mcp"]    }  }}

MCP Tools

transcribe_audio

Transcribe an audio file using Whisper.

Parameters:

  • file_path (required): Absolute path to the audio file
  • model (optional): Model to use (tiny.en, base.en, small.en, medium.en, large). Default: base.en
  • language (optional): Language code. Default: en
  • output_format (optional): text, timestamps, or json. Default: text

Example:

json
{  "file_path": "/path/to/audio.m4a",  "model": "medium.en",  "output_format": "timestamps"}

list_whisper_models

List available Whisper models and their download status.

Returns:

json
{  "models": [    {      "name": "base.en",      "size": "142 MB",      "downloaded": true,      "path": "/Users/you/.whisper/ggml-base.en.bin"    }  ]}

download_whisper_model

Download a Whisper model for local use.

Parameters:

  • model (required): Model to download (tiny.en, base.en, small.en, medium.en, large)

Models

ModelSizeSpeedQuality
tiny.en75 MBFastestBasic
base.en142 MBFastGood
small.en466 MBMediumBetter
medium.en1.5 GBSlowGreat
large2.9 GBSlowestBest

Models are stored in ~/.whisper/.

Workflow Example

  1. List your voice memos: list_voice_memos
  2. Get audio path: get_audio with memo ID
  3. Transcribe: transcribe_audio with the file path
  4. Save to your vault

Development

bash
# Clone and installgit clone https://github.com/jwulff/whisper-mcp.gitcd whisper-mcpnpm install
# Buildnpm run build
# Test with MCP inspectornpm run inspector

License

MIT

Source: README.md at commit ad01999

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts