marcoeg
MCP Server
marcoeg
public

mcp bauplan

An MCP server to interact with data and run pipeline using Bauplan

Repository Info

3
Stars
0
Forks
3
Watchers
1
Issues
Python
Language
MIT License
License

About This Server

An MCP server to interact with data and run pipeline using Bauplan

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

# 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:

```json
{
  "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
      }
    }
  }
}
```

3. 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.

4. 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:
```bash
$ 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**:
   - Python 3.10 or higher.
   - A Bauplan API key ([request here](https://www.bauplanlabs.com/#join)).
   - `uv` package manager ([installation](https://docs.astral.sh/uv/)).

2. **Clone the Repository**:
```bash
git clone https://github.com/marcoeg/mcp-bauplan
cd mcp-nvd
```

3. **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
     ```

4. **Install Dependencies**:
```bash
uv sync
uv pip install -e .
```

### Run with the MCP Inspector
```bash
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:
```bash
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.

Quick Start

1

Clone the repository

git clone https://github.com/marcoeg/mcp-bauplan
2

Install dependencies

cd mcp-bauplan
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownermarcoeg
Repomcp-bauplan
Language
Python
LicenseMIT License
Last fetched8/8/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation