Voice Transcriber MCP Server

io.github.fgasparettoPublished by GitHub account fgasparettov2.0.1Updated Oct 24, 2026

MCP server for transcribing Google Chat voice messages using Groq Whisper API

Overview

AI-generated overview

Local MCP server that transcribes Google Chat voice messages and local audio files to text using the Groq Whisper API.

What you can do
  • Transcribe a Google Chat voice message by its message URL, fetching the message and downloading the audio attachment with Google Chat OAuth2 credentials
  • Transcribe local audio files in formats such as mp3, m4a, wav, ogg, flac, webm and aac
  • Return the transcribed text, optionally with a language hint, using Groq's whisper-large-v3 model in the cloud
When to use it
Useful when you work with Google Chat in Claude Code and want voice messages turned into readable text without listening to them, or when you want quick cloud transcription of local audio files without a local GPU.
Requirements
Runs locally as a stdio process started with uv (Python package manager) from a cloned repository. Needs a Groq API key in GROQ_API_KEY and a Google Chat OAuth2 token.json, whose path can be set with GCHAT_TOKEN_PATH; the token needs chat.messages.readonly and chat.spaces.readonly scopes. Network access to Google Chat and Groq is required.
Before you install
The server holds a Groq API key and a Google Chat OAuth2 token, so protect both. Audio content is uploaded to Groq's cloud API for transcription, and Google Chat messages and attachments are read through your account. The README states transcription is triggered automatically when an audio attachment is encountered, without asking for confirmation. Groq rejects files over 25MB.

Installation

In SourceWeft

  1. Open Voice Transcriber MCP Server 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

Voice Transcriber MCP Server

MCP server that automatically transcribes Google Chat voice messages using Groq Whisper API (whisper-large-v3). No local GPU needed.

When Claude Code encounters an audio attachment in a Google Chat message, this server transcribes it immediately without asking for confirmation.

Features

  • Transcribe Google Chat voice messages by URL (automatic)
  • Transcribe local audio files (mp3, m4a, wav, ogg, flac, webm, aac)
  • Uses Groq Whisper API (free tier, fast, cloud-based)
  • Reuses Google Chat OAuth2 credentials (no separate Google auth needed)

Prerequisites

1. Groq API Key (free)

  1. Go to console.groq.com/keys
  2. Create a free account
  3. Generate an API key
  4. You'll set this as GROQ_API_KEY in your MCP config (see below)

2. Google Chat OAuth2 Token

This server needs a valid Google Chat OAuth2 token (token.json) to fetch messages and download audio attachments.

If you already use a Google Chat MCP server (e.g. multi-chat-mcp-server), the token is already available. Default path:

~/tools/multi-chat-mcp-server/src/providers/google_chat/token.json

If your token is in a different location, set the GCHAT_TOKEN_PATH environment variable.

If you don't have a Google Chat token yet, you need to:

  1. Create a Google Cloud project with Chat API enabled
  2. Create OAuth2 credentials (Desktop app)
  3. Run the OAuth flow to generate token.json with scopes:
    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.spaces.readonly

3. uv (Python package manager)

OSCommand
Linux / macOS / WSLcurl -LsSf https://astral.sh/uv/install.sh | sh
Windowspowershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Verify: uv --version

Installation

bash
git clone https://github.com/fgasparetto/voice-transcriber-mcp.gitcd voice-transcriber-mcpuv sync

Configuration

Add to your Claude Code MCP config (.mcp.json or ~/.claude.json):

json
{  "mcpServers": {    "voice-transcriber": {      "type": "stdio",      "command": "uv",      "args": [        "--directory", "/path/to/voice-transcriber-mcp",        "run", "python", "server.py"      ],      "env": {        "GROQ_API_KEY": "gsk_your_groq_api_key_here"      }    }  }}

Replace:

  • /path/to/voice-transcriber-mcp with the actual clone directory
  • gsk_your_groq_api_key_here with your Groq API key

Environment Variables

VariableRequiredDefaultDescription
GROQ_API_KEYYes—Groq API key (get one free)
GCHAT_TOKEN_PATHNo~/tools/multi-chat-mcp-server/src/providers/google_chat/token.jsonPath to Google Chat OAuth2 token

Tools

transcribe_voice_message

Transcribe a voice message from Google Chat. Called automatically by Claude when it encounters an audio attachment.

transcribe_voice_message(  message_url="https://chat.google.com/dm/SPACE/THREAD/MSG",  language="it")

transcribe_audio_file

Transcribe a local audio file.

transcribe_audio_file(  file_path="/tmp/recording.m4a",  language="it")

Platform Notes

Linux

No additional steps. Ensure uv is in your PATH.

macOS

  • If uv not found after install: export PATH="$HOME/.local/bin:$PATH"

Windows (WSL)

Claude Code runs inside WSL. All paths must be Linux-style:

  • Token path: /home/USER/tools/... (NOT /mnt/c/...)
  • If uv not found: source ~/.bashrc or add ~/.local/bin to PATH

Troubleshooting

ProblemSolution
GROQ_API_KEY not setAdd it to the env section in your MCP config
Google Chat token not foundSet GCHAT_TOKEN_PATH or authenticate your Google Chat MCP
Groq API error 413Audio file too large (Groq limit: 25MB)
uv: command not foundInstall uv (see Prerequisites)

How It Works

Claude Code → MCP tool call → server.py  1. Parse Google Chat URL  2. Fetch message via Google Chat API (OAuth2 token)  3. Download audio attachment via media API  4. Send to Groq Whisper API (whisper-large-v3)  5. Return transcribed text

License

MIT

Source: README.md at commit da30b55

Tools

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

Version history

1
  1. v2.0.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