数据表查询服务

一个简约的模型上下文协议(MCP)服务器,用于与数据表交互并运行Bauplan查询,适用于数据管理和分析场景。

  • by marcoeg
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 marcoeg/mcp-bauplan

使用说明

MCP建设计划

一个最小列表模型上下文协议MCP服务器,用于与数据表交互并运行Bauplan查询。

Bauplan在S3中管理冰山表的数据存储。

特性

  • 在配置的命名空间中获取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 将取回 mcp-bauplan 从默认注册表https://pypi.org.

未来发展

开发-正在进行中

  1. Bauplan(SDK和平台)作为资源的文档
  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检查器运行

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检查器指示的URL,通常 http://localhost:8077?proxyPort=8078

在以下之间自由切换 stdio 和 sse 检查员中的运输类型。使用 sse 您需要按照以下说明运行服务器。

使用SSE传输进行测试

运行服务器:

cd /path/to/the/repo
source .env

uv run mcp-bauplan --transport sse --port 9090
  • 在港口使用SSE运输 9090 默认情况下。

然后打开浏览器到MCP检查器指示的URL。选择SSE传输类型。