
Image Puma
io.github.panth-net由 GitHub 账号 panth-net 发布v1.0.0更新于 Oct 25, 2026
Plan and run local batch image preparation with explicit confirmation before writing files.
概览
一个本地 MCP 服务器,让助手先规划再执行批量图片处理——压缩、缩放、清除元数据、生成缩略图和图标——文件只在本机处理。
- 可以做什么
- 规划批量图片任务:选择预设或自定义设置,预览接受的文件、所用设置和确切输出路径,确认前不写入磁盘。执行已确认的任务,完成压缩、缩放、清除元数据、生成缩略图,或生成 favicon 与应用图标包。查看可用预设和设置结构。运行内置诊断,检查 Node、Sharp、ExifTool 及允许文件夹是否可写。
- 适用场景
- 适合让助手为网页、邮件或项目准备本地图片,例如压缩素材、生成 favicon 或清理元数据,而无需把图片上传到外部服务。适合希望采用“先规划、再确认”流程并只授权特定文件夹的用户。
- 运行要求
- 以本地 stdio 进程运行,可通过 npx(需 Node 20.3.0 或更高版本)或 Claude Desktop 的一键 .mcpb 安装包(Apple Silicon macOS 或 Windows)。启动时必须用绝对路径传入一个或多个允许的图片文件夹,服务器只能在这些文件夹内读写。未声明需要账号、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Image Puma,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Image Puma
Local batch image preparation for the web via a desktop app or directly within your AI via MCP server. Image processing runs locally; Image Puma does not upload your images, require an account, or do any other nonsense. All local image processing.
[Image Puma brand illustration]
Use the App
Download the current Image Puma desktop installer from GitHub Releases:
- macOS (Apple Silicon): Image-Puma.dmg
- Windows: desktop installer coming soon — Windows is fully supported in Claude via the MCP server below, or build from source on a Windows machine with
npm install && npm run make(needs Python 3.11 and access to the gated RMBG-2.0 model for the background remover).
The desktop app and MCP server are independent components — install either one on its own, or both together, depending on your needs.
Our installers aren't code-signed. This is a free app, and we'd rather not pay Apple's $99/year developer fee just to make it a "real app" in the eyes of the OS. As a result:
-
macOS will block the app on first launch. To open it, right-click the app and select Open, or go to System Settings → Privacy & Security → General and click "Open Anyway."
-
Windows will show a SmartScreen warning. Click "More info," then "Run anyway" to proceed.
Use It in Claude
Claude Desktop (one-click)
One-click Claude Desktop install uses the .mcpb bundles from GitHub Releases.
- Download the file for your computer,
- open it in Claude Desktop,
- choose the image folders Image Puma may access when prompted,
- then restart Claude Desktop if it asks
Use the following links:
- Apple Silicon Mac: image-puma-mcp-darwin-arm64.mcpb
- Windows: image-puma-mcp-win32-x64.mcpb
The MCPB installer asks you to choose allowed image folders. Image Puma can only read from and write into those folders.
Add it to Claude Code
For coding sessions (optimizing project assets, generating favicons, prepping images for deploys), add the MCP server with one command:
--scope user makes Image Puma available in every repo and terminal on your machine; leave it off and it only loads in the folder you ran the command from. Swap the folders for whatever Image Puma should be allowed to touch — add a project folder to let it optimize the images in that repo, e.g. "compress every image in assets/ for the web".
Copy that "$(command -v npx)" part exactly — it expands to the full path of npx when you run it. Registering a bare npx looks fine and then fails to connect, because MCP servers are launched with a minimal PATH that doesn't include Node version managers like nvm, fnm, or Volta. See Node not found below.
Then start a new Claude Code session (new conversation in the VS Code extension, or a fresh claude in the terminal) — MCP servers and their commands are discovered at session start, so already-open sessions won't see it. Check it's connected any time with claude mcp list.
If you cloned this repo instead, point the command at your local build (absolute path):
Any other MCP client
Developer install with npx, using an absolute allowed folder path:
Use absolute paths everywhere in mcpServers JSON — for the allowed folders and for command. Run command -v npx in your terminal and paste whatever it prints in place of /usr/local/bin/npx. On native Windows, use "command": "cmd" with "/c" and "npx" as the first two args instead.
What it looks like in use
Once installed (any of the ways above), just ask Claude in plain language:
You: Compress the images in
~/Pictures/sitefor web uploadClaude: Here's the plan — 14 images accepted, converting to WebP, resized for web, metadata stripped. It lists the exact output paths so you can see nothing gets overwritten. Run it?
You: yes
Claude: Done — 14 of 14 succeeded, 41.8 MB in, 3.6 MB out.
Image Puma always plans first: you see which files it accepted, what settings apply, and where every output will be written — nothing touches disk until you confirm. And it can only see the folders you allowed during install.
Example prompts:
- Compress these images for web upload:
/Users/you/Pictures/site - Compress these images for email:
/Users/you/Desktop/photos - Strip metadata from these images:
/Users/you/Downloads - Make thumbnails from these images:
/Users/you/Pictures/products - Generate a favicon and app-icon bundle from
/Users/you/Projects/my-app/logo.pnginto/Users/you/Projects/my-app/public
The /image-puma command
Image Puma ships one slash command that tells Claude to handle whatever image job you describe with the Image Puma tools — plan first, confirm, then run:
In the Claude Code terminal, type /image-puma and the command menu finds it (its full name is /mcp__image-puma__image-puma). In Claude Desktop, the same prompt lives under the + menu in the chat input, listed under Image Puma.
For a bare /image-puma command that also works in the VS Code extension (whose command menu doesn't list MCP prompts), save this as ~/.claude/commands/image-puma.md:
New sessions then get /image-puma everywhere — terminal and VS Code — as long as the MCP server from "Add it to Claude Code" above is registered.
Quick favicon generation is available through image_puma_generate_favicon.
Troubleshooting
Node not found
claude mcp list shows Image Puma as failed, with ENOENT: Executable not found in $PATH: "npx" (or "node"):
Your MCP client launches servers with a minimal PATH that never sources ~/.zshrc or ~/.bashrc, so a Node installed through nvm, fnm, Volta, or asdf is invisible to it even though your terminal finds it fine. Fix it by re-registering with an absolute path:
Then start a new session and check claude mcp list again.
One catch if you use nvm: command -v npx resolves to a version-pinned path like ~/.nvm/versions/node/v24.13.1/bin/npx, which stops existing the next time you upgrade Node. Either re-run the two commands above after an upgrade, or point Image Puma at a Node that isn't managed by nvm (/opt/homebrew/bin/node or /usr/local/bin/node) so the path stays valid. Image Puma needs Node 20.3.0 or newer.
Claude Desktop users can skip all of this — the .mcpb bundle above ships with its own Node runtime.
Windows resolves npx image-puma to a local checkout
On Windows, running npx image-puma ... from inside a directory named image-puma (case-insensitively), such as a clone of this repository, can make npm resolve the package name to that local directory instead of the published package. If the checkout has not been built, the command fails with 'image-puma' is not recognized as an internal or external command.
Run the npx image-puma ... command from a different working directory. When developing from a clone, build it with npm run build:mcp and point the MCP server directly at the local dist/cli.js instead of invoking it through npx.
Anything else
Run the built-in check, which reports Node version, Sharp, ExifTool, and whether your allowed folders are actually writable:
Contribute
Image Puma is released as-is by Pantheon Network. We are not actively fixing bugs or reviewing pull requests. If you'd like to take over maintenance, contact us. Development setup, checks, and the build process are in CONTRIBUTING.md.
Support Matrix
Format and OS behavior is documented in docs/support-matrix.md. HEIC/HEIF uses Sharp first. macOS can fall back to ImageIO through sips. Windows and Linux fall back to the bundled libheif decoder when Sharp cannot decode HEVC.
来源:README.md,提交 0bbac67
工具
0版本历史
1- v1.0.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分