article
README
🚀 mcp-bauplan
mcp-bauplan是一个简约的模型上下文协议(MCP)服务器,用于与数据表交互并运行Bauplan查询。它能够管理配置namespace中Iceberg表格在S3的数据存储,为用户提供便捷的数据操作体验。
🚀 快速开始
配置
- 创建或编辑Claude桌面配置文件,不同系统的文件位置如下:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
- macOS:
- 添加以下内容到配置文件中:
{
"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",
// 可选
"BAUPLAN_TIMEOUT": "query-timeout-secs" // 默认30秒
}
}
}
}
- 将
/path/to/uvx替换为uvx可执行文件的绝对路径。你可以使用终端中的which uvx命令来找到该路径,以确保在启动服务器时使用正确的uvx版本。 - 重新启动Claude桌面以应用更改。
运行独立的SSE服务器
从.env.example创建一个.env文件,然后执行以下命令:
$ uvx --env-file /path/to/.env mcp-bauplan --transport sse --port 9090
⚠️ 重要提示
使用
nvx而不是uvx将从默认仓库https://pypi.org获取mcp-bauplan。
✨ 主要特性
- 获取配置namespace中的所有Bauplan数据表及其架构。
- 使用SQL(仅选择)在指定的表上执行查询。
- 支持SSE和STDIO两种传输方式。
📦 安装指南
开发环境设置
git clone https://github.com/marcoeg/mcp-bauplan
cd mcp-nvd
- 设置环境变量:
在项目根目录中创建一个
.env文件,并添加以下内容:
BAUPLAN_API_KEY=your-api-key
BAUPLAN_BRANCH=your-branch
BAUPLAN_NAMESPACE=your-namespace
- 安装依赖项:
uv sync
uv pip install -e .
💻 使用示例
工具使用
该服务器实现了以下工具以与Bauplan数据表交互:
list_tables:列出配置namespace中的所有表格。get_schema:获取指定数据表的架构。run_query:在指定表上执行SELECT查询。
使用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。
然后在浏览器中打开指示的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
- 默认在端口
9090上使用SSE传输运行。
然后在浏览器中打开指示的URL,选择SSE传输类型。
微信扫一扫