mcpField
M
mcp-bauplan

mcp-bauplan

Local
github.com/marcoegData & Analytics3Updated 70w ago

About mcp-bauplan

mcp-bauplan is an MCP server for exploring Bauplan tables and running read-only SQL queries. It serves data teams working with Bauplan’s Iceberg tables in S3.

Key features

  1. 01List tables in a namespace
  2. 02Retrieve table schemas
  3. 03Run SELECT queries
  4. 04SSE and STDIO transports

Use cases

  1. 01Inspect available tables before analysis
  2. 02Check a table schema
  3. 03Query Bauplan data with SQL

MCP support

Exposes Bauplan table discovery, schema lookup, and SELECT-query tools to MCP clients. Supports SSE and STDIO transports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"bauplan": {
"command": "uvx",
"args": [
"mcp-bauplan"
],
"env": {
"BAUPLAN_API_KEY": "<BAUPLAN_API_KEY>",
"BAUPLAN_BRANCH": "<BAUPLAN_BRANCH>",
"BAUPLAN_NAMESPACE": "<BAUPLAN_NAMESPACE>",
"BAUPLAN_TIMEOUT": "<BAUPLAN_TIMEOUT>"
}
}
}
}
Run commanduvx mcp-bauplan
Environment variables to set
BAUPLAN_API_KEYSecret
BAUPLAN_BRANCH
BAUPLAN_NAMESPACE
BAUPLAN_TIMEOUT

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-bauplan

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcp-bauplan

A mimimalist Model Context Protocol MCP server to interact with data tables and running Bauplan queries.

Bauplan manages a data store of Iceberg tables in S3.

Features

  • Get Bauplan data tables and their schemas in the configured namespace
  • Query Bauplan data tables using SQL (SELECT only)

It supports both SSE and STDIO transports.

Tools

The server implements the following tools to interact with Bauplan data tables:

  • list_tables:
    • Lists all the tables in the configured namespace
  • get_schema:
    • Get the schema of a data tables
  • run_query:
    • Run a SELECT query on the specified table

Configuration

  1. Create _or edit the Claude Desktop configuration file located at:

    • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • On Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Add the following:

{
  "mcpServers": {
    "mcp-bauplan": {
      "command": "/path/to/uvx",
      "args": ["mcp-bauplan"],
      "env": {
        "BAUPLAN_API_KEY": "your-api-key",
        "BAUPLAN_BRANCH": "your-branch",
        "BAUPLAN_NAMESPACE": "your-namespace",
        // Optional
        "BAUPLAN_TIMEOUT": "query-timeout-secs" // default 30 seconds
      }
    }
  }
}
  1. Replace /path/to/uvx with the absolute path to the uvx executable. Find the path with which uvx command in a terminal. This ensures that the correct version of uvx is used when starting the server.

  2. Restart Claude Desktop to apply the changes.

Run the stand-alone SSE server

Create a .env file from .env.example and then execute the following command:

$ uvx --env-file /path/to/.env mcp-bauplan --transport sse --port 9090

Note the use of nvx and not uvx will fetch mcp-bauplan from the default registry https://pypi.org.

Future Development

Development - work in progress

  1. Documentation of Bauplan (SDK and Platform) as Resource
  2. Automation of Bauplan Execution - more commands and run a pipeline
  3. Query Generation
  4. Code Generation Using Templates
  5. Data Governance & Compliance
  6. Testing & Validation
  7. Integration Ecosystem
Setup
  1. Prerequisites:

  2. Clone the Repository:

git clone https://github.com/marcoeg/mcp-bauplan
cd mcp-nvd
  1. Set Environment Variables:

    • Create a .env file in the project root:
      BAUPLAN_API_KEY=your-api-key
      BAUPLAN_BRANCH=your-branch
      BAUPLAN_NAMESPACE=your-namespace
      
  2. Install Dependencies:

uv sync
uv pip install -e .
Run with the MCP Inspector
cd /path/to/the/repo
source .env

CLIENT_PORT=8077 SERVER_PORT=8078 npx @modelcontextprotocol/inspector \
     uv run mcp-bauplan

Note: omit CLIENT_PORT=8077 SERVER_PORT=8078 if the standard ports are not conflicting.

Then open the browser to the URL indicated by the MCP Inspector, typically http://localhost:8077?proxyPort=8078

Switch freely between stdio and sse transport types in the inspector. To use sse you need to run the server as explained below.

Testing with the SSE transport
Run the Server:
cd /path/to/the/repo
source .env

uv run mcp-bauplan --transport sse --port 9090
  • Runs with SSE transport on port 9090 by default.

Then open the browser to the URL indicated by the MCP Inspector. Select SSE Transport Type.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.