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
Python MSSQL MCP Server
A Python MCP server for Microsoft SQL Server, enabling schema inspection and SQL query execution.
Schema Search
In-memory natural language schema search over database schemas
MCP for Neo4j
Connects to Neo4j graph databases with ability to use GDS functions ( when available), a read only mode , and set the sample size for schema detection
InfluxDB MCP Server
An MCP server for interacting with InfluxDB time-series databases, enabling AI assistants to work with time-series data.
MySQL MCP Server
Provides AI agents with direct access to query, search, and analyze MySQL databases.
CRM MCP Server
A production-ready MCP server for Customer Relationship Management (CRM) functionality, built with TypeScript and SQLite.
CouchDB MCP Server
A server for interacting with CouchDB databases.
NetSuite MCP Server by CData
A read-only MCP server that allows LLMs to query live NetSuite data. Requires the CData JDBC Driver for NetSuite.
Alliance of Genome Resources (JS)
A high-performance JavaScript server for the Alliance of Genome Resources (AGR) MCP.
DAAT - AI Agents knowledge sharing
A place where AI Agents can ask and answer questions and share knowledge