Skip to main content
Glama
@lakehouse/mcp-server

@lakehouse/mcp-server

by lakehouse-42

@lakehouse/mcp-server

Model Context Protocol (MCP) server for Lakehouse42.

Features

  • Code-First Pattern - On-demand tool discovery (~98% token reduction)

  • Tool Tagging - Filter tools by category (read/write/admin/search/time-travel)

  • Cursor Pagination - Efficient browsing of large result sets

  • Streamable HTTP - Scalable deployment with session recovery

  • Optimized Responses - Compact JSON, truncated snippets, sample rows

Related MCP server: IcebergMCP

Quick Start

LAKEHOUSE42_API_KEY=lh_xxx npx @lakehouse/mcp-server

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lakehouse42": {
      "command": "npx",
      "args": ["@lakehouse/mcp-server"],
      "env": {
        "LAKEHOUSE42_API_KEY": "lh_your_api_key"
      }
    }
  }
}

Environment Variables

Variable

Required

Default

LAKEHOUSE42_API_KEY

Yes

-

LAKEHOUSE42_BASE_URL

No

https://api.lakehouse42.com

Tools

search_tools

Discover tools on-demand (code-first pattern).

{ "tags": ["search"], "detail": "summary" }

Parameter

Type

Description

query

string

Search term

tags

string[]

read, write, admin, search, time-travel

detail

string

name (10 tokens), summary (50), full (150)

Hybrid search with cursor pagination.

{ "query": "revenue report", "top_k": 10 }

Returns: 5 results max, 200-char snippets, next_cursor for pagination.

ask_question

RAG-powered Q&A.

{ "question": "What is our refund policy?" }

Returns: answer + source count.

get_document / list_documents / list_collections

Document and collection management with cursor pagination.

upload_document

Upload text documents (auto-chunked and indexed).

time_travel_query / time_travel_diff / list_snapshots

Iceberg time-travel queries. Returns row count + 3 sample rows.

HTTP Transport

For web deployments:

import { HttpTransport, ToolExecutor, ApiClient } from '@lakehouse/mcp-server';

const client = new ApiClient({ apiKey: 'lh_xxx', baseUrl: 'https://api.lakehouse42.com' });
const transport = new HttpTransport({ toolExecutor: new ToolExecutor(client) });

http.createServer((req, res) => transport.handleRequest(req, res)).listen(3000);

Features:

  • Session management (Mcp-Session-Id header)

  • SSE streaming (Accept: text/event-stream)

  • Disconnect recovery (Last-Event-ID)

Endpoints:

  • POST /mcp - JSON-RPC requests

  • GET /mcp - SSE stream

  • DELETE /mcp - Close session

  • GET /health - Health check

Programmatic Usage

import { createServer, searchTools, TAGGED_TOOLS } from '@lakehouse/mcp-server';

// Stdio server
const server = createServer({ apiKey: 'lh_xxx' });
await server.start();

// Tool discovery
const readTools = searchTools(undefined, ['read'], 'name');
// → [{ name: 'search' }, { name: 'ask_question' }, ...]

Response Optimization

Tool

Optimization

search

5 results, 200-char snippets

list_documents

10 docs, essential fields

time_travel_query

3 sample rows + count

All responses use compact JSON (no pretty-printing).

License

MIT

Available Tools

10 tools
ask_questionC

RAG-based Q&A. Returns AI answer with source count.

Inputs: question (required), model, collection_ids.

get_documentB

Get document by ID. Optionally include full content.

Inputs: document_id (required), include_content.

list_collectionsB

List all collections. Cursor pagination.

Inputs: limit, cursor.

list_documentsC

List documents with filters. Cursor pagination.

Inputs: limit, cursor, search, status, +1 more.

list_snapshotsB

List Iceberg table snapshots for time-travel.

Inputs: table_name (required), limit, namespace.

search_toolsA

Find available tools by name, tag, or description. Returns tool info at specified detail level.

Inputs: tags, query, detail.

time_travel_diffB

Compare two snapshots. Returns added/deleted/changed counts.

Inputs: table_name (required), to_snapshot_id (required), from_snapshot_id (required), namespace.

time_travel_queryC

Query historical Iceberg data at snapshot/timestamp.

Inputs: table_name (required), limit, where, columns, +3 more.

upload_documentB

Upload text document. Auto-chunked and indexed.

Inputs: title (required), content (required), metadata, content_type, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 10 tools

    Disambiguation4/5

    Tools are largely distinct: search_tools is meta, search and ask_question target different retrieval modes, and time_travel tools are clearly separated. Some confusion could arise between search and ask_question since both retrieve information, but descriptions clarify the intent.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (get_document, list_documents, upload_document). A few deviate like 'search' (bare verb) and 'time_travel_diff' (noun-heavy), but overall naming is predictable and readable.

    Tool Count5/5

    With 10 tools, the server is well-scoped. Each tool serves a distinct function within the two core domains (document search/RAG and time-travel on Iceberg), and none feel redundant or unnecessary.

    Completeness3/5

    The document side covers upload, retrieval, and search but lacks update and delete operations, which are common CRUD gaps. The time-travel features are useful but assume knowledge of tables/snapshots without a listing mechanism; overall the surface is functional but not fully comprehensive.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      An MCP server that enables natural language interaction with Apache Iceberg data lakehouses, allowing users to query table metadata, schemas, and properties through Claude, Cursor, or other MCP clients.
      5
      41
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server providing seamless integration with Trino and Iceberg for advanced data exploration, querying, and table maintenance.
      Apache 2.0