Labsco
MCP SERVER

LanceDB

by RyanLisse

Create LanceDB vector tables, add embeddings with text metadata, and run similarity search — all against a local database directory.

Vector Stores & RAG Retrieval
Summary
Storage and retrieval only — you bring the embeddings.

Nothing here generates vectors; you pass them in and it stores, validates and searches them. That makes it a building block rather than a finished RAG setup, and the right question is whether you already have an embedding step. Dimension is fixed at table creation and validated on insert, so a mismatched model fails loudly instead of silently corrupting the index.

What it is

An MCP server for LanceDB vector operations. It manages tables, validates and stores vectors with their metadata, and runs top-k similarity search — exposing the tables themselves as MCP resources so a client can see what is available.

What you get
  • A vector table created with a name and a fixed dimension — `create_table`
  • A vector added with optional metadata, dimensions validated on the way in — `add_vector`
  • Similarity search returning top-k results with scores — `search_vectors`
  • Available tables listed with their metadata — `list_resources`
  • Tables addressable as resources under `table://{name}`, with configurable vector dimensions and text metadata support
  • Local or cloud storage backends through LanceDB's Python client, with connection lifecycle handled for you
Requirements

No account and no key for local use. Clone the repository and `uv pip install -e .`. Configure the client to run `uv run python -m lancedb_mcp --db-path ~/.lancedb`, or set `LANCEDB_URI` to the storage path — it defaults to `.lancedb`. Package `lancedb-mcp` 0.1.0 with the entry point `lancedb-mcp`, MIT licensed.

Setup effort

One command — uvx lancedb-mcp