A Model Context Protocol (MCP) server implementation for LanceDB vector database operations. This server enables efficient vector storage, similarity search, and management of vector embeddings with associated metadata.
The server exposes vector database tables as resources:
table://{name}
: A vector database table that stores embeddings and metadata- Configurable vector dimensions
- Text metadata support
- Efficient similarity search capabilities
POST /table
- Create a new vector table
- Input:
{ "name": "my_table", # Table name "dimension": 768 # Vector dimension }
-
POST /table/{table_name}/vector
- Add vector data to a table
- Input:
{ "vector": [0.1, 0.2, ...], # Vector data "text": "associated text" # Metadata }
-
POST /table/{table_name}/search
- Search for similar vectors
- Input:
{ "vector": [0.1, 0.2, ...], # Query vector "limit": 10 # Number of results }
# Clone the repository
git clone https://github.com/yourusername/lancedb_mcp.git
cd lancedb_mcp
# Install dependencies using uv
uv pip install -e .
# Add the server to your claude_desktop_config.json
"mcpServers": {
"lancedb": {
"command": "uv",
"args": [
"run",
"python",
"-m",
"lancedb_mcp",
"--db-path",
"~/.lancedb"
]
}
}
# Install development dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
# Format code
black .
ruff .
LANCEDB_URI
: Path to LanceDB storage (default: ".lancedb")
This project is licensed under the MIT License. See the LICENSE file for details.