Skip to main content
Glama

LanceDB Node

by vurtnec

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

  1. Clone the repository
  2. Install dependencies:
pnpm install

Dependencies

  • @lancedb/lancedb: LanceDB client for Node.js
  • apache-arrow: For handling columnar data
  • node-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

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. Overview
    1. Prerequisites
      1. Installation
        1. Dependencies
          1. Usage
            1. Configuration
              1. MCP Configuration
                1. Custom Embedding Function
                  1. Vector Search Example
                    1. License
                      1. Contributing

                        Related MCP Servers

                        • -
                          security
                          F
                          license
                          -
                          quality
                          Enables efficient vector database operations for embedding storage and similarity search through a Model Context Protocol interface.
                          Last updated -
                          6
                          Python
                        • -
                          security
                          F
                          license
                          -
                          quality
                          A 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 -
                          22
                          Python
                        • -
                          security
                          A
                          license
                          -
                          quality
                          A 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 -
                          3
                          Python
                          MIT License
                        • -
                          security
                          A
                          license
                          -
                          quality
                          An 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 -
                          3
                          Python
                          Apache 2.0

                        View all related MCP servers

                        MCP directory API

                        We provide all the information about MCP servers via our MCP API.

                        curl -X GET 'https://glama.ai/api/mcp/v1/servers/vurtnec/mcp-LanceDB-node'

                        If you have feedback or need assistance with the MCP directory API, please join our Discord server