Embedding Transcript Search
STDIOQueries Turso database containing embeddings and transcript segments for relevant information search.
Queries Turso database containing embeddings and transcript segments for relevant information search.
A Model Context Protocol (MCP) server that queries a Turso database containing embeddings and transcript segments. This tool allows users to search for relevant transcript segments by asking questions, without generating new embeddings.
This server requires configuration through your MCP client. Here are examples for different environments:
Add this to your Cline MCP settings:
{ "mcpServers": { "mcp-embedding-search": { "command": "node", "args": ["/path/to/mcp-embedding-search/dist/index.js"], "env": { "TURSO_URL": "your-turso-database-url", "TURSO_AUTH_TOKEN": "your-turso-auth-token" } } } }
Add this to your Claude Desktop configuration:
{ "mcpServers": { "mcp-embedding-search": { "command": "node", "args": ["/path/to/mcp-embedding-search/dist/index.js"], "env": { "TURSO_URL": "your-turso-database-url", "TURSO_AUTH_TOKEN": "your-turso-auth-token" } } } }
The server implements one MCP tool:
Search for relevant transcript segments using vector similarity.
Parameters:
question
(string, required): The query text to search forlimit
(number, optional): Number of results to return (default: 5,
max: 50)min_score
(number, optional): Minimum similarity threshold
(default: 0.5, range: 0-1)Response format:
[ { "episode_title": "Episode Title", "segment_text": "Transcript segment content...", "start_time": 123.45, "end_time": 167.89, "similarity": 0.85 } // Additional results... ]
This tool expects a Turso database with the following schema:
CREATE TABLE embeddings ( id INTEGER PRIMARY KEY AUTOINCREMENT, transcript_id INTEGER NOT NULL, embedding TEXT NOT NULL, FOREIGN KEY(transcript_id) REFERENCES transcripts(id) ); CREATE TABLE transcripts ( id INTEGER PRIMARY KEY AUTOINCREMENT, episode_title TEXT NOT NULL, segment_text TEXT NOT NULL, start_time REAL NOT NULL, end_time REAL NOT NULL );
The embedding
column should contain vector embeddings that can be
used with the vector_distance_cos
function.
npm install
npm run build
npm run dev
The project uses changesets for version management. To publish:
npm run changeset
npm run version
npm run release
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see the LICENSE file for details.