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.
Verwandte Server
Snowflake MCP Server
A read-only server for interacting with Snowflake databases, allowing SELECT queries and access to schema context.
MySQL MCP
A secure MCP service for accessing and managing MySQL databases, featuring multi-layer security and high-performance connection pooling.
Amplify Data API MCP Server
Interact with AWS Amplify Gen2 data models using natural language and Cognito authentication.
PostgreSQL MCP
Transforms PostgreSQL databases from "I have tables and I don't know what they do" into "I understand the entire database structure, relationships, and best practices"
MCP Database Server
An MCP server that enables LLMs to interact with databases like MongoDB using natural language.
Notion Content Database
Manage content databases in Notion using the Notion API.
Project Synapse MCP Server
Transforms raw text into interconnected knowledge graphs and generates insights using a Neo4j database.
Education Data MCP Server
Provides access to the Urban Institute's Education Data API for comprehensive education data.
MCP Trino Server
Integrates with Trino and Iceberg for advanced data exploration, querying, and table maintenance.
MCP Persistence
MCP Persistence: your AI Agent now creates and manages databases on its own