LanceDB
About
Integrates with LanceDB to enable natural language querying, insertion, and management of vector data for efficient similarity search and semantic analysis.
Details
- Author
- adiom-data
- Repository
- adiom-data/lance-mcp
- GitHub stars
- 71
- License
- MIT License
- Categories
- Database, Other, Knowledge Base, Search, Developer Tools, Design, File Management, AI, Frontend
- Tags
- #integration
Jump to
- π LanceDB-powered serverless vector index and document summary catalog.
- π Efficient use of LLM tokens. The LLM itself looks up what it needs when it needs.
- π Security. The index is stored locally so no data is transferred to the Cloud when using a local LLM.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
LanceDBCommand (node, npx, python, etc.)npxArguments-
Argument 1
lance-mcp -
Argument 2
PATH_TO_LOCAL_INDEX_DIR
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
To get started, create a local directory to store the index and add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"lancedb": {
"command": "npx",
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
catalog_search
Search for relevant documents in the catalog.
chunks_search
Find relevant chunks based on a specific document from the catalog.
all_chunks_search
Find relevant chunks from all known documents.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"lancedb": {
"cwd": "string (optional)",
"env": {},
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
],
"shell": false,
"command": "npx"
}
}
}
Linux
{
"cwd": "string (optional)",
"env": [],
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
],
"shell": false,
"command": "npx"
}
Macos
{
"cwd": "string (optional)",
"env": [],
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
],
"shell": false,
"command": "npx"
}
Windows
{
"cwd": "string (optional)",
"env": [],
"args": [
"/c",
"npx",
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
],
"shell": false,
"command": "cmd"
}
ποΈ LanceDB MCP Server for LLMS
A Model Context Protocol (MCP) server that enables LLMs to interact directly the documents that they have on-disk through agentic RAG and hybrid search in LanceDB. Ask LLMs questions about the dataset as a whole or about specific documents.
β¨ Features
- π LanceDB-powered serverless vector index and document summary catalog.
- π Efficient use of LLM tokens. The LLM itself looks up what it needs when it needs.
- π Security. The index is stored locally so no data is transferred to the Cloud when using a local LLM.
π Quick Start
To get started, create a local directory to store the index and add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"lancedb": {
"command": "npx",
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
Prerequisites
- Node.js 18+
- npx
- MCP Client (Claude Desktop App for example)
- Summarization and embedding models installed (see config.ts - by default we use Ollama models)
- ollama pull snowflake-arctic-embed2
- ollama pull llama3.1:8b
Demo
Local Development Mode:
{
"mcpServers": {
"lancedb": {
"command": "node",
"args": [
"PATH_TO_LANCE_MCP/dist/index.js",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
Use npm run build to build the project.
Use npx @modelcontextprotocol/inspector dist/index.js PATH_TO_LOCAL_INDEX_DIR to run the MCP tool inspector.
Seed Data
The seed script creates two tables in LanceDB - one for the catalog of document summaries, and another one - for vectorized documents' chunks.
To run the seed script use the following command:
npm run seed -- --dbpath <PATH_TO_LOCAL_INDEX_DIR> --filesdir <PATH_TO_DOCS>
You can use sample data from the docs/ directory. Feel free to adjust the default summarization and embedding models in the config.ts file. If you need to recreate the index, simply rerun the seed script with the --overwrite option.
Catalog
- Document summary
- Metadata
Chunks
- Vectorized document chunk
- Metadata
π― Example Prompts
Try these prompts with Claude to explore the functionality:
"What documents do we have in the catalog?"
"Why is the US healthcare system so broken?"
π Available Tools
The server provides these tools for interaction with the index:
Catalog Tools
- catalog_search: Search for relevant documents in the catalog
Chunks Tools
- chunks_search: Find relevant chunks based on a specific document from the catalog
- all_chunks_search: Find relevant chunks from all known documents
π License
This project is licensed under the MIT License - see the LICENSE file for details.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





