MCP服务器设计
一种模型上下文协议(MCP)服务器,允许AI助手(Claude Code、Claude Desktop、Cursor)访问Bauplan湖屋操作:查询表、模式检查、分支管理和运行管道。A. 视频漫游 演示设置和使用。
\[!注意\] 该项目在MIT许可下以Beta版本发布。随着我们继续开发,API和功能可能会发生变化,恕不另行通知。
\[!重要\] 服务器端部署现在可用 对于现有的Bauplan用户。您不再需要在本地运行MCP服务器——有关详细信息,请联系您的Bauplan客户团队。
概述
该存储库包含Bauplan MCP服务器,这是一个模型上下文协议服务器,可让AI助手访问Bauplan湖屋操作。一篇有背景和背景的博客文章 可以在这里找到.
\[!提示\] 您在寻找Bauplan的最佳本地AI设置吗? 结账 建筑计划实验室/建筑计划技能 --它包括特工剧本(CLAUDE.md)技能,以及让AI编码助手通过CLI和SDK使用Bauplan所需的一切,而无需运行MCP服务器。MCP快速入门
您可以在一分钟内开始使用现有的AI助手:使用Claude Desktop和Claude Code进行视频设置 也可以在这里找到 以供参考。
您需要:
- 建筑 计划 API密钥 在本地配置文件中正确配置(默认配置文件)-服务器将自动获取它(请参阅下文了解其他身份验证方法);
- 紫外线 (或标准
pip托管虚拟环境,见下文); - 一个能够利用MCP的AI平台,例如Claude Code、Cursor、Claude Desktop。
\[!警告\] 不要使用Admin Bauplanneneneba API密钥:而服务器将拒绝写入 main,使用非管理员密钥进行人工智能辅助开发是一种很好的做法(有关即将推出的安全功能的更多详细信息,请参阅下面的路线图)。使用以下命令启动服务器:
uv sync
uv run python main.py --transport streamable-http
MCP服务器现在可以在 http://localhost:8000/mcp。您可以在Claude Code中配置服务器,例如:
claude mcp add -t http mcp-bauplan http://localhost:8000/mcp
类似的命令可以在上运行 克劳德桌面版 或 光标 以使AI能够访问服务器。
瞧!现在,你可以开始问你的AI关于你的数据湖屋的问题(以及更多!)。
高级配置
Bauplan证书
Beta版本涵盖了本地开发用例。您的Bauplan湖畔别墅的身份验证过程如下:
- 如果不将Bauplan配置文件指定为标志,则每次与lakehouse交互时都将使用运行服务器的计算机上的默认配置文件。
- 如果将配置文件指定为标志,则在实例化Bauplan客户端时将使用此配置文件。
- 如果在assistant-key中指定一个标题=
Bauplan,价值=your_api_key(例如,在克劳德代码中claude mcp add -H "Bauplan: " ...) -,your_api_key将在实例化Bauplan客户端时使用。这便于快速测试,并为在共享基础设施上托管目录打开了可能性,将Bauplanneneneba API密钥管理委托给客户。
服务器CLI选项
服务器支持以下CLI选项,主要用于指定替代传输选项:
| 选项 | 默认值 | 描述 | 与一起使用 |
|---|---|---|---|
--transport | stdio | 传输协议: stdio, sse,或 streamable-http | 所有命令 |
--host | 127.0.0.1 | 要绑定的主机(默认为localhost) | sse, streamable-http 只有 |
--port | 8000 | 要绑定的端口 | sse, streamable-http 只有 |
--profile | None | 要使用的Bauplan配置文件 | 所有命令 |
注: 这 --host 和 --port 使用时忽略选项 stdio 因为它通过stdin/stdout通信。
克劳德桌面版
要将Bauplan MCP服务器添加到Claude Desktop,请按照以下步骤操作 引导 去你的 claude_desktop_config.json 文件。
然后,您可以添加此配置(根据需要修改路径):
{
"mcpServers": {
"mcp-bauplan": {
"command": "/path/to/bauplan-mcp-server/.venv/bin/python3",
"args": [
"/path/to/bauplan-mcp-server/main.py",
"--transport",
"stdio"
],
"workingDirectory": "/path/to/bauplan-mcp-server/"
}
}
}退出并重新启动Claude Desktop。现在,您的助手可以使用所有Bauplan工具,因为 视频 演示。
MCP检查员
启动 MCP检查员 如果要手动测试服务器(需要Node):
npx @modelcontextprotocol/inspector现在,使用适当的变量配置检查器,例如Streamable HTTP:
- 传输类型:流式HTTP
- 统一资源定位符:
- 会话令牌:使用检查器输出中的令牌
特性
刀具清单
数据操作
list_tables:列出分支/命名空间中的所有表get_schema:获取分支/命名空间中所有表的架构get_table:获取特定表的架构(对于单个表更有效)run_query:对表执行SELECT查询run_query_to_csv:执行SELECT查询并将结果直接保存到CSV文件(仅标量数据类型)
分行管理
get_branches:列出具有可选筛选器的分支get_commits:从分支获取提交历史记录create_branch:从引用创建新分支has_branch:检查是否存在特定分支merge_branch:使用自定义提交消息合并分支delete_branch:删除分支(进行安全检查)
命名空间管理
get_namespaces:列出分支中的可用命名空间create_namespace:在分支中创建新的命名空间has_namespace:检查分支中是否存在特定命名空间delete_namespace:从分支中删除命名空间
标签管理
get_tags:获取带有可选过滤器的标签create_tag:从引用创建新标记has_tag:检查标签是否存在delete_tag:删除标记
表格管理
create_table:使用模式检测从S3位置创建表(创建ICEBERG表结构,但不填充数据)plan_table_creation:从S3位置创建表导入计划(生成具有作业跟踪的YAML模式计划)apply_table_creation_plan:应用表创建计划来解决架构冲突(返回job_id进行跟踪)has_table:检查分支/引用中是否存在特定表delete_table:从特定分支中删除表import_data:将数据从S3位置导入到现有表中(返回job_id进行跟踪)revert_table:使用可选替换将表从源引用还原到目标分支
项目管理
project_run:从指定目录运行Bauplan项目,并参考可配置参数(干运行、超时、分离模式)code_run:从作为字典提供的代码文件运行Bauplan项目(对无法提交路径的客户端很有用),自动创建临时目录并验证项目结构
作业管理
list_jobs:列出Bauplan系统中的作业,并对所有用户进行可选筛选get_job:通过特定作业的ID获取其详细信息cancel_job:按ID取消正在运行的作业并获取更新的作业状态
用户管理
get_user_info:获取当前已验证用户的信息(用户名和全名)
说明和指导
get_instructions:获取特定Bauplan用例(管道、数据、修复、wap、测试、sdk)的详细说明
______________________________________________________________________
许可证
根据所附的MIT许可证,该项目不提供任何保证。
