Provides a vector search implementation using Node.js, enabling semantic search capabilities for documents stored in a LanceDB database.
Leverages Ollama's embedding model (nomic-embed-text) to create custom embedding functions for converting text into vector representations that can be searched.
Supports package management for the MCP server installation and dependency management using pnpm.
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-text
model - LanceDB storage location with read/write permissions
Installation
- Clone the repository
- Install dependencies:
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:
Or directly execute:
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:
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.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Node.js implementation for vector search using LanceDB and Ollama's embedding model.
Related MCP Servers
- -securityFlicense-qualityEnables efficient vector database operations for embedding storage and similarity search through a Model Context Protocol interface.Last updated -6Python
- -securityFlicense-qualityA Python-based local indexing server that creates semantic search capabilities for codebases using ChromaDB, allowing Cursor IDE to perform vector searches on your code without sending data to external services.Last updated -22Python
- -securityAlicense-qualityA local vector database system that provides LLM coding agents with fast, efficient semantic search capabilities for software projects via the Message Control Protocol.Last updated -3PythonMIT License
Lindorm MCP Serverofficial
-securityAlicense-qualityAn example server that enables interaction with Alibaba Cloud's Lindorm multi-model NoSQL database, allowing applications to perform vector searches, full-text searches, and SQL operations through a unified interface.Last updated -3PythonApache 2.0