Skip to main content
Glama

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 for

  • limit (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

  1. Clone the repository

  2. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Run in development mode:

npm run dev

Publishing

The project uses changesets for version management. To publish:

  1. Create a changeset:

npm run changeset
  1. Version the package:

npm run version
  1. Publish to npm:

npm run release

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see the LICENSE file for details.

Acknowledgments

-
security - not tested
F
license - not found
-
quality - not tested

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