MCP server for image-to-design workflow automation
Project description
gauss-mcp
基于 uv 管理的 Python MCP server,用于把本地图片导入为方案,并通过 job 协议提供可轮询的进度与结果。
当前 MVP 范围
- 输入本地图片路径
- 上传图片
- 判断普通图/全景图
- 普通图转全景图
- 可选清家具
- 全景图转点云
- 空间调整
- 导入方案
- 返回 design link
核心设计
- 普通 tool 调用保持短切片,不等待整条 job 结束
- 对外主流程暴露 7 个 job tools:
gauss_start_image_jobgauss_update_job_inputsgauss_wait_current_stagegauss_poll_jobgauss_get_jobgauss_resume_jobgauss_list_jobs
gauss_wait_current_stage是默认等待手段:服务端内部执行poll + wait,只等待“当前阶段结束”或一个timeout_sec切片,默认 60 秒;超时返回status=in_progressgauss_poll_job保留给 debug 或细粒度观察,不再要求 agent 自己 Bashsleep- 对于用户未提前给出的阶段参数,可以在
gauss_start_image_job时显式传null,等进入对应阶段前再通过gauss_update_job_inputs补齐 clear_furniture只在pano_clear阶段生效,level_height_mm只在gauss_import阶段生效- 通过阶段事件与阶段摘要给 skill 提供进度展示依据,而不是 fake percent
- 紧凑
job返回会在已有可展示全景图时携带pano_url,供 skill 直接展示图片反馈 - Claude Code skill 不会在任务一开始统一追问参数;只有在
pano_clear/gauss_import开始前才会询问对应设置 - 长耗时阶段按 15-30 秒节奏推进;同步 wait tool 会复用阶段轮询间隔,减少 transcript 噪音
gauss_import完成后会立即产出design_url,用户可以先打开方案预览;gauss_show_info继续补齐splat_url/drc_url- job 状态落盘到
IMAGE_TO_DESIGN_JOB_STATE_DIR,支持中断后继续查询或恢复
阶段顺序
uploadimage_typeimg2panopano_clearpano2pointcloudspatial_tunegauss_importgauss_show_info
开发
uv sync --dev
uv run pytest
uv run ruff check src tests
运行 MCP Server
uv run gauss-mcp
本地 smoke test
默认使用同步 wait tool:
uv run python scripts/e2e_image_to_plan.py /absolute/path/to/image.png
可选参数:
uv run python scripts/e2e_image_to_plan.py /absolute/path/to/image.png \
--floor-plan-name demo-plan \
--level-height-mm 2800 \
--no-clear-furniture \
--wait-timeout-sec 60
如需切回细粒度 poll 调试:
uv run python scripts/e2e_image_to_plan.py /absolute/path/to/image.png --mode poll
Claude Code Skill
Skill 位于:
.claude/skills/gauss-image-to-plan/SKILL.md
它基于 gauss_* job tools 做阶段式编排:
- 启动新任务时可先把未知的
clear_furniture/level_height_mm置为null,不阻塞上传与前置处理 - 当
job.current_stage == pano_clear且job.clear_furniture == null时,再询问是否清家具,并调用gauss_update_job_inputs - 当
job.current_stage == gauss_import且job.level_height_mm == null时,再询问层高,并调用gauss_update_job_inputs - 主路径优先使用
gauss_wait_current_stage,不再要求 agent 自己 Bashsleep - 长耗时阶段默认按 60 秒切片同步等待,减少 transcript 噪音
- 如果
next_poll_after_sec=null,说明当前阶段在等用户补齐输入,不继续自动 wait job.pano_url首次可用时,会在对话里展示全景图反馈gauss_import完成后先返回可预览的design_urlgauss_show_info继续补齐splat_url/drc_urlgauss_poll_job只保留给 debug 或细粒度观察
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
image_to_design_mcp-0.1.5.tar.gz
(18.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file image_to_design_mcp-0.1.5.tar.gz.
File metadata
- Download URL: image_to_design_mcp-0.1.5.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb3d067268541de7beef22f7354ea0bde4ab57996b2af55c8a94095cd0418c8c
|
|
| MD5 |
2d909037bd21b0cde09117d230f41359
|
|
| BLAKE2b-256 |
f98a10a96e588e674a4a4074f73eb44dea9fc869b1b900227b3933fe897c1a9b
|
File details
Details for the file image_to_design_mcp-0.1.5-py3-none-any.whl.
File metadata
- Download URL: image_to_design_mcp-0.1.5-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92829e8299bdc83cc4e3a792aa09d24046179220c0af86b86b8624900a13ba95
|
|
| MD5 |
a4c9eba64b672b455caadd7b519940c0
|
|
| BLAKE2b-256 |
1892d1942a8d7a3203473da1bb39fa652d13f33d7ef688056012b571823c7e3c
|