卡维拉视力
Carvera CNC的MCP服务器——让Claude Desktop和Claude Code关注 您的机器和零件的3D理解。
状态: MVP/早期阿尔法。完全在Windows上运行。macOS和Linux 支持包括在内,但测试较少——欢迎PR。
它做什么
两种功能,五种工具:
| 工具 | 它做什么 |
|---|---|
view_makera_window | 将MakeraCam/Cavera窗口捕获为图像——Claude看到您当前的CAM设置 |
list_windows | 列出所有打开的窗口——如果自动检测失败,请使用此选项 |
capture_region | 按像素坐标捕获任意屏幕区域——放大任何面板 |
analyze_step_file | 解析STEP文件:边界框、面资源清册、坐标系、最小刀具半径 |
query_tools | 查询Carvera工具库——按最小半径、材质和操作进行筛选 |
示例提示:
- *“显示我的MakeraCam屏幕上的内容,并检查WCS是否正确”*
- *“分析此STEP文件,告诉我铝需要什么库存”*
- *“我需要什么最小的立铣刀来实现这部分的内部功能?”*
- *“看看我的提要面板——放大右下角”*
- *“我有什么软木粗加工工具?”*
进化故事
这个项目源于 fusion360摄像头助手, 其最初是Fusion 360插件扩展。构建实心屏幕后 视觉和实现最有用的几何数据——边界框、面 类型、最小刀具半径——可以从普通STEP文件完全访问 该项目已经超越了对Fusion 360的依赖。
卡维拉视觉与工具无关。 任何CAD工具中的STEP文件都可以工作 同样的方式。您不需要打开Fusion 360或安装任何加载项。
支持的CAD源
任何导出STEP的内容:
- Fusion 360 --文件→ 出口→ 步骤AP214
- 可塑性 --文件→ 出口→ STEP
- Shapr3D --出口→ STEP
- 任何下载
.step/.stp文件 来自GrabCAD、McMaster、Makera等。
需求
- Python 3.11+
- 紫外线 (推荐)
- 克劳德桌面或克劳德代码
- MakeraCam或Carvera桌面应用程序(用于窗口捕获工具)
- 仅限Linux:
wmctrl用于窗口检测(sudo apt install wmctrl)
快速安装
git clone https://github.com/3DCreationsByChad/carvera-vision
cd carvera-vision
uv sync添加到您的Claude桌面配置(%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"carvera-vision": {
"command": "uv",
"args": [
"run",
"--project",
"C:\\path\\to\\carvera-vision",
"carvera-vision"
]
}
}
}克劳德代码:
claude mcp add carvera-vision -- uv run --project /path/to/carvera-vision carvera-vision重新启动克劳德桌面。这五个工具将自动显示。
工具详解
view_makera_window
自动检测并捕获MakeraCam/Cavera窗口。
示例提示:
- *“显示MakeraCam屏幕上的内容”*
- *“查看我的Carvera设置并检查原点位置”*
- *“当前加载了什么刀具路径策略?”*
| 参数 | 默认值 | 说明 |
|---|---|---|
scale | 1.0 | 调整因子-在4K显示器上使用0.5以减少令牌使用 |
______________________________________________________________________
list_windows
列出当前打开的所有窗口标题。如果满足以下条件,请先运行此程序 view_makera_window 找不到窗口——它会准确地显示要添加哪个标题作为别名。
______________________________________________________________________
capture_region
按像素坐标捕获任意屏幕区域。
示例提示:
- *“放大坐标1200、400、600x300处的进给和速度面板”*
- *“在我的第二个监视器上捕获工具库区域”*
| 参数 | 必填 | 说明 |
|---|---|---|
left | 是 | 屏幕像素的左边缘 |
top | 是 | 屏幕像素的顶部边缘 |
width | yes | 宽度(像素) |
height | yes | 高度(像素) |
scale | 否 | 调整大小因子(默认值1.0) |
______________________________________________________________________
analyze_step_file
解析STEP文件,不依赖于任何CAD内核。
示例提示:
- *“分析/下载/括号.step并告诉我我需要什么股票”*
- *“这个零件的最小刀具半径是多少?”*
- *“分析STEP文件,并为铝袋提供工具建议”*
输出示例:
{
"part_name": "bracket",
"units": "mm",
"bounding_box": {
"size": {"x": 75.5, "y": 40.0, "z": 12.0}
},
"dimensions_summary": "75.50 x 40.00 x 12.00 mm",
"face_inventory": {
"plane": 12, "cylindrical_surface": 4, "total": 16
},
"min_internal_radius": 3.175,
"recommended_tools": [...]
}| 参数 | 默认值 | 说明 |
|---|---|---|
file_path | 必需 | 绝对路径 .step 或 .stp 文件 |
verbose | false | 包括原始实体类型计数 |
______________________________________________________________________
query_tools
使用可选过滤器查询Carvera工具库。
示例提示:
- *“对于半径\<=3mm的铝,我有什么工具?”*
- *“给我看看软木粗轧立铣刀”*
- *“图书馆里有什么演习?”*
| 参数 | 说明 |
|---|---|
min_radius | 最大刀具半径(mm)--从 analyze_step_file |
material | aluminum, wood, plastic, copper, brass, pcb, steel |
operation | roughing, finishing, drilling, engraving, profiling, pocketing |
故障排除
view_makera_window 找不到窗户
- 确保MakeraCam或Carvera已打开且未最小化
- 跑
list_windows查看所有可见的窗口标题 - 如果标题不匹配,请向添加子字符串
MAKERA_WINDOW_ALIASES
在 src/carvera_vision/window_capture.py
macOS:屏幕录制权限 将屏幕录制权限授予您的终端或Claude Desktop 系统设置→ 隐私和安全→ 屏幕录制。
Linux:wmctrl未找到
sudo apt install wmctrl # Debian/Ubuntu
sudo dnf install wmctrl # Fedoraanalyze_step_file 返回意外的边界框
- 检查
units字段--某些导出器默认为英寸 - 使用
verbose=true查看实体计数——非常低的计数表明
仅曲面或网格导出,而不是实体B-rep
query_tools 未返回任何结果
- 检查一下
tools/carvera/*.csv文件存在 - 尝试放松滤镜(删除
operation,尝试不同的material)
服务器无法启动
uv run carvera-vision
# or
uv run python -c "from carvera_vision.server import main; main()"路线图
- \[x\] 5个MCP工具:窗口捕获+STEP分析+工具库
- \[x\] 跨平台窗口检测(Windows/macOS/Linux)
- \[x\] 轻量级STEP解析器(无OpenCASCADE)
- \[\]STEP袋/孔分类(深度、直径、类型)
- \[\]MakeraCam
.maka项目文件读取 - \[\]拍摄前自动对焦窗口(放在前面)
- \[\]Windows安装程序/一键安装
学分
启发该项目架构的原始MCP集成
- Makera --Carvera工具库CSV导出
- Carvera社区 --刀具配置文件和进给/速度验证
许可证
麻省理工学院
