MCP ExplorerExplorer

Mcp Embedding Search

@spences10on 10 months ago
1 MIT
FreeCommunity
AI Systems
MCP server for vector similarity search in transcript segments.

Overview

What is Mcp Embedding Search

mcp-embedding-search is a Model Context Protocol (MCP) server designed to query a Turso database containing embeddings and transcript segments, enabling users to search for relevant transcript segments by asking questions without generating new embeddings.

Use cases

Use cases include searching for specific segments in podcasts or lectures, retrieving relevant information from transcripts for research purposes, and enhancing user experience in applications that require quick access to transcript content.

How to use

To use mcp-embedding-search, configure it through your MCP client by adding the appropriate settings for your environment, including the Turso database URL and authentication token. Use the ‘search_embeddings’ API to query transcript segments based on a question.

Key features

Key features include vector similarity search for transcript segments, relevance scoring based on cosine similarity, complete transcript metadata, configurable search parameters, efficient database connection pooling, comprehensive error handling, and performance optimization for quick responses.

Where to use

mcp-embedding-search can be used in various fields such as natural language processing, information retrieval, and any application requiring efficient search capabilities for transcript data.

Content

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

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:

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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers