3DP MCP服务器
MCP服务器,使Claude能够使用build123d创建3D可打印的CAD模型。输出STL/STEP文件,准备在Bambu Studio中切片。
也可作为 Claude代码插件 --安装后,所有33个工具都会自动可用。
作为插件安装(推荐)
添加市场并从Claude Code中安装插件:
/plugin marketplace add brs077/3dp-mcp-server
/plugin install 3dp-mcp-server@3dp-tools该插件将自动设置Python虚拟环境,并在首次使用时安装依赖项。需要Python 3.11+。
插件技能
安装后,Claude将获得六项代理技能:
- 设计模型 --使用build123d设计可3D打印的CAD模型
- 修改模型 --外壳、拆分、添加文本、组合、变换和生成二维图形
- 参数化组件 --创建外壳、齿轮、卡扣配合、铰链、燕尾榫和标签
- 机械零件 --创建螺纹、紧固件、轴承、链轮、法兰、管道、OpenBuilds零件
- 打印准备 --分析印刷适性,建议方向,估算长丝/成本,包装模板
- 发布模型 --发布到GitHub Release、Thingiverse、MyMiniFactory、Cults3D或搜索模型
手动设置(替代)
git clone https://github.com/randypitcherii/3dp-mcp-server.git
cd 3dp-mcp-server
make install作为Claude代码插件
claude plugin add /path/to/3dp-mcp-server插件通过以下方式自动注册MCP服务器 .mcp.json.
手动MCP注册
claude mcp add 3dp-mcp-server -- uv run --directory /path/to/3dp-mcp-server threedp-mcp工具(40)
核心
| 工具 | 说明 |
|---|---|
create_model | 执行build123d代码,自动导出STL+STEP |
export_model | 导出到STL、STEP或3MF |
measure_model | 边界框、体积、面数/边数 |
analyze_printability | 水密性检查、薄壁检测、构建体积匹配 |
list_models | 列出当前会话中的所有模型 |
get_model_code | 检索用于创建模型的代码 |
转换和组合
| 工具 | 说明 |
|---|---|
transform_model | 缩放、旋转、镜像或平移模型 |
combine_models | 布尔并集、相减或相交两个模型 |
import_model | 从磁盘导入STL或STEP文件 |
修改
| 工具 | 说明 |
|---|---|
shell_model | 用可选的开放面镂空模型 |
split_model | 沿平面分割模型 |
add_text | 在模型面上浮雕或缩进文本 |
create_threaded_hole | 添加螺纹或热定型插入孔(M2-M10) |
分析与导出
| 工具 | 说明 |
|---|---|
estimate_print | 估算灯丝使用量、重量和成本 |
analyze_overhangs | 找到需要支撑材料的悬垂面 |
suggest_orientation | 建议最佳打印方向 |
section_view | 将二维横截面生成为SVG |
export_drawing | SVG格式的多视图二维技术图 |
split_model_by_color | 拆分为单独的STL进行多色打印 |
效用
| 工具 | 说明 |
|---|---|
shrinkage_compensation | 缩放模型以补偿材料收缩 |
pack_models | 在模板上排列模型以进行批量打印 |
convert_format | STL、STEP、3MF、BREP之间的转换 |
参数化组件
| 工具 | 说明 |
|---|---|
create_enclosure | 带按扣/螺丝盖的电子外壳和功能 |
create_gear | 渐开线正齿轮(通过bd_warehouse) |
create_snap_fit | 悬臂式卡扣接头 |
create_hinge | 两件式销铰链组件 |
create_dovetail | 公或母燕尾接头 |
generate_label | 带有文本和可选二维码的3D打印标签 |
机械零件(bd_warehouse)
| 工具 | 说明 |
|---|---|
create_thread | ISO公制、ACME、公制梯形或塑料瓶螺纹 |
create_fastener | 螺钉、螺母、垫圈、热定型嵌件(14种) |
create_bearing | 滚珠轴承、滚柱轴承(5种) |
create_sprocket | ANSI链条的链轮 |
create_flange | ASME B16.5管法兰(5种) |
create_pipe | 管道/管段 |
create_openbuilds_part | V型槽导轨、C型梁导轨、丝杠 |
社区
| 工具 | 说明 |
|---|---|
search_models | 在Thingiverse中搜索3D模型 |
出版
| 工具 | 说明 |
|---|---|
publish_github_release | 将STL/STEP上传到GitHub版本(通过 gh CLI或API) |
publish_thingiverse | 创建一个东西并将STL上传到Thingiverse |
publish_myminifactory | 创建对象并将STL上传到MyMiniFactory |
publish_cults3d | 通过GraphQL API在Cults3D上创建列表 |
发展
make install # Install dependencies
make test # Run unit tests
make test-integration # Run all tests (requires build123d)
make lint # Check code style
make format # Auto-format code
make verify # Lint + test
make run # Start the MCP server
make clean # Remove build artifacts需求
- Python 3.11+
- 紫外线 包管理器
- macOS(在Apple Silicon上测试)或Windows 11
- Claude 代码命令行工具
项目结构
src/threedp_mcp/
├── server.py # Thin entrypoint — FastMCP init + tool registration
├── constants.py # Material properties, ISO thread table
├── helpers.py # Shared utilities (shape conversion, code execution, etc.)
└── tools/
├── core.py # create, export, measure, analyze, list, get_code
├── transform.py # transform, combine, import
├── modification.py # shell, split, add_text, threaded_hole
├── analysis.py # estimate, overhangs, orientation, section, drawing, color_split
├── utility.py # shrinkage, pack, convert
├── components.py # enclosure, gear, snap_fit, hinge, dovetail, label
├── mechanical.py # threads, fasteners, bearings, sprockets, flanges, pipes, openbuilds
├── community.py # search_models
└── publishing.py # github, thingiverse, myminifactory, cults3d卸载
插件
/plugin uninstall 3dp-mcp-server@3dp-tools手动安装
macOS:
claude mcp remove 3dp-mcp-server -s user
rm -rf 3dp-mcp-server窗户:
claude mcp remove 3dp-mcp-server -s user
Remove-Item -Recurse -Force 3dp-mcp-server许可证
该项目已获得许可 CC BY-NC-ND 4.0。您可以亲自使用它并与他人分享,但不允许将修改后的版本用于商业用途和重新分发。
对合作或商业许可感兴趣? 打开一个问题 取得联系。
