Bauplan MCP Server

Bauplan MCP Server

Enables AI assistants to interact with Bauplan lakehouse operations, including querying tables, schema inspection, branch management, and pipeline execution.

Category
访问服务器

README

Bauplan MCP Server

A Model Context Protocol (MCP) server that gives AI assistants (Claude Code, Claude Desktop, Cursor) access to Bauplan lakehouse operations: querying tables, schema inspection, branch management, and running pipelines. A video walkthrough demonstrates setup and usage.

[!NOTE] This project is released in Beta under MIT license. APIs and features may change without notice as we continue development.

[!IMPORTANT] Server-side deployment is now available for existing Bauplan users. You no longer need to run the MCP server locally — contact your Bauplan account team for details.

Overview

This repository contains the Bauplan MCP Server — a Model Context Protocol server that gives AI assistants access to Bauplan lakehouse operations. A blog post with context and background is available here.

[!TIP] Looking for the best local AI setup with Bauplan? Check out BauplanLabs/bauplan-skills — it includes agent playbooks (CLAUDE.md), skills, and everything you need to get AI coding assistants working with Bauplan via CLI and SDK, without running an MCP server.

MCP Quick Start

You can get started in one minute with your existing AI assistant: a video setup with Claude Desktop and Claude Code is also available here for reference.

You need:

  • a Bauplan API key properly configured in your local config file (default profile) - the server will pick it up automatically (see below for alternative authentication methods);
  • uv (or a standard pip managed virtual environment, see below);
  • an AI platform able to leverage the MCP, as for example Claude Code, Cursor, Claude Desktop.

[!WARNING] do not use an Admin Bauplan API key: while the server will refuse to write on main, it is good practice to use a non-admin key for AI-assisted development (see our roadmap below for more details on upcoming security features).

Start the server with:

uv sync
uv run python main.py --transport streamable-http

The MCP server is now available at http://localhost:8000/mcp. You can configure the server in Claude Code for example with:

claude mcp add -t http mcp-bauplan http://localhost:8000/mcp

Similar commands can be run on Claude Desktop or Cursor to enable the AI to access the server.

Et voilà! You can now start asking your AI questions about your data lakehouse (and much more!).

Advanced Configurations

Bauplan Credentials

The Beta release covers the local development use case. Authentication to your Bauplan lakehouse happens as follows:

  • if you do not specify a Bauplan profile as a flag, the default one on the machine running the server will be used at every interaction with the lakehouse.
  • if you specify a profile as a flag, this profile will be used instead when instantiating a Bauplan client.
  • if you specify a header in your assistant - key=Bauplan, value=your_api_key (e.g. in Claude code claude mcp add -H "Bauplan: <your-bauplan-api-key>" ...) -, your_api_key will be used instead when instantiating a Bauplan client. This is convenient for quick tests, and opens up the possibility of hosting the catalog on a shared infrastructure, delegating to clients the Bauplan API key management.

Server CLI Options

The server supports the following CLI options, mostly useful for specifying alternative transport options:

Option Default Description Used With
--transport stdio Transport protocol: stdio, sse, or streamable-http All commands
--host 127.0.0.1 Host to bind to (localhost by default) sse, streamable-http only
--port 8000 Port to bind to sse, streamable-http only
--profile None Bauplan profile to use All commands

Note: The --host and --port options are ignored when using stdio transport since it communicates through stdin/stdout.

Claude Desktop

To add the Bauplan MCP server to Claude Desktop, follow the guide to get to your claude_desktop_config.json file.

You can then add this configuration (modify the paths as needed):

{
  "mcpServers": {
    "mcp-bauplan": {
      "command": "/path/to/bauplan-mcp-server/.venv/bin/python3",
      "args": [
        "/path/to/bauplan-mcp-server/main.py",
        "--transport",
        "stdio"
      ],
      "workingDirectory": "/path/to/bauplan-mcp-server/"
    }
  }
}

Quit and restart Claude Desktop. Now all Bauplan tools are available to your assistant, as this video demonstrates.

MCP Inspector

Start the MCP Inspector if you wish to manually test the server (Node is required):

npx @modelcontextprotocol/inspector

Now, configure the inspector with the proper variables, e.g. for Streamable HTTP:

Features

Tool List

Data Operations

  • list_tables: List all tables in a branch/namespace
  • get_schema: Get schema for all tables in a branch/namespace
  • get_table: Get schema for a specific table (more efficient for single table)
  • run_query: Execute SELECT queries on tables
  • run_query_to_csv: Execute SELECT queries and save results directly to CSV file (scalar data types only)

Branch Management

  • get_branches: List branches with optional filters
  • get_commits: Get commit history from branches
  • create_branch: Create new branches from references
  • has_branch: Check if a specific branch exists
  • merge_branch: Merge branches with custom commit messages
  • delete_branch: Delete branches (with safety checks)

Namespace Management

  • get_namespaces: List available namespaces in a branch
  • create_namespace: Create new namespaces in branches
  • has_namespace: Check if a specific namespace exists in a branch
  • delete_namespace: Delete namespaces from branches

Tag Management

  • get_tags: Get tags with optional filters
  • create_tag: Create a new tag from a reference
  • has_tag: Check if a tag exists
  • delete_tag: Delete a tag

Table Management

  • create_table: Create a table from S3 location using schema detection (creates ICEBERG table structure but doesn't populate data)
  • plan_table_creation: Create a table import plan from S3 location (generates YAML schema plan with job tracking)
  • apply_table_creation_plan: Apply a table creation plan to resolve schema conflicts (returns job_id for tracking)
  • has_table: Check if a specific table exists in a branch/reference
  • delete_table: Delete a table from a specific branch
  • import_data: Import data into an existing table from S3 location (returns job_id for tracking)
  • revert_table: Revert a table from a source reference to a target branch with optional replacement

Project Management

  • project_run: Run a Bauplan project from a specified directory and reference with configurable parameters (dry-run, timeout, detach mode)
  • code_run: Run a Bauplan project from code files provided as a dictionary (useful for clients that cannot submit paths), automatically creates temporary directory and validates project structure

Job Management

  • list_jobs: List jobs in the Bauplan system with optional filtering for all users
  • get_job: Get detailed information about a specific job by its ID
  • cancel_job: Cancel a running job by its ID and get updated job status

User Management

  • get_user_info: Get information about the current authenticated user (username and full name)

Instructions and Guidance

  • get_instructions: Get detailed instructions for specific Bauplan use cases (pipeline, data, repair, wap, test, sdk)

License

This project is provided with no guarantees under the attached MIT License.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选