Skip to content
v0.3.3Apache-2.0

Answers search and retrieval queries against a local LanceDB database, using OpenAI embeddings when an API key is set and text search otherwise. Runs in any MCP client over stdio.

Lancelot

An MCP server that answers search and retrieval queries against a local LanceDB database. With an OpenAI API key it searches by embedding. Without one it falls back to text search. It runs over stdio and needs Node 20 or newer.

Tools

ToolParametersWhat it does
lancedb_searchquery, limit, searchType (vector, text or auto), table, textColumn, vectorColumnSearches a table and returns the matching rows.
lancedb_queryquestion, contextBudget, warmStart, table, limitAnswers a question with retrieved context, trimmed to the context budget.
lancedb_statusverboseReports the state of the database connection and its tables.
lancedb_versionnoneReports the server version.

Lancelot also runs as a hosted read-only HTTPS endpoint at https://mcp.ayers.repair/lancelot over the Ayers public docs.

Environment variables

VariableRequiredWhat it sets
LANCEDB_PATHYesFolder that holds the LanceDB database.
LANCEDB_TABLENoDefault table.
LANCEDB_TEXT_COLUMNNoDefault text column.
LANCEDB_VECTOR_COLUMNNoDefault vector column.
LANCEDB_DEFAULT_LIMITNoDefault number of results.
LANCEDB_CONTEXT_BUDGETNoDefault context budget for lancedb_query.
EMBEDDING_MODELNoOpenAI embedding model.
EMBEDDING_DIMENSIONSNoEmbedding dimensions.
OPENAI_API_KEYNoTurns on embeddings. Without it, search is text only.

Install in Claude Code

/plugin marketplace add ayers-software-repair/marketplace
/plugin install lancelot@ayerselectronics

Claude Code asks for the database folder and, optionally, an OpenAI API key. The key is stored in your system's secure credential store. To change either later, run /plugin configure lancelot@ayerselectronics.

Use it without the plugin

claude mcp add --env LANCEDB_PATH=/path/to/db --env OPENAI_API_KEY=... --transport stdio lancelot -- npx -y @ayerselectronics/lancelot@latest

Other MCP clients

Add this to the client's MCP server configuration:

{
  "mcpServers": {
    "lancelot": {
      "command": "npx",
      "args": ["-y", "@ayerselectronics/lancelot@latest"],
      "env": {
        "LANCEDB_PATH": "/path/to/db",
        "OPENAI_API_KEY": "..."
      }
    }
  }
}

Leave OPENAI_API_KEY out for text search only.

Privacy

When OPENAI_API_KEY is set, query text is sent to OpenAI to compute embeddings. Without a key nothing leaves the machine. The database is only read.

Privacy policy and terms: the full statement, including what the hosted endpoint receives.

Standard output

The server writes nothing but MCP messages to stdout. Logs go to stderr. A client reads stdout as protocol messages only, so anything else on it breaks the connection.

Source

https://github.com/ayers-software-repair/lancelot

Published by Ayers Electronics.

Listing icon

.claude-plugin/icon.png is rendered at 1024 px with the sealed browser from art/lancelot-icon.svg, which node art/lancelot-icon.mjs at the repository root computes: the Lancelot wordmark in Pacifico (SIL Open Font License 1.1, art/fonts/), red with a cream outline, on the LanceDB mark's field. Edit the generator and re-run it, then re-render with a browser that has the font; never hand-edit the SVG or the PNG. The directory fixes the icon at first submission.