项目简介

Bauplan MCP服务器是一个开源库,旨在通过Model Context Protocol (MCP) 为AI助手提供对Bauplan数据湖仓功能的访问。它允许AI助手使用自然语言命令来执行数据湖操作,例如查询表格、检查Schema、管理数据分支、运行数据管道等。目前主要用于本地开发环境,使像Claude Code、Cursor、Claude Desktop等AI助手能够连接并操作您的Bauplan数据湖。

主要功能点

  • 数据操作: 列出、获取表格信息,执行SQL查询,并将查询结果保存为CSV文件。
  • 分支管理: 列出、创建、检查、合并和删除数据分支及其提交历史。
  • 命名空间管理: 列出、创建、检查和删除数据命名空间。
  • 标签管理: 列出、创建、检查和删除数据标签。
  • 表格生命周期管理: 从S3创建表格,生成、应用表格创建计划,检查、删除表格,以及导入数据到现有表格和回滚表格。
  • 项目和任务运行: 运行Bauplan数据管道项目(支持从本地目录或直接从代码文件运行),列出、获取和取消任务。
  • 用户管理: 获取当前认证的Bauplan用户信息。
  • 指令与指导: 根据特定使用场景(如数据管道、数据查询、故障修复、数据摄取、数据质量测试)获取详细的操作指南。

安装步骤

  1. 获取Bauplan API Key: 访问Bauplan官网 ('https://app.bauplanlabs.com/sign-up') 注册并获取API Key。请确保在本地配置文件中正确配置,或者在启动服务器时通过参数或客户端请求头传递。注意:请勿使用Admin权限的API Key。

  2. 安装uv: 推荐使用'uv'工具管理Python环境和依赖。如果未安装,请参考 'https://docs.astral.sh/uv/guides/install-python/' 进行安装。

  3. 克隆仓库并启动服务器: 首先,通过Git克隆本仓库到您的本地机器:

    git clone https://github.com/BauplanLabs/bauplan-mcp-server.git
    cd bauplan-mcp-server

    然后,使用'uv'同步依赖并启动服务器。推荐使用'streamable-http'传输协议以获得更灵活的连接方式:

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

    服务器默认将在 'http://localhost:8000/mcp' 地址上运行。您也可以选择 'stdio' 或 'sse' 作为传输协议,并自定义 'host' 和 'port'。

    使用标准pip环境: 如果不想使用'uv',也可以使用标准的Python虚拟环境进行安装和启动:

    python -m venv venv && source venv/bin/activate
    pip install -e .
    python main.py --transport streamable-http

服务器配置 (MCP客户端使用)

MCP客户端(如Claude Code、Claude Desktop、Cursor等)需要配置服务器信息才能建立连接。

如果您选择使用 'stdio' 传输协议启动MCP服务器,您可能需要将以下JSON内容添加到您的MCP客户端配置文件中(例如Claude Desktop的 'claude_desktop_config.json')。请务必将 '/path/to/bauplan-mcp-server/' 替换为您实际的项目根目录路径。

{
  "mcpServers": {
    "mcp-bauplan": { // 服务器的唯一名称,客户端将用此名称引用该服务器
      "command": "/path/to/bauplan-mcp-server/.venv/bin/python3", // 启动MCP服务器的Python解释器完整路径
      "args": [ // 传递给服务器启动命令的参数列表
        "/path/to/bauplan-mcp-server/main.py", // 服务器主脚本文件路径
        "--transport",
        "stdio" // 指定服务器使用的传输协议
      ],
      "workingDirectory": "/path/to/bauplan-mcp-server/" // 服务器进程的工作目录
    }
  }
}

如果您按照推荐使用 'streamable-http' 协议启动服务器(即执行 'uv run python main.py --transport streamable-http'),那么客户端通常不需要修改配置文件,而是通过命令行工具直接添加服务器的HTTP地址。例如,在Claude Code中,您可以执行以下命令来添加服务器: 'claude mcp add -t http mcp-bauplan "http://localhost:8000/mcp"' 对于Claude Desktop或Cursor等客户端,请参考其官方文档进行HTTP服务器的连接配置,通常只需提供MCP服务器的URL即可。

基本使用方法

一旦MCP服务器启动并被您的AI助手客户端配置连接成功,您就可以直接通过自然语言与AI助手交互,让它执行Bauplan数据湖的相关操作。 例如,您可以向AI助手提出以下问题或指令:

  1. 询问数据湖信息: "请列出我的'main'分支中的所有表格。"
  2. 获取Schema: "请告诉我'my_branch.dev'分支下'users'表的Schema是什么?"
  3. 运行查询: "运行一个SQL查询:'SELECT * FROM my_branch.sales LIMIT 10'。"
  4. 创建分支: "从'main'分支创建一个名为'my_username.feature_x'的新分支。"
  5. 获取操作指南: "请给我关于如何创建数据管道的详细说明。"

AI助手将根据您的指令,通过Bauplan MCP服务器调用相应的工具来完成这些数据湖操作。

信息

分类

数据库与文件