mcp-embedding-search
Ein Model Context Protocol (MCP)-Server, der eine Turso-Datenbank mit Einbettungen und Transkriptsegmenten abfragt. Mit diesem Tool können Benutzer durch Fragen nach relevanten Transkriptsegmenten suchen, ohne neue Einbettungen zu generieren.
Merkmale
🔍 Vektorähnlichkeitssuche für Transkriptsegmente
📊 Relevanzbewertung basierend auf Kosinusähnlichkeit
📝 Vollständige Transkript-Metadaten (Episodentitel, Zeitstempel)
⚙️ Konfigurierbare Suchparameter (Limit, Mindestpunktzahl)
🔄 Effizientes Datenbankverbindungspooling
🛡️ Umfassende Fehlerbehandlung
📈 Leistung für schnelle Antworten optimiert
Related MCP server: Better Qdrant MCP Server
Konfiguration
Dieser Server muss über Ihren MCP-Client konfiguriert werden. Hier sind Beispiele für verschiedene Umgebungen:
Cline-Konfiguration
Fügen Sie dies zu Ihren Cline MCP-Einstellungen hinzu:
{
"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-Konfiguration
Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu:
{
"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
Der Server implementiert ein MCP-Tool:
Sucheinbettungen
Suchen Sie mithilfe der Vektorähnlichkeit nach relevanten Transkriptsegmenten.
Parameter:
question(Zeichenfolge, erforderlich): Der zu suchende Abfragetextlimit(Zahl, optional): Anzahl der zurückzugebenden Ergebnisse (Standard: 5, Max: 50)min_score(Zahl, optional): Minimaler Ähnlichkeitsschwellenwert (Standard: 0,5, Bereich: 0-1)
Antwortformat:
[
{
"episode_title": "Episode Title",
"segment_text": "Transcript segment content...",
"start_time": 123.45,
"end_time": 167.89,
"similarity": 0.85
}
// Additional results...
]Datenbankschema
Dieses Tool erwartet eine Turso-Datenbank mit folgendem 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
);Die embedding sollte Vektoreinbettungen enthalten, die mit der Funktion vector_distance_cos verwendet werden können.
Entwicklung
Aufstellen
Klonen Sie das Repository
Installieren Sie Abhängigkeiten:
npm installErstellen Sie das Projekt:
npm run buildIm Entwicklungsmodus ausführen:
npm run devVeröffentlichen
Das Projekt verwendet Änderungssätze zur Versionsverwaltung. So veröffentlichen Sie:
Erstellen Sie einen Änderungssatz:
npm run changesetVersionieren Sie das Paket:
npm run versionAuf npm veröffentlichen:
npm run releaseBeitragen
Beiträge sind willkommen! Senden Sie gerne einen Pull Request.
Lizenz
MIT-Lizenz – Einzelheiten finden Sie in der Datei LICENSE .
Danksagung
Basierend auf dem Model Context Protocol
Entwickelt für die effiziente Vektorähnlichkeitssuche in Transkriptdatenbanken