Audio Index MCP Server for Pixeltable
This MCP (Model-Client-Protocol) server provides a powerful audio indexing and search capability built on top of the Pixeltable SDK. It allows you to:
- Create searchable indexes of audio content
- Transcribe audio files using OpenAI's Whisper model
- Perform semantic search on audio content using embeddings
- Retrieve relevant audio segments based on natural language queries
Features
- Audio Transcription: Automatically transcribes audio files using OpenAI's Whisper model
- Chunking: Splits audio into manageable segments for better search precision
- Sentence Splitting: Further divides transcriptions into sentences for fine-grained retrieval
- Semantic Search: Uses sentence embeddings to find content based on meaning, not just keywords
- Multiple Indexes: Create and manage multiple audio indexes for different collections
Setup
Clone the repo
gh repo clone pixeltable/mcp-server-pixeltable
Docker Setup
Build the Docker image
cd servers/audio-index
docker build -t audio-index-mcp-server .
Run the Docker container
docker run -p 8080:8080 audio-index-mcp-server
This will start the MCP server on port 8080, making it accessible at http://localhost:8080.
Add the tool to Cursor
- Go to Cursor MCP settings
- Add MCP > Add Name > Type = 'SSE'
- For the URL, enter:
http://localhost:8080/sse
Available Tools
The server provides the following tools:
-
setup_audio_index: Create a new audio index
- Parameters:
table_name(name for your index),openai_api_key(for Whisper transcription)
- Parameters:
-
insert_audio: Add an audio file to an index
- Parameters:
table_name(index to use),audio_location(URL or path to audio file)
- Parameters:
-
query_audio: Search for content in an audio index
- Parameters:
table_name(index to search),query_text(your search query),top_n(number of results, default=5)
- Parameters:
-
list_tables: Show all available audio indexes
Requirements
The server requires the following dependencies:
- pixeltable
- openai-whisper
- sentence-transformers
- mcp
- uvicorn
- starlette
- and other dependencies listed in requirements.txt