mcpField
W
whisper-mcp

whisper-mcp

Local
github.com/jwulffMedia & Design3Updated 1w ago

About whisper-mcp

whisper-mcp is a local audio transcription MCP server built on whisper.cpp for users who want to transcribe recordings on their own machine. It supports several models and audio formats, with optional timestamps.

Key features

  1. 01Local transcription with whisper.cpp
  2. 02Several Whisper model sizes
  3. 03WAV, MP3, M4A and other formats
  4. 04Text, timestamp, or JSON output
  5. 05List and download models

Use cases

  1. 01Transcribing local audio recordings
  2. 02Choosing models for different transcription needs
  3. 03Getting timestamped or JSON transcripts

MCP support

Exposes tools to transcribe audio files, list available Whisper models, and download models to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"jwulff-whisper": {
"command": "npx",
"args": [
"-y",
"whisper-mcp"
]
}
}
}
Run commandnpx -y whisper-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmwhisper-mcp0.1.1

Tools

3

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
modelenumNoWhisper model to use (tiny.en, base.en, small.en, medium.en, large). Default: base.entiny.en | base.en | small.en | medium.en | large
languagestringNoLanguage code (e.g., en, es, fr). Default: en
file_pathstringYesAbsolute path to the audio file to transcribe
output_formatenumNoOutput format: text (plain text), timestamps (with timestamps), json (structured). Default: texttext | timestamps | json

Details

From the project 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

npm install -g whisper-mcp

Or run directly:

npx whisper-mcp

Configuration

Claude Desktop

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.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:

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

Or for user-wide configuration, add to ~/.claude/settings.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:

{
  "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:

{
  "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:

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

List available Whisper models and their download status.

Returns:

{
  "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

# Clone and install
git clone https://github.com/jwulff/whisper-mcp.git
cd whisper-mcp
npm install

# Build
npm run build

# Test with MCP inspector
npm run inspector

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.