mcp LanceDB node
A Node.js implementation for vector search using LanceDB and Ollama's embedding model.
A Node.js implementation for vector search using LanceDB and Ollama's embedding model.
A Node.js implementation for vector search using LanceDB and Ollama's embedding model.
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
nomic-embed-text
modelpnpm install
@lancedb/lancedb
: LanceDB client for Node.jsapache-arrow
: For handling columnar datanode-fetch
: For making API calls to OllamaRun the vector search test script:
pnpm test-vector-search
Or directly execute:
node test-vector-search.js
The script connects to:
- LanceDB at the configured path
- Ollama API at http://localhost:11434/api/embeddings
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
The project includes a custom OllamaEmbeddingFunction
that:
- Sends text to the Ollama API
- Receives embeddings with 768 dimensions
- Formats them for use with LanceDB
The example searches for "how to define success criteria" in the "ai-rag" table, displaying results with their similarity scores.
Contributions are welcome! Please feel free to submit a Pull Request.