Back to Directory/Testing & Quality

io.github.LakeLogic/lakelogic-mcp

Validate, lint, test-run and explain Open Lakehouse Contracts with LakeLogic, from any AI assistant.

Testing & QualityPythonv0.1.2

lakelogic-mcp

mcp-name: io.github.LakeLogic/lakelogic-mcp

A local MCP server that lets AI assistants (Claude Code, Claude Desktop, Cursor and any MCP client) check the Open Lakehouse Contracts (OLC) they write, using LakeLogic itself instead of guessing.

  • Runs on your machine over stdio. No network, no account, no telemetry.
  • Never touches a platform. Two tools act locally: generate_test_data writes a data file and run_contract runs a contract on it with Polars or DuckDB. Nothing is written to a contract's target.
  • Reads and writes only inside the project folder it was started in.

Tools

ToolAnswers
validate_contractIs this a legal OLC contract? Each error's location and problem
lint_contractIs it a good one? Governance findings from lakelogic lint, each with its fix
explain_ruleWhy does a lint rule exist? What it checks, why it matters, a failing and a fixed contract
contract_referenceHow is one part of a contract written? (anatomy, quality, materialization, …)
export_odcsThe contract as an Open Data Contract Standard document
generate_test_dataSynthetic data shaped by the contract, with a share of rows that deliberately break its rules
run_contractHow many rows pass, how many are quarantined, and why (Polars or DuckDB, local only)

Install

Claude Code (plugin):

/plugin marketplace add LakeLogic/lakelogic-mcp
/plugin install lakelogic-mcp@lakelogic-mcp

or directly: claude mcp add lakelogic -- uvx lakelogic-mcp

Cursor: Add to Cursor

Any other MCP client (VS Code, Claude Desktop, ...): run uvx lakelogic-mcp as a stdio server. It is also listed in the official MCP Registry as io.github.LakeLogic/lakelogic-mcp.

All of them need uv on your PATH.

Try it locally (development checkout)

cd C:\_Personal\_SaaS\lakelogic-mcp
uv venv .venv
uv pip install --python .venv\Scripts\python.exe "mcp>=1.2" pytest -e ..\open-lakehouse-contract -e ..\lakelogic
uv pip install --python .venv\Scripts\python.exe --no-deps -e .
.venv\Scripts\python.exe -m pytest

Register it with Claude Code

From the project whose contracts you want checked:

claude mcp add lakelogic -- C:\_Personal\_SaaS\lakelogic-mcp\.venv\Scripts\lakelogic-mcp.exe

Then ask, for example:

  • "Lint the contracts in this folder and fix what you find."
  • "Why is KEY-002 flagged on silver_trips.yaml?"
  • "Write a silver contract for orders and check it before you show me."

Claude Desktop / Cursor

Add to the client's MCP settings (claude_desktop_config.json, or Cursor's mcp.json):

{
  "mcpServers": {
    "lakelogic": {
      "command": "C:\\_Personal\\_SaaS\\lakelogic-mcp\\.venv\\Scripts\\lakelogic-mcp.exe",
      "args": ["--root", "C:\\path\\to\\your\\contracts\\project"]
    }
  }
}

Once published

uvx lakelogic-mcp            # Claude Code: claude mcp add lakelogic -- uvx lakelogic-mcp

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx lakelogic-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-lakelogic-lakelogic-mcp": {
      "command": "uvx",
      "args": [
        "lakelogic-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

lakelogic-mcppypi

Compatible MCP Clients

io.github.LakeLogic/lakelogic-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More