mcp-bauplan

mcp-bauplan

site icon
2025.03.30 2
Python数据表管理SQL查询数据库
mcp-bauplan 是一个简约的模型上下文协议(MCP)服务器,用于与数据表交互并运行 Bauplan 查询。Bauplan 管理 S3 中的 Iceberg 表数据存储。 核心功能包括获取 Bauplan 数据表及其模式,以及使用 SQL(仅 SELECT)查询数据表。它支持 SSE 和 STDIO 两种传输方式。 适用场景包括需要与 Bauplan 数据表交互的开发环境,以及需要查询和管理 Iceberg 表数据的应用场景。
View on GitHub

Overview

基本能力

产品定位

mcp-bauplan 是一个用于与 Bauplan 数据表交互的 MCP 服务器,主要用于查询和管理 Iceberg 表数据。

核心功能

  • 获取配置命名空间中的 Bauplan 数据表及其模式
  • 使用 SQL(仅 SELECT)查询 Bauplan 数据表

适用场景

  • 开发环境中需要与 Bauplan 数据表交互的场景
  • 需要查询和管理 Iceberg 表数据的应用场景

工具列表

  • list_tables:列出配置命名空间中的所有表
  • get_schema:获取数据表的模式
  • run_query:在指定表上运行 SELECT 查询

常见问题解答

  • 支持 SSE 和 STDIO 两种传输方式
  • 需要配置 Bauplan API 密钥、分支和命名空间

使用教程

使用依赖

  1. Prerequisites:
  2. Python 3.10 或更高版本
  3. Bauplan API 密钥(可从 Bauplan Labs 申请)
  4. uv 包管理器(安装指南见 uv 文档

安装教程

  1. 克隆仓库:
git clone https://github.com/marcoeg/mcp-bauplan
cd mcp-nvd
  1. 设置环境变量:
  2. 在项目根目录创建 .env 文件: BAUPLAN_API_KEY=your-api-key BAUPLAN_BRANCH=your-branch BAUPLAN_NAMESPACE=your-namespace

  3. 安装依赖:

uv sync
uv pip install -e .

调试方式

  1. 使用 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`

2. **使用 SSE 传输测试**:
```bash
cd /path/to/the/repo
source .env

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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。