Skip to main content
Glama

AAS LanceDB MCP Server

A comprehensive Model Context Protocol (MCP) server that provides AI agents with database-like operations over LanceDB with automatic embedding generation using state-of-the-art BGE-M3 multilingual embeddings.

✨ Why This MCP Server?

  • 🎯 Database-like Interface: Works like SQLite MCP - create tables, CRUD operations, migrations

  • πŸ€– Automatic Embeddings: BGE-M3 generates 1024D multilingual embeddings for searchable text

  • πŸ” Semantic Search: Natural language search across your data using vector similarity

  • πŸ“Š Rich Resources: Dynamic database inspection (schemas, samples, statistics)

  • πŸ’‘ Intelligent Prompts: AI guidance for schema design, optimization, troubleshooting

  • πŸ›‘οΈ Safe Migrations: Built-in table migration with validation and automatic backups

  • 🌍 Multilingual: BGE-M3 provides excellent performance across 100+ languages

πŸš€ Quick Start

# Run directly without installation uvx aas-lancedb-mcp --help # Or install globally uv tool install aas-lancedb-mcp aas-lancedb-mcp --version

Install from Source

git clone https://github.com/applied-ai-systems/aas-lancedb-mcp.git cd aas-lancedb-mcp uv tool install .

πŸ› οΈ MCP Capabilities Overview

πŸ”§ 10 Database Tools

Tool

Purpose

Example

create_table

Create tables with schema

Create products table with searchable descriptions

list_tables

Show all tables

Get overview of database contents

describe_table

Get table schema & info

Understand table structure and metadata

drop_table

Delete tables

Remove unused tables

insert

Add data (auto-embeddings)

Insert product with searchable description

select

Query with filtering/sorting

Find products by price range

update

Modify data (auto-embeddings)

Update product info with new description

delete

Remove rows by conditions

Delete discontinued products

search

Semantic text search

"Find sustainable products" β†’ matches related items

migrate_table

Safe schema changes

Add columns or change structure safely

πŸ“ Dynamic Resources

Resources provide AI agents with real-time database insights:

  • lancedb://overview - Complete database statistics and table summary

  • lancedb://tables/{name}/schema - Table schema, columns, searchable fields

  • lancedb://tables/{name}/sample - Sample data for understanding contents

  • lancedb://tables/{name}/stats - Column statistics, data quality metrics

πŸ’¬ 5 Intelligent Prompts

AI-powered guidance for database operations:

  • analyze_table - Generate insights about data patterns and quality

  • design_schema - Help design optimal table schemas for use cases

  • optimize_queries - Performance optimization recommendations

  • troubleshoot_performance - Diagnose and solve database issues

  • migration_planning - Plan safe schema migrations step-by-step

πŸ“‹ Usage Examples

Creating a Product Catalog

{ "tool": "create_table", "arguments": { "schema": { "name": "products", "columns": [ {"name": "title", "type": "text", "required": true, "searchable": true}, {"name": "description", "type": "text", "searchable": true}, {"name": "price", "type": "float", "required": true}, {"name": "category", "type": "text", "required": true}, {"name": "metadata", "type": "json"} ], "description": "E-commerce product catalog with semantic search" } } }

Adding Products (Embeddings Generated Automatically)

{ "tool": "insert", "arguments": { "data": { "table_name": "products", "data": { "title": "Eco-Friendly Water Bottle", "description": "Sustainable stainless steel water bottle with insulation", "price": 24.99, "category": "sustainability", "metadata": {"brand": "EcoLife", "material": "stainless_steel"} } } } }

Semantic Search (Natural Language)

{ "tool": "search", "arguments": { "query": { "table_name": "products", "query": "environmentally friendly drinking containers", "limit": 5 } } }

Database Inspection (Resources)

{ "resource": "lancedb://tables/products/sample" }

Returns sample product data for AI agents to understand the table structure.

AI Guidance (Prompts)

{ "prompt": "design_schema", "arguments": { "use_case": "Customer support ticket system", "data_types": "ticket text, priority levels, timestamps", "search_requirements": "semantic search across ticket descriptions" } }

Returns AI-generated recommendations for optimal table design.

βš™οΈ Configuration

Claude Desktop Setup

Add to claude_desktop_config.json:

{ "mcpServers": { "aas-lancedb": { "command": "aas-lancedb-mcp", "args": ["--db-uri", "~/my_database"], "env": { "EMBEDDING_MODEL": "BAAI/bge-m3" } } } }

Environment Variables

export LANCEDB_URI="./my_database" # Database location export EMBEDDING_MODEL="BAAI/bge-m3" # Embedding model (default) export EMBEDDING_DEVICE="cpu" # cpu or cuda

Command Line Options

aas-lancedb-mcp --help # Show help aas-lancedb-mcp --version # Show version aas-lancedb-mcp --db-uri ./my_db # Custom database path

πŸ—οΈ Architecture

Enhanced MCP Server Architecture β”œβ”€β”€ πŸ”§ Tools (10) - Database operations (CRUD, search, migrate) β”œβ”€β”€ πŸ“ Resources (dynamic) - Real-time database introspection β”œβ”€β”€ πŸ’¬ Prompts (5) - AI guidance for database tasks β”œβ”€β”€ πŸ€– BGE-M3 Embeddings - Automatic 1024D multilingual vectors β”œβ”€β”€ πŸ›‘οΈ Safe Migrations - Schema evolution with validation └── πŸ“Š Rich Metadata - Column types, constraints, statistics

Key Technical Features

  • 🎯 Database-like Interface: Familiar SQL-style operations hiding vector complexity

  • πŸ€– Automatic Embedding Generation: BGE-M3 creates vectors for searchable text columns

  • πŸ” Hybrid Search: Combine semantic similarity with traditional filtering

  • πŸ“Š Dynamic Resources: Real-time database inspection for AI agents

  • πŸ’‘ Contextual Prompts: AI guidance using actual database state

  • πŸ›‘οΈ Migration Safety: Backup, validate, and rollback capabilities

  • 🌍 Multilingual: BGE-M3 excels across 100+ languages

πŸ§ͺ Development & Testing

# Clone and setup git clone https://github.com/applied-ai-systems/aas-lancedb-mcp.git cd aas-lancedb-mcp # Install dependencies uv sync --all-extras # Run tests uv run pytest # Run tests with coverage uv run pytest --cov=src --cov-report=term-missing # Format and lint uv run ruff format . uv run ruff check . # Test CLI uv run aas-lancedb-mcp --help

πŸš€ Performance & Scalability

  • BGE-M3 Embeddings: 1024 dimensions, excellent multilingual performance

  • LanceDB Backend: Columnar vector database optimized for scale

  • Efficient Operations: Automatic embedding caching and batch processing

  • Memory Management: Lazy loading and streaming for large datasets

  • Search Performance: HNSW indexing for fast vector similarity search

🀝 Contributing

  1. Fork the repository

  2. Create feature branch (git checkout -b feature/amazing-feature)

  3. Make changes with tests (pytest tests/)

  4. Format code (uv run ruff format .)

  5. Submit Pull Request

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ™ Acknowledgments


Ready to supercharge your AI agents with powerful database capabilities? πŸš€

uvx aas-lancedb-mcp --help
-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/applied-ai-systems/aas-lancedb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server