spoofzy
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@spoofzy Spoof ~/Desktop/post.jpg and strip its GPS and camera metadata"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Spoofzy for Claude: MCP server and skill
Spoof images and videos with Spoofzy from Claude Code, Claude Desktop or any other Model Context Protocol client. Ask Claude for unique versions of your photos and clips, strip hidden metadata, or run your saved Spoofzy Cloud workflows. Results land next to your originals.
You: Make 5 unique versions of every video in ~/Reels/drop-12, keep the captions readable.
Claude: That's 4 videos × 5 versions with the minimal look, included in your plan. Results go to
~/Reels/drop-12/spoofzy-output. Go ahead?
You: yes
Claude: Done: 20 files saved in ~/Reels/drop-12/spoofzy-output (beach-spoofzy-01.mp4 … sunset-spoofzy-05.mp4).Spoof: make 1, 5, 10, 20, 30, 40 or 50 unique versions per file with the classic, subtle, stronger or minimal (text- and layout-preserving) look, plus optional mirror, 1080p/4K export, watermark and border.
Clean metadata: remove GPS location, device details and capture dates from photos and videos.
Workflows: run saved Spoofzy Cloud workflows (for example Caption → Spoof ×5) on local files or saved originals.
One file, no dependencies:
spoofzy_mcp.pyneeds only Python 3.9 or later.
1. Get a Spoofzy API key
Use either key, or both:
Key | Where | Best for |
Spoofzy Cloud API key ( | Spoofzy Cloud → Developers → Create API key | Everything: spoofing on your plan, Studio looks, Metadata Cleaner, workflows |
Prepaid Spoofer API key ( |
| Prepaid spoofing units for automations |
For a Cloud key, tick Read jobs and results and Upload and run processing. Add Read workflows and history and Run saved workflows to use workflows, and Read saved originals and voices to list your library.
Keep keys out of chats, prompts and repositories. The steps below store them outside the conversation.
Related MCP server: image-generator-mcp
2. Install
Claude Code (plugin: MCP server + skill)
In Claude Code:
/plugin marketplace add spoofzy/video-image-spoofer-mcp
/plugin install spoofzy@spoofzyOr from a terminal:
claude plugin marketplace add spoofzy/video-image-spoofer-mcpclaude plugin install spoofzy@spoofzyThen save your key (step 3) and restart Claude Code. The skill is available as /spoofzy:spoof, and Claude also
uses it automatically when you ask to spoof media.
Claude Code (MCP server only)
curl -fsSLo ~/spoofzy_mcp.py https://raw.githubusercontent.com/spoofzy/video-image-spoofer-mcp/main/spoofzy_mcp.pyclaude mcp add spoofzy --scope user --env SPOOFZY_WAIT_SECONDS=600 -- python3 ~/spoofzy_mcp.pyClaude Desktop
Download spoofzy-<version>.mcpb from Releases and open it. Claude
Desktop asks for your key and stores it in the system keychain. Python 3.9+ must be installed. macOS includes it
with the Xcode Command Line Tools.
Or add it by hand to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"spoofzy": {
"command": "python3",
"args": ["/absolute/path/to/spoofzy_mcp.py"]
}
}
}Other MCP clients (Cursor, VS Code, Codex, Windsurf, …)
Any client that runs stdio servers works. With uv installed, no download is needed:
{
"mcpServers": {
"spoofzy": {
"command": "uvx",
"args": ["--from", "git+https://github.com/spoofzy/video-image-spoofer-mcp", "spoofzy-mcp"]
}
}
}Without uv, use "command": "python3" and the path to spoofzy_mcp.py, as in the Claude Desktop example.
3. Save your key
Run setup once in a terminal. It asks for your key(s) without echoing them and saves them to
~/.config/spoofzy/credentials.json (%APPDATA%\spoofzy on Windows), readable only by you. Every install on the
machine uses that file.
python3 ~/spoofzy_mcp.py setupPlugin users can run setup from any copy of the script (the curl command above downloads one) or with
uvx --from git+https://github.com/spoofzy/video-image-spoofer-mcp spoofzy-mcp setup. You can also set environment variables
instead: SPOOFZY_CLOUD_API_KEY and/or SPOOFZY_API_KEY. Check everything with:
python3 ~/spoofzy_mcp.py doctorUsing it
Just ask:
"Spoof ~/Desktop/post.jpg"
"Make 10 versions of ~/Videos/clip.mov, mirrored, exported at 1080p"
"Make 5 versions of everything in ~/Reels/new with the minimal look"
"Remove the location and camera info from ~/Pictures/IMG_2041.HEIC"
"Run my 'Caption + Spoof' workflow on ~/Videos/hook.mp4"
"Is my Spoofzy run done yet?"
Claude checks your plan with spoofzy_account, confirms what will run and what it costs, then saves the results as
<name>-spoofzy-01.<ext>, -02, … in a spoofzy-output folder next to each file. Existing files are never
overwritten. Long videos keep processing after Claude's call returns and are saved automatically when ready, or on
request with spoofzy_get_run.
Tools
Tool | What it does |
| Connection, plan, available tools, costs, limits and prepaid units |
| Make unique versions of local images/videos (files or folders, up to 20 per call) |
| Strip GPS, device and date metadata (Cloud) |
| Check a run, optionally waiting for it |
| Save the results of any finished run |
| Recent runs from this session and Spoofzy Cloud |
| Saved Spoofzy Cloud workflows |
| Run a saved workflow on local files, a saved original or a script |
| Originals saved in your Spoofzy library |
Option details and per-plan limits: skills/spoof/reference.md.
Command line
The same file is a small CLI:
python3 spoofzy_mcp.py spoof ~/Videos/clip.mp4 --versions 5 --look minimalpython3 spoofzy_mcp.py clean ~/Pictures/*.jpg --keep-datespython3 spoofzy_mcp.py status RUN_ID --downloadConfiguration
Variable | Default | Purpose |
| from | Spoofzy Cloud key ( |
| from | Prepaid Spoofer API key ( |
| next to each file | Save every result in this folder instead |
|
|
|
|
| How long a call waits before returning. The Claude Code plugin uses 600; keep 50 for clients that time out calls after 60 seconds |
|
| Where |
Privacy and safety
Reads only what you name. Only the image and video files (or folders) passed to a tool are read. Each file's signature is checked, so text files, keys, documents and other non-media files cannot be uploaded even if named.
Talks only to Spoofzy. Files go to your own Spoofzy account over HTTPS. API keys go only to the Spoofzy API, never to storage links. Redirects are not followed for API calls, and plain-HTTP links are refused.
Writes only results. Files are saved only in the output folder and never overwrite an existing file.
No telemetry. The server collects nothing. Spoofzy processes your files under its Terms and Privacy Policy and keeps results for a limited time.
Spending is explicit. Runs use your plan's allowance. The skill has Claude confirm files, versions and cost first, and
request_idmakes retries safe from double charges.
Only process media you own or are authorized to use. Spoofzy does not guarantee how any platform treats an upload.
Found a security issue? See SECURITY.md.
Troubleshooting
Problem | Fix |
"Spoofzy is not connected yet" | Run |
HTTP 401 | The key is mistyped, expired (Cloud keys last up to 90 days) or revoked. Create a new one |
| Create a Cloud key with the permissions listed in step 1 |
"TLS certificate verification failed" | python.org Python on macOS: run Install Certificates.command, or set |
"Permission denied" on macOS | Allow the app (for example Claude) under System Settings → Privacy & Security → Files and Folders |
| Install Python from python.org and use |
Calls time out in your client | Lower |
How it works
spoofzy_mcp.py is a single-file stdio MCP server. It supports both the stateless 2026-07-28 protocol revision
(server/discover, per-request _meta) and the initialize-based 2024-11-05 to 2025-11-25 revisions. It talks to:
the Spoofzy Cloud Developer API at
https://cloud.spoofzy.com/developer/v1:capabilities,uploads,jobs,chains,automations,mastersthe prepaid Spoofer API at
https://api.spoofzy.com/api/v1:spoofer/account,spoofer/uploads,spoofer/jobs,spoofer/batches(OpenAPI)
Each file is uploaded once to a short-lived signed storage link. A job, many-version job, Studio run, workflow run or prepaid batch is then started with a stable idempotency key. The server polls within Spoofzy's rate limit (45 requests per minute per account) and downloads the results.
Development
python3 -m unittest discover -s tests -vpython3 scripts/build_mcpb.pyThe tests drive the real server over stdio against an in-process fake of both Spoofzy APIs
(tests/fake_spoofzy.py), with no network or account needed. The build script writes the
Claude Desktop bundle to dist/. Bump the version in spoofzy_mcp.py, manifest.json, pyproject.toml and both
.claude-plugin files together. The build script checks they match.
Repository layout:
spoofzy_mcp.py MCP server + CLI (the whole runtime)
skills/spoof/ Claude skill: SKILL.md and reference.md
.claude-plugin/ Claude Code plugin (with its MCP server config) + marketplace
manifest.json, assets/ Claude Desktop extension (MCPB)
scripts/build_mcpb.py Builds dist/spoofzy-<version>.mcpb
tests/ Unit and end-to-end testsLicense
MIT. The license covers the code, not the Spoofzy name or logo.
Available Tools
9 toolsspoofzy_accountSpoofzy account and limitsARead-onlyIdempotent
Check the Spoofzy connection: which keys are configured, the plan, which tools are available (Spoofer, many versions, Studio looks, Metadata Cleaner, workflows), what they cost, file limits, prepaid units and where results are saved. Call it first in a conversation and whenever a run is refused. Free and read-only.
Inputs: no named parameters.
spoofzy_clean_metadataStrip photo and video metadataA
Remove hidden metadata (GPS location, device and camera details, capture dates) from local photos or videos with Spoofzy's Metadata Cleaner (needs a Spoofzy Cloud key). Saves cleaned copies as -clean-NN. in a spoofzy-output folder next to each source (or output_dir); originals are never modified. Uses the account's allowance: confirm first.
Inputs: file, files, download, output_dir, +5 more.
spoofzy_downloadDownload Spoofzy resultsA
Save the results of a finished Spoofzy run into a local folder (never overwrites files). Use it for runs started with download=false, in the Spoofzy Cloud app, by a workflow or in an earlier session. Result links expire after a few days, so download promptly.
Inputs: run_id (required), output_dir, workflow_id, wait_seconds.
spoofzy_get_runCheck a Spoofzy runARead-onlyIdempotent
Check a Spoofzy run by id: status, how many results are ready and which files were saved. Can wait for it to finish (wait_seconds). Runs started in this session are saved automatically when they finish; use spoofzy_download for other runs. Read-only.
Inputs: run_id (required), workflow_id, wait_seconds.
spoofzy_list_runsRecent Spoofzy runsARead-onlyIdempotent
List recent Spoofzy runs: this session's runs (with their saved files) plus recent Spoofzy Cloud jobs and Studio runs. Read-only.
Inputs: limit.
spoofzy_list_saved_originalsSaved Spoofzy originalsARead-onlyIdempotent
List the originals saved in the user's private Spoofzy Cloud library (id, name, type), for use with spoofzy_run_workflow. Needs a Cloud key with 'Read saved originals and voices'. Read-only.
Inputs: no named parameters.
spoofzy_list_workflowsSaved Spoofzy workflowsARead-onlyIdempotent
List saved Spoofzy Cloud workflows (reusable step stacks such as Caption → Spoof ×5): id, current version, input type, steps and outputs per run. Needs a Cloud key with 'Read workflows and history'. Read-only.
Inputs: no named parameters.
spoofzy_run_workflowRun a Spoofzy workflowA
Run a saved Spoofzy Cloud workflow on local files, on a saved original from the Spoofzy library (saved_original_id) or on a script (text, for voice workflows), then save the results. Uses the account's allowance: confirm with the user first. Needs a Cloud key with 'Run saved workflows' (plus 'Read workflows and history' to find the current version).
Inputs: workflow_id (required), file, text, files, +6 more.
spoofzy_spoofSpoof images and videosA
Make unique versions of local images or videos with the Spoofzy Spoofer. Uploads each file to the user's Spoofzy account, processes it and saves the results as -spoofzy-NN. in a spoofzy-output folder next to the source (or output_dir). Spoofzy Cloud makes 1, 5, 10, 20, 30, 40 or 50 versions per file; the prepaid Spoofer API makes 1 (up to 300 with batch access, otherwise one job per version). This uses the account's allowance: confirm the files, versions and settings with the user first. Returns when done or after wait_seconds; unfinished runs keep going and can be checked with spoofzy_get_run.
Inputs: file, look, files, border, +9 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a distinct resource or action: account status, two media operations (spoof, clean_metadata), workflow operations, and run lifecycle (get_run, list_runs, download). The only mild overlaps are get_run vs list_runs (single run vs recent runs) and spoof vs run_workflow (both process files and save results), but the descriptions clearly frame workflows as reusable step stacks.
All names share the spoofzy_ prefix and mostly follow verb_noun (list_runs, get_run, run_workflow, clean_metadata, list_saved_originals). Minor deviations are spoofzy_spoof (verb only) and spoofzy_account (noun only), but the pattern remains predictable.
Nine tools is well within the ideal range and each earns its place: one capability check, two processing actions, two listing tools for saved inputs, and three run-management tools. Nothing feels redundant or padding the surface.
The surface covers the core lifecycle: start a run (spoof, clean_metadata, run_workflow), monitor it (get_run, list_runs), and retrieve outputs (download), plus discovery of saved originals and workflows. Gaps are minor but real: no cancel/delete run, no way to save an original into the library, and no tool to create or edit workflows.
Maintenance
Related MCP Connectors
Generate and edit images and create short videos inside Claude. Prepaid credits, no subscription.
Connect Claude or any MCP client to Wireflow, the AI canvas for image, video and audio workflows. List, build, inspect and run your workflows and published apps, browse templates, check models, prices and credits, edit a video node's timeline, and plan or schedule social posts. Drafts and edits cost no credits; run tools spend the user's credits.
Upload, generate, organize, search, and transform images, videos, and files with AI-powered tools.
Make any photo or video you can describe, right from Claude.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to generate and edit images using Google Gemini AI.-
- AlicenseAqualityCmaintenanceEnables Claude to generate and edit images using OpenAI's GPT Image models, with automatic model selection and local file saving.31MIT

docuprivadoofficial
AlicenseNot gradedqualityBmaintenanceEnables Claude Desktop to redact and count personal data in PDFs and images, strip hidden metadata from photos, anonymize Word and text files, prepare watermarked ID copies, and compare contract versions using only user-approved local folders. All processing runs offline on the user's computer, creating new copies instead of modifying or deleting the originals.Apache 2.0- AlicenseAqualityCmaintenanceEnables Claude to generate ByteDance Seedance videos and Seedream images through a BytePlus key, pricing every request in dollars before it is sent. It adds budget limits, ask-first approvals and whole-key spend tracking so costly generations cannot happen without consent.9MIT