An open API service indexing awesome lists of open source software.

https://github.com/ryanlisse/lancedb_mcp


https://github.com/ryanlisse/lancedb_mcp

Last synced: 5 months ago
JSON representation

Awesome Lists containing this project

README

          

# 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:
```python
{
"name": "my_table", # Table name
"dimension": 768 # Vector dimension
}
```

#### Vector Operations
- `POST /table/{table_name}/vector`
- Add vector data to a table
- Input:
```python
{
"vector": [0.1, 0.2, ...], # Vector data
"text": "associated text" # Metadata
}
```

- `POST /table/{table_name}/search`
- Search for similar vectors
- Input:
```python
{
"vector": [0.1, 0.2, ...], # Query vector
"limit": 10 # Number of results
}
```

## Installation

```bash
# 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

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

## Development

```bash
# 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.