Labsco
MCP SERVER

LanceDB Node.js Vector Search

by vurtnec

Vector search over a local LanceDB store, embedded by Ollama on your own machine.

Vector Stores & RAG Retrieval
Summary
Nothing leaves the machine, including the embeddings.

Queries are embedded by your own Ollama instance, so neither the question nor the corpus goes to a hosted API — the reason to take a local vector store in the first place. The corresponding limit is that this searches a store; populating it is a separate job, and the bundled script is a search test, not an ingestion pipeline.

What it is

A Node.js vector search server over LanceDB. Queries are embedded locally by Ollama and matched against documents already stored in a LanceDB directory, so both the index and the embedding model stay on your machine.

What you get
  • Vector similarity search against stored documents, with results and their similarity scores
  • A custom embedding function that calls Ollama and returns embeddings of 768 dimensions, formatted for LanceDB
  • A test script you can run before wiring anything up, to confirm the database and the embedding endpoint both answer
Requirements

Node.js v14 or later, a LanceDB storage directory you can read and write, and Ollama running locally with the `nomic-embed-text` model — the embedding endpoint is `http://localhost:11434/api/embeddings`. Install with `pnpm install`. The client launches `dist/index.js` with node and a `--db-path` argument pointing at your LanceDB storage. No cloud account and no API key.