mcpField
M
mcp-bauplan

mcp-bauplan

本地服务
github.com/marcoeg数据与分析370 周前更新

关于 mcp-bauplan

mcp-bauplan 是用于浏览 Bauplan 数据表并执行只读 SQL 查询的 MCP 服务,面向使用 Bauplan 管理 S3 Iceberg 表的数据团队。

主要功能

  1. 01列出命名空间中的表
  2. 02获取表结构
  3. 03运行 SELECT 查询
  4. 04支持 SSE 和 STDIO 传输

适用场景

  1. 01分析前查看可用数据表
  2. 02检查表结构
  3. 03使用 SQL 查询 Bauplan 数据

MCP 相关

向 MCP 客户端提供 Bauplan 数据表发现、结构查询和 SELECT 查询工具,并支持 SSE 与 STDIO 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"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>"
}
}
}
}
启动命令uvx mcp-bauplan
需要配置的环境变量
BAUPLAN_API_KEY密钥
BAUPLAN_BRANCH
BAUPLAN_NAMESPACE
BAUPLAN_TIMEOUT

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-bauplan

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-bauplan

一个极简的 Model Context Protocol MCP 服务,用于与数据表交互并运行 Bauplan 查询。

Bauplan 在 S3 中管理 Iceberg 表数据存储。

功能

  • 获取已配置命名空间中的 Bauplan 数据表及其架构
  • 使用 SQL 查询 Bauplan 数据表(仅支持 SELECT)

支持 SSE 和 STDIO 传输方式。

工具

该服务实现了以下工具,用于与 Bauplan 数据表交互:

  • list_tables:
    • 列出已配置命名空间中的所有表
  • get_schema:
    • 获取数据表的架构
  • run_query:
    • 对指定表运行 SELECT 查询

配置

  1. 创建_或编辑 Claude Desktop 配置文件,文件位置如下:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%/Claude/claude_desktop_config.json
  2. 添加以下内容:

{
  "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. 将 /path/to/uvx 替换为 uvx 可执行文件的绝对路径。在终端中运行 which uvx 命令即可查找路径。这样可以确保启动服务时使用正确版本的 uvx。

  2. 重启 Claude Desktop 以应用更改。

运行独立的 SSE 服务

从 .env.example 创建 .env 文件,然后执行以下命令:

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

请注意,使用 nvx 而非 uvx 将从默认仓库 https://pypi.org 获取 mcp-bauplan。

后续开发

开发中 - 尚在进行

  1. 将 Bauplan(SDK 和 Platform)文档作为资源提供
  2. 自动化 Bauplan 执行——添加更多命令并运行管道
  3. 查询生成
  4. 使用模板生成代码
  5. 数据治理与合规
  6. 测试与验证
  7. 集成生态
设置
  1. 先决条件:

  2. 克隆仓库:

git clone https://github.com/marcoeg/mcp-bauplan
cd mcp-nvd
  1. 设置环境变量:

    • 在项目根目录中创建 .env 文件:
      BAUPLAN_API_KEY=your-api-key
      BAUPLAN_BRANCH=your-branch
      BAUPLAN_NAMESPACE=your-namespace
      
  2. 安装依赖项:

uv sync
uv pip install -e .
使用 MCP Inspector 运行
cd /path/to/the/repo
source .env

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

注意:如果标准端口没有冲突,请省略 CLIENT_PORT=8077 SERVER_PORT=8078。

然后在浏览器中打开 MCP Inspector 指示的 URL,通常为 http://localhost:8077?proxyPort=8078

可在 Inspector 中自由切换 stdio 和 sse 传输类型。若要使用 sse,需要按下文说明运行服务。

使用 SSE 传输进行测试
运行服务:
cd /path/to/the/repo
source .env

uv run mcp-bauplan --transport sse --port 9090
  • 默认通过 SSE 传输在端口 9090 上运行。

然后在浏览器中打开 MCP Inspector 指示的 URL,并选择 SSE 传输类型。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。