Skip to content

RyanLisse/lancedb_mcp

Repository files navigation

LanceDB MCP Server

Overview

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.

Components

Resources

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

API Endpoints

Table Management

  • POST /table
    • Create a new vector table
    • Input:
      {
        "name": "my_table",      # Table name
        "dimension": 768         # Vector dimension
      }

Vector Operations

  • 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
      }

Installation

# Clone the repository
git clone https://github.com/yourusername/lancedb_mcp.git
cd lancedb_mcp

# Install dependencies using uv
uv pip install -e .

Usage with Claude Desktop

# Add the server to your claude_desktop_config.json
"mcpServers": {
  "lancedb": {
    "command": "uv",
    "args": [
      "run",
      "python",
      "-m",
      "lancedb_mcp",
      "--db-path",
      "~/.lancedb"
    ]
  }
}

Development

# Install development dependencies
uv pip install -e ".[dev]"

# Run tests
pytest

# Format code
black .
ruff .

Environment Variables

  • LANCEDB_URI: Path to LanceDB storage (default: ".lancedb")

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages