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
- 01List tables in a namespace
- 02Retrieve table schemas
- 03Run SELECT queries
- 04SSE and STDIO transports
Use cases
- 01Inspect available tables before analysis
- 02Check a table schema
- 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.
uvx mcp-bauplanBAUPLAN_API_KEYSecretBAUPLAN_BRANCHBAUPLAN_NAMESPACEBAUPLAN_TIMEOUTLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-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
-
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
- On macOS:
-
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
}
}
}
}
-
Replace
/path/to/uvxwith the absolute path to theuvxexecutable. Find the path withwhich uvxcommand in a terminal. This ensures that the correct version ofuvxis used when starting the server. -
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
nvxand notuvxwill fetchmcp-bauplanfrom the default registry https://pypi.org.
Future Development
Development - work in progress
- Documentation of Bauplan (SDK and Platform) as Resource
- Automation of Bauplan Execution - more commands and run a pipeline
- Query Generation
- Code Generation Using Templates
- Data Governance & Compliance
- Testing & Validation
- Integration Ecosystem
Setup
-
Prerequisites:
- Python 3.10 or higher.
- A Bauplan API key (request here).
uvpackage manager (installation).
-
Clone the Repository:
git clone https://github.com/marcoeg/mcp-bauplan
cd mcp-nvd
-
Set Environment Variables:
- Create a
.envfile in the project root:BAUPLAN_API_KEY=your-api-key BAUPLAN_BRANCH=your-branch BAUPLAN_NAMESPACE=your-namespace
- Create a
-
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=8078if 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
stdioandssetransport types in the inspector. To usesseyou 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
9090by default.
Then open the browser to the URL indicated by the MCP Inspector. Select SSE Transport Type.
Comments
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.