snapWONDERS MCP (local)

com.snapwonders由 snapwonders.com 发布v0.1.3更新于 Oct 29, 2026

Local snapWONDERS MCP: hide, reveal, analyse and convert files on your own machine

发布方自己的服务:snapWONDERS Vaultify

概览

AI 生成的概览

本地 MCP 服务器,让助手通过 snapWONDERS 在本机对图片和视频做取证分析、格式转换、隐藏文件与提取隐藏内容。

可以做什么
  • 对本地图片或视频做取证分析:A–F 评级、元数据暴露(GPS、设备指纹、编码器特征)、篡改痕迹、隐藏内容,可选人脸检测与 OCR
  • 把文件隐藏进封面图片或视频,并将结果保存到磁盘
  • 用口令从图片或视频中提取隐藏内容并写入磁盘
  • 在 jpeg、png、webp、avif、heic、jxl 等图片格式与 mp4h264、mp4h265、webm、mkv、mov 等视频格式之间转换
适用场景
适合要处理的文件就在自己电脑上、而客户端没有终端可供助手操作的情况,此时远程服务器无法访问这些文件。每个工具一次完成整个任务,并把输出写回本地磁盘。
运行要求
以 Python 包形式通过 stdio 在本机运行(uvx 或 pip install snapwonders-mcp),仅支持桌面客户端。需要 snapWONDERS API 密钥,放在 SNAPWONDERS_API_KEY 环境变量中,来自已通过邮箱验证的免费账户。处理时文件会上传到 snapwonders.com,因此需要 HTTPS 网络访问。
安装前请注意
指定的文件会被上传到 snapWONDERS 处理,任何可读路径都可能被发送,包括敏感文件;批准工具调用前请核对路径。API 密钥只放在环境变量中,但 hide_file 与 reveal_file 的口令作为工具参数传入,可能出现在模型上下文、客户端日志和对话记录中。隐藏口令不会被保存也无法重置,丢失后隐藏的文件无法恢复。工具会向磁盘写入文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 snapWONDERS MCP (local),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[snapWONDERS MCP Server]

snapWONDERS — Expose what's hidden. Hide what's yours.

[snapWONDERS MCP server on Glama] [snapWONDERS Vaultify MCP connector – tool definition quality and endpoint health on Glama]

snapWONDERS MCP

A local MCP server that lets an AI assistant work on files on your own machine — hide a file inside a photo, reveal hidden content, run forensic analysis, or convert between formats.

Claude Desktop ──stdio──▶ snapwonders-mcp ──HTTPS──▶ snapwonders.com/api   (your machine)          (your machine)

Why this exists

snapWONDERS already has a remote MCP server at https://snapwonders.com/mcp, and for orchestration it works well. But it runs on our servers — so it cannot see your files, and MCP tool calls carry JSON rather than bytes. An assistant with a photo on your desktop could create a session and then have nowhere to put the file.

This server runs where your files are. You give it a path, it reads the file locally and uploads it over HTTPS alongside the conversation. That is the whole difference, and it is what makes snapWONDERS usable from Claude Desktop, which has no terminal for an assistant to fall back on.

Results come back the same way: a hide, reveal or convert writes the output to your disk and tells the assistant where it landed — not an asset id you would need a separate HTTP client to redeem.

Install

You need an API key from https://snapwonders.com/profile/api-keys (free account, and the address must be verified — an unverified account's keys are always rejected).

Nothing to install ahead of time if your client can run uvx:

bash
uvx snapwonders-mcp

Or install it properly:

bash
pip install snapwonders-mcp

Configure your client

Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS:

json
{  "mcpServers": {    "snapwonders": {      "command": "uvx",      "args": ["snapwonders-mcp"],      "env": { "SNAPWONDERS_API_KEY": "sw_your_key_here" }    }  }}

Claude Code

bash
claude mcp add snapwonders --env SNAPWONDERS_API_KEY=sw_your_key_here -- uvx snapwonders-mcp

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

json
{  "mcpServers": {    "snapwonders": {      "command": "uvx",      "args": ["snapwonders-mcp"],      "env": { "SNAPWONDERS_API_KEY": "sw_your_key_here" }    }  }}

The key is read from the environment, never taken as a tool argument — so it does not pass through the model's context, where it would end up in transcripts and logs.

Passwords are different, and you should know it. hide_file and reveal_file take the passphrase as a tool argument, because only the user can supply it and it changes per call. That means it does pass through the model's context and may appear in client logs and transcripts. There is no way around that in an assistant-driven flow — but the care taken with the API key does not extend to the passphrase, so treat anything you hide through an assistant accordingly.

This server can upload any file you can read. That is the point of it — an assistant asks for a path and the file is sent to snapWONDERS for processing. It also means a request like "analyse ~/.ssh/id_rsa" would do exactly that, and an assistant following instructions from a web page or document it has read could try to use it that way. Your MCP client's tool-approval prompt is the real gate: read the path in the tool call before approving it.

Tools

ToolWhat it does
analyse_fileForensic analysis of a local image or video — A–F grade, metadata exposure, manipulation evidence, hidden content. Optional face detection and OCR.
hide_fileConceal a file inside a cover image or video, and save the result to disk.
reveal_fileExtract content hidden in an image or video, and save it to disk.
convert_fileConvert an image or video to another format, and save the output to disk.

Four tools, each a whole task. The REST API underneath is a session → upload → job → poll → results sequence; exposed one call per step, a model has to carry five-step state and will sometimes get it wrong. The orchestration lives here in Python instead, where it is deterministic.

Passwords for hide_file are not recoverable. They are never stored, and there is no reset. Be sure the user knows the passphrase before hiding something with it.

When you would use the remote server instead

https://snapwonders.com/mcp needs no install and is right when the files are already somewhere the server can reach, or when you only want session and job orchestration. Use this local server when the files are on the user's machine — which, for a desktop assistant, is almost always.

Which upload it uses

Whichever fits, and you never choose: the Python SDK sends anything under the server-reported cap (currently 95 MB) as a single direct upload, and falls back to the resumable TUS protocol above it.

Why snapWONDERS exists

This project started with my son, Huey.

Huey lost his eyesight and was legally blind from the age of four. Years ago, in the car, while we were working on Hueyify together, he insisted the idea could be applied to digital media: stories embedded inside a photo, so that people with vision impairments could get the personal context, the memory and the feeling behind it. Hidden from everyone else. Only for the person it was meant for.

He was excited at the thought of it. I'll admit the technical difficulty put me off, and I was vocal about it. The look of disappointment kept returning to me, because to Huey it all made sense. We lost Huey at sixteen. I could never let go of that conversation.

snapWONDERS came first, to understand what digital media actually contains and who can see it. Vaultify came after, and it is the closest thing I've built to what Huey described. As of September 2026, snapWONDERS and Vaultify have processed more than six million media jobs.

The full story is at https://vaultify.snapwonders.com/our-story

May peace be with you,
Kenneth Springer

Licence

MIT — see LICENSE. The licence covers this server only; the snapWONDERS API it calls is proprietary.

来源:README.md,提交 2f558dc

工具

4

analyse_file

Run forensic analysis on a local image or video and return the per-file verdicts. Reports the A–F grade, what the metadata reveals (GPS, device fingerprint, encoder signatures), manipulation evidence, and any hidden content detected. **A null verdict means no answer, not a negative one.** Fields such as ``steganography_suspected`` come back ``null`` when that check produced no result — because it was skipped, or could not run on this file. Do not report a file as clean, unmodified or free of hidden content on the strength of a null; say the check did not return a verdict. Args: file_path: Path to a file on this machine. ``~`` and relative paths are fine. face_detection: Locate faces and return a count. On by default, matching the API. text_detection: Run OCR and return detected text. On by default, matching the API.

输入参数file_path必填face_detectiontext_detection

hide_file

Hide a file inside a cover image or video, and save the result to disk. The output looks like an ordinary photo or video. Recovering the hidden file needs this exact password — it is not stored anywhere and cannot be reset, so make sure the user knows what it is before running this. Args: secret_path: The file to conceal. cover_path: The image or video that will carry it. password: Passphrase required to reveal it later. output_dir: Where to write the result. Defaults to alongside the cover file.

输入参数password必填cover_path必填output_dirsecret_path必填

reveal_file

Extract content hidden inside an image or video, and save it to disk. Args: stego_path: The file believed to contain hidden content. password: The passphrase it was hidden with. output_dir: Where to write what is recovered. Defaults to alongside the input.

输入参数password必填output_dirstego_path必填

convert_file

Convert a local image or video to another format, and save the output to disk. Args: file_path: The file to convert. output_format: Target format. Images: ``jpeg``, ``png``, ``webp``, ``avif``, ``heic``, ``jxl``. Videos: ``mp4h264``, ``mp4h265``, ``webm``, ``mkv``, ``mov``. output_dir: Where to write the converted file. Defaults to alongside the input.

输入参数file_path必填output_diroutput_format必填

版本历史

2
  1. v0.1.3最新Oct 22, 2026
  2. v0.1.2Oct 15, 2026

评分

已满足适用检查项的 80%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Snapwonders 集成