snapWONDERS MCP (local)
Local snapWONDERS MCP: hide, reveal, analyse and convert files on your own machine
- 01Stars
- 0
- 02Version
- 0.1.2
- 03License
- Other
- 04Review
- Passed
- Language
- Python
- Last commit
- 6d ago
- Forks
- 0
- Open issues
- 0
- Registry update
- Oct 15, 2026
Connect
pypi$claude mcp add mcp-local \ -e SNAPWONDERS_API_KEY=<snapwonders-api-key> \ -- uvx snapwonders-mcp==0.1.2
Environment variables
SNAPWONDERS_API_KEYrequiredsecretYour snapWONDERS API key (see https://snapwonders.com/developers)
Security review
Review passedReviewed 1h ago.
- metadata
- scanned
- packages
- 1 checked
No findings.
Tools
This server runs on your machine, so its tool list is not fetched before install — the README below describes what it offers.
snapWONDERS — Expose what's hidden. Hide what's yours.
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:
uvx snapwonders-mcp
Or install it properly:
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:
{
"mcpServers": {
"snapwonders": {
"command": "uvx",
"args": ["snapwonders-mcp"],
"env": { "SNAPWONDERS_API_KEY": "sw_your_key_here" }
}
}
}
Claude Code
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):
{
"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
| Tool | What it does |
|---|---|
analyse_file | Forensic analysis of a local image or video — A–F grade, metadata exposure, manipulation evidence, hidden content. Optional face detection and OCR. |
hide_file | Conceal a file inside a cover image or video, and save the result to disk. |
reveal_file | Extract content hidden in an image or video, and save it to disk. |
convert_file | Convert 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_fileare 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.
From the server's repository — third-party content, read it before running anything it suggests.
More in Productivity
Toggl 2.0
io.github.toggl
Toggl 2.0 MCP server for tasks, projects, time entries, and workspace operations.
PDFForge
io.github.ouchi-dev
Local PDF toolkit: read, edit, OCR, redact, fill forms, compare, convert, bank statements to Excel
document-scanner
io.github.GuardBee
Finds PII and credentials in PDFs, screenshots and scanned documents
agent-skill-loader
io.github.back1ply
Dynamically load Claude Code skills into AI agents without copying files.
PDF To Text
io.github.Jim-Panse
Extracts PDF text locally, with macOS PDFKit and Vision OCR fallbacks and optional AI retry.
AsItIs
io.github.Katta041
Read-only MCP server for markdown and agent steering files: read, outline, lint, context budget.
Listing from the official MCP Registry · repository facts from GitHub, 1h ago.