MCP Audio RAG Server
Uses Google's Gemini AI models to transcribe audio files into text, with multiple model options available for different quality and speed requirements.
Stores audio transcriptions in a Supabase database with pgvector for semantic search capabilities, enabling natural language queries across transcribed audio content.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Audio RAG ServerWhat were the main points discussed about the budget in yesterday's meeting recording?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Audio RAG Server
Transform your audio files into a searchable knowledge base using AI. Ask Claude questions about your meetings, podcasts, lectures, or any audio content.
What is this?
This is an MCP (Model Context Protocol) server that lets you:
Transcribe any audio file using Google's Gemini AI
Store the transcriptions in a searchable database
Search through all your audio content using natural language
Once set up, you can simply ask Claude things like:
"What did they discuss about the budget in my meeting recording?"
"Find mentions of machine learning in my podcast collection"
"What were the key points from yesterday's lecture?"
Related MCP server: Gemini Audio Upload
How It Works
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Audio File │ ──▶ │ Gemini │ ──▶ │ Chunking │ ──▶ │ Supabase │
│ (.mp3, etc) │ │ Transcribe │ │ + Embedding │ │ (pgvector) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ Claude │ ◀── │ Results │ ◀── │ Search │ ◀──────────┘
│ Response │ │ + Snippets │ │ Query │
└─────────────┘ └─────────────┘ └─────────────┘Quick Start
Prerequisites
Node.js 18+ - Download here
Gemini API Key - Get one free
Supabase Account - Sign up free
Step 1: Clone & Install
git clone https://github.com/matheusslg/mcp-audio-rag.git
cd mcp-audio-rag
npm installStep 2: Set Up Supabase Database
Create a new project at supabase.com
Go to SQL Editor in your dashboard
Paste and run the contents of
supabase/schema.sql
Step 3: Get Your API Keys
Supabase (Settings → API):
Copy Project URL →
SUPABASE_URLCopy service_role key →
SUPABASE_SERVICE_KEY
Google AI Studio:
Create key at aistudio.google.com/apikey →
GEMINI_API_KEY
Step 4: Configure
cp .env.example .envEdit .env:
GEMINI_API_KEY=your-key-here
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_KEY=your-service-role-keyStep 5: Add to Claude
For Claude Code CLI (~/.claude.json):
{
"mcpServers": {
"audio-rag": {
"command": "npx",
"args": ["tsx", "/full/path/to/mcp-audio-rag/src/server.ts"],
"env": {
"GEMINI_API_KEY": "your-key",
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_KEY": "your-service-role-key"
}
}
}
}For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
Same config as above.
Usage
Transcribe Audio
Just tell Claude to transcribe a file:
Transcribe /path/to/meeting.mp3Want to use a specific model? Just ask:
Transcribe /path/to/lecture.m4a using gemini-2.5-proSearch Your Audio
Ask natural questions:
What did they say about the project timeline?
Search for mentions of "budget" in my recordings
Find discussions about AI in my podcastsManage Your Library
List all my transcribed audio files
Delete the recording from last week
Get the full transcript of meeting.mp3
Summarize the podcast episodeAvailable Models
Model | Best For |
| Default - Fast & accurate, great balance |
| Fastest, cheapest - good for bulk processing |
| Best quality - complex audio, multiple speakers |
| Newest - cutting edge capabilities |
| Reliable - previous generation |
| Fast - previous generation |
Supported Audio Formats
.mp3 .mp4 .m4a .wav .webm .mpeg .mpga
Available Tools
Tool | Description |
| Transcribe and store an audio file |
| Search through your audio using natural language |
| List all transcribed audio files |
| Get the complete transcript of a file |
| Generate an AI summary of a transcript |
| Remove a transcribed file from the database |
Troubleshooting
Problem | Solution |
"No relevant segments found" | Try rephrasing your search, or check if audio was ingested |
"Missing environment variable" | Check your |
Supabase errors | Make sure you're using |
Slow transcription | Use |
Support This Project
If this project saved you time or helped you out, consider buying me a coffee!
License
MIT - Use it however you want!
This server cannot be deployed
Maintenance
Related MCP Connectors
Search speech in podcasts, government meetings, and your own audio: speakers, entities, timestamps.
- mcpOAuthso.transcribe
Transcribe audio and video into speaker-labelled transcripts, subtitles, clips, and cited Q&A.
- ShortyOAuthcom.aishorty
Summarize and transcribe videos, audio, documents and web pages; subtitles; search your library.
Search 4M+ podcasts & YouTube, transcribe any episode, search transcripts, generate AI lessons.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables creation and querying of knowledge bases using Google's Gemini API File Search feature, allowing AI applications to upload documents and retrieve information through RAG (Retrieval-Augmented Generation).3106MIT
- FlicenseBqualityDmaintenanceEnables audio file analysis using Google's Gemini multimodal models with support for additional context and system instructions to guide the model's behavior.1-
- FlicenseAqualityNot gradedmaintenanceProvides access to Whissle AI services for speech-to-text, speaker diarization, translation, and text summarization. It enables users to process various audio formats and manage text content through natural language tools.5-
- AlicenseAqualityCmaintenanceCaptures and transcribes system audio in real-time using OpenAI Whisper, enabling meeting transcription, content creation, and accessibility through natural language.873MIT