UNPKG

lance-mcp

Version:

MCP server for interacting with LanceDB database

27 lines (26 loc) 1.12 kB
import * as lancedb from "@lancedb/lancedb"; import { LanceDB } from "@langchain/community/vectorstores/lancedb"; import { OllamaEmbeddings } from "@langchain/ollama"; import * as defaults from '../config.js'; export let client; export let chunksTable; export let chunksVectorStore; export let catalogTable; export let catalogVectorStore; export async function connectToLanceDB(databaseUrl, chunksTableName, catalogTableName) { try { console.error(`Connecting to database: ${databaseUrl}`); client = await lancedb.connect(databaseUrl); chunksTable = await client.openTable(chunksTableName); chunksVectorStore = new LanceDB(new OllamaEmbeddings({ model: defaults.EMBEDDING_MODEL }), { table: chunksTable }); catalogTable = await client.openTable(catalogTableName); catalogVectorStore = new LanceDB(new OllamaEmbeddings({ model: defaults.EMBEDDING_MODEL }), { table: catalogTable }); } catch (error) { console.error("LanceDB connection error:", error); throw error; } } export async function closeLanceDB() { await client?.close(); }