LanceDB Node.js Vector Search
Vector search using the LanceDB vector database and Ollama embedding models.
LanceDB Node.js Vector Search
A Node.js implementation for vector search using LanceDB and Ollama's embedding model.
Overview
This project demonstrates how to:
- Connect to a LanceDB database
- Create custom embedding functions using Ollama
- Perform vector similarity search against stored documents
- Process and display search results
Prerequisites
- Node.js (v14 or later)
- Ollama running locally with the
nomic-embed-textmodel - LanceDB storage location with read/write permissions
Installation
- Clone the repository
- Install dependencies:
pnpm install
Dependencies
@lancedb/lancedb: LanceDB client for Node.jsapache-arrow: For handling columnar datanode-fetch: For making API calls to Ollama
Usage
Run the vector search test script:
pnpm test-vector-search
Or directly execute:
node test-vector-search.js
Configuration
The script connects to:
- LanceDB at the configured path
- Ollama API at
http://localhost:11434/api/embeddings
MCP Configuration
To integrate with Claude Desktop as an MCP service, add the following to your MCP configuration JSON:
{
"mcpServers": {
"lanceDB": {
"command": "node",
"args": [
"/path/to/lancedb-node/dist/index.js",
"--db-path",
"/path/to/your/lancedb/storage"
]
}
}
}
Replace the paths with your actual installation paths:
/path/to/lancedb-node/dist/index.js- Path to the compiled index.js file/path/to/your/lancedb/storage- Path to your LanceDB storage directory
Custom Embedding Function
The project includes a custom OllamaEmbeddingFunction that:
- Sends text to the Ollama API
- Receives embeddings with 768 dimensions
- Formats them for use with LanceDB
Vector Search Example
The example searches for "how to define success criteria" in the "ai-rag" table, displaying results with their similarity scores.
License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Related Servers
CData Salesforce MCP Server
A read-only MCP server by CData that allows LLMs to query live Salesforce data. Requires the CData JDBC Driver for Salesforce.
GraphMem
An MCP server for graph-based memory management, enabling AI to create, retrieve, and manage knowledge entities and their relationships.
Memory Custom : PouchDB
Extends the Memory server with PouchDB for robust document-based storage, custom memory file paths, and interaction timestamping.
Mongo-MCP
An MCP server for interacting with a MongoDB database.
MCP Toolbox for Databases
Open source MCP server specializing in easy, fast, and secure tools for Databases.
PDB MCP Server
Access the Protein Data Bank (PDB) for 3D structures of proteins and nucleic acids, with tools for structural analysis and comparison.
microCMS MCP Server
Interact with the microCMS headless CMS API, enabling AI assistants to manage content.
StockFlow
Provides real-time stock data and options analysis from Yahoo Finance, enabling market data access, stock analysis, and options strategy evaluation.
Microsoft Fabric Analytics
An analytics server providing tools for interacting with the Microsoft Fabric data platform.
RewindDB
Interface with the Rewind.ai SQLite database to access audio transcripts and screen OCR data.