MeshMend
io.github.Keith-CY由 GitHub 账号 Keith-CY 发布v0.1.0更新于 Oct 30, 2026
Check and repair STL and 3MF meshes on your own computer: holes, flipped faces, inside-out shells.
概览
本地 MCP 服务器,让助手在你自己的电脑上检查并修复 STL 与 3MF 网格,报告孔洞、翻转面片和内外翻转的壳体。
- 可以做什么
- 检查网格文件,报告尺寸、三角面与壳体数量、各类缺陷及数量,并给出自动修复是否有效的判断
- 修复网格:删除重复面和零面积面、统一面片绕向、把内外翻转的壳体翻正,并可按需封补平面孔洞
- 把 3MF 文件转换为以毫米为单位的二进制 STL,应用构建变换与单位
- 以可读文本和结构化 JSON 返回结果,并在原文件旁写出修复或转换后的副本而不覆盖原件
- 适用场景
- 适合处理 3D 打印文件时使用:让助手说明切片软件为何拒绝某个模型、自动修复是否可能奏效,或从 STL、3MF 文件生成清理后的 STL 副本。
- 运行要求
- 以本地 stdio 进程运行;需要 Node.js 18+(npx),从 GitHub 源码安装时还需 git,或使用 Claude Desktop 的一键安装包。不需要账号、API 密钥或网络访问。请向助手提供绝对文件路径。
安装
在 SourceWeft 中
- 打开 控制台中的 MeshMend,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
MeshMend — MCP server
English · 中文
Check and repair 3D-printing meshes (STL and 3MF) from an AI assistant that can run tools on your computer: Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Codex CLI, Gemini CLI or any other MCP client that starts local servers.
Ask “is ~/prints/bracket.stl watertight?”, “why does my slicer say this model has holes?” or “把这个 3MF 转成 STL”: the assistant reads the file on your machine, tells you exactly what is wrong (holes, flipped faces, inside-out shells, non-manifold edges, duplicate triangles), says honestly whether an automatic repair will fix it, and writes a repaired copy next to the original.
Your files never leave your computer. The server runs locally, reads and writes only the files you name, makes no network requests and has no telemetry. The original file is never overwritten. It is the same mesh code as the free in-browser tool at mesh-mend.pages.dev.
Status: version 0.1.0, on npm as
meshmend-mcp:npx -y meshmend-mcp(needs Node.js 18+).npx -y github:Keith-CY/meshmend-mcp(also needs git) runs the same build, and Claude Desktop users can install the one-click bundle from Releases.
Tools
Every result comes as readable text and as structured JSON (structuredContent, with an outputSchema). check_mesh is marked read-only; the other two only create new files (destructiveHint: false).
Where results go: next to the input, as <name>.repaired.stl (or <name>.stl for a conversion), then -2, -3, … rather than replacing anything. With output_path, an existing file is replaced only with overwrite: true, and the input file can never be the output.
Connect it
Claude Desktop
One click: download meshmend-mcp-0.1.0.mcpb from Releases and open it (or Settings → Extensions → Advanced settings → Install extension…). Claude Desktop runs it with its built-in Node.js.
Or by hand: Settings → Developer → Edit config and add to claude_desktop_config.json:
Claude Code
Cursor
~/.cursor/mcp.json (or .cursor/mcp.json in a project):
VS Code (GitHub Copilot)
.vscode/mcp.json:
Windsurf
~/.codeium/windsurf/mcp_config.json: the same mcpServers block as Cursor.
Codex CLI
~/.codex/config.toml:
Gemini CLI
~/.gemini/settings.json:
Any other client
Any MCP client that starts local (stdio) servers can run npx -y github:Keith-CY/meshmend-mcp, or node /path/to/meshmend-mcp/dist/meshmend-mcp.js from a checkout (the file has no dependencies). Ready-made files are in examples/clients/.
Give the assistant absolute paths (~ is expanded). Relative paths are resolved from the server’s working directory, which in desktop apps is often not your project folder.
Real files, before and after
From this repository’s tests and a local run (npm test repeats all but the bunny and the sphere):
What it fixes, and what it doesn’t
It fixes:
- duplicate faces and zero-area (degenerate) faces;
- inconsistent face winding (flipped normals) across ordinary shared edges;
- closed shells that are inside out, when they don’t overlap other shells;
- with
fill_holes: true: simple flat holes (3–128 boundary vertices) whose bounding-box diagonal is withinmax_hole_span_mm.
It does not:
- weld nearby vertices (only exactly equal coordinates are joined), so it can’t close seams between surfaces;
- split non-manifold edges or vertices, remesh, or rebuild a solid;
- repair self-intersections, union overlapping parts, or check wall thickness, overhangs or supports;
- cap curved holes, nested openings or holes wider than the span;
- guarantee that a model prints. Open the result in your slicer.
Because some openings are intentional, hole filling is off unless asked for. check_mesh runs the repair in memory first, so its verdict says whether repair_mesh will actually help before anything is written.
Limits: 30 MiB per file and 250,000 triangles (the same as the website). 3MF: the primary build, components, transforms, production-extension part references and units; ZIP64, unsupported required extensions, mixed units across parts and G-code-only packages are refused with an explanation. Colours, materials and print settings are not carried into STL.
Privacy
MeshMend’s MCP server works only on your computer. It reads the files you or your assistant name and writes new STL files; it sends nothing anywhere, has no analytics or telemetry, and keeps no logs. Your AI assistant sees the tool results (counts, sizes, file paths and messages) like any other tool output, under that assistant’s own privacy terms.
Development
src/core/ is MeshMend’s mesh code, copied unchanged from the website so both give the same answers. dist/meshmend-mcp.js is a single bundled file (committed, so npx github: needs no build step); NOTICE lists the bundled packages and their licences.
Licence
MIT. The three trimesh test files are MIT-licensed by their authors (details).
The in-browser version, with a 3D preview and before/after comparison: mesh-mend.pages.dev.
来源:README.md,提交 c0df49a
工具
0版本历史
1- v0.1.0最新Oct 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分