MCP server for processing audio and video files using Google's Gemini multimodal models
Project description
Gemini Audio MCP
A dedicated Model Context Protocol (MCP) server that provides high-quality audio and video transcription, summarization, and reasoning using Google's native multimodal Gemini models (gemini-1.5-flash).
Why this exists?
Most AI assistants (like Claude Code, Cursor, or local agents) rely on text inputs. If you want them to transcribe or process audio, you usually have to run local STT (Speech-to-Text) models like Whisper, which can be inaccurate, slow, or resource-heavy.
This MCP server connects your AI assistant directly to Google's Gemini 1.5 Flash multimodal API. Instead of just transcribing text, the file is processed natively by Gemini, allowing you to ask complex queries about the audio or video content (e.g., "Transcribe this", "Extract the action items", "Translate this Polish audio to an English summary").
Features
- Native Multimodal Support: Uses
gemini-1.5-flashto process the audio/video file directly. - Fast and Cheap:
gemini-1.5-flashprovides exceptional transcription quality without burning through API limits or hallucinating wildly. - Custom Prompts: Don't just transcribe – tell the model exactly what to extract from the audio.
Installation & Usage
You can use this MCP server with any compatible client (Claude Code, Cursor, Windsurf, etc.) using uvx.
1. Claude Code
Run the following command to add the server to Claude Code globally:
claude mcp add gemini-audio uvx gemini-audio-mcp
2. Cursor / Windsurf / Generic MCP Client
Add the following configuration to your client's MCP settings file (usually settings.json or claude.json):
{
"mcpServers": {
"gemini-audio": {
"command": "uvx",
"args": ["gemini-audio-mcp"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here"
}
}
}
}
Environment Variables
The server requires a Google Gemini API key to function.
Set the GEMINI_API_KEY environment variable in your terminal before launching your agent, or define it in your MCP configuration file.
Multi-Key Fallback: You can provide a single key or a comma-separated list of keys. If one key encounters a rate limit or quota issue (e.g., 429 Resource Exhausted), the server will automatically retry the request using the next key in the list.
{
"env": {
"GEMINI_API_KEY": "key1,key2,key3"
}
}
Provided Tools
process_audio
Processes an audio or video file using Google's Gemini models.
Parameters:
file_path(string, required): The absolute path to the local audio or video file.prompt(string, optional): Instructions for the model. Default is "Please transcribe this audio exactly as spoken."model_name(string, optional): The Gemini model to use. Default is"models/gemini-1.5-flash".
Supported File Formats
Gemini 1.5 Flash natively supports a wide range of audio and video formats via the File API.
Audio formats:
- WAV (
audio/wav) - MP3 (
audio/mp3) - AIFF (
audio/aiff) - AAC (
audio/aac) - OGG Vorbis (
audio/ogg) - FLAC (
audio/flac)
Video formats:
- MP4 (
video/mp4) - MPEG (
video/mpeg) - MOV (
video/quicktime) - AVI (
video/x-msvideo) - FLV (
video/x-flv) - MPG (
video/mpeg) - WEBM (
video/webm) - WMV (
video/x-ms-wmv) - 3GPP (
video/3gpp)
For more details, refer to the official Google Gemini API documentation for Audio understanding and Video understanding.
Release Notes
v0.1.3
- Documentation: Added a comprehensive list of supported audio and video formats.
v0.1.2
- Initial Release: Core processing via
gemini-1.5-flash. - Automatic Fallback: Added support for multiple API keys in
GEMINI_API_KEY(comma-separated) to prevent interruptions during rate limits. - Native execution: Works securely out-of-the-box via
uvx.
License
Open Source (MIT)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gemini_audio_mcp-0.1.3.tar.gz.
File metadata
- Download URL: gemini_audio_mcp-0.1.3.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9be7080b4007059ca81773f92b27b3fa526caf8cfb1ad92db6a8ac00e0f95f30
|
|
| MD5 |
858ccd2317a1316de2229f1866194418
|
|
| BLAKE2b-256 |
00bd5a660b2481048b583576cbda8dbb7df019d7cd35341964dc25125b1e9dc1
|
File details
Details for the file gemini_audio_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: gemini_audio_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef838b55c6ec93653e224b8f6db3b389ff441f41391c58b44099e6e18ae57b66
|
|
| MD5 |
4da861f4554b7350661cdf71d57729f5
|
|
| BLAKE2b-256 |
59b255a7cf34d8be2469a35df1a09f8d52a5c8ddc7ec2ac412796d09a2bb5600
|