MCP Embedding Search
Provides vector similarity search capabilities for transcript segments stored in a Turso database, retrieving relevant content based on natural language queries without generating new embeddings
Click on "Install 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 Embedding Searchfind segments about machine learning applications in healthcare"
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-embedding-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.
Features
🔍 Vector similarity search for transcript segments
📊 Relevance scoring based on cosine similarity
📝 Complete transcript metadata (episode title, timestamps)
⚙️ Configurable search parameters (limit, minimum score)
🔄 Efficient database connection pooling
🛡️ Comprehensive error handling
📈 Performance optimized for quick responses
Related MCP server: Better Qdrant MCP Server
Configuration
This server requires configuration through your MCP client. Here are examples for different environments:
Cline Configuration
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"
}
}
}
}Claude Desktop Configuration
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"
}
}
}
}API
The server implements one MCP tool:
search_embeddings
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...
]Database Schema
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.
Development
Setup
Clone the repository
Install dependencies:
npm installBuild the project:
npm run buildRun in development mode:
npm run devPublishing
The project uses changesets for version management. To publish:
Create a changeset:
npm run changesetVersion the package:
npm run versionPublish to npm:
npm run releaseContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see the LICENSE file for details.
Acknowledgments
Built on the Model Context Protocol
Designed for efficient vector similarity search in transcript databases
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/spences10/mcp-embedding-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server