snapWONDERS Vaultify
Hosted snapWONDERS MCP: hide files in images, reveal hidden content, analyse media, convert formats
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (9)
- LOWin status
- LOWin snapwonders_analyse_job_status
- LOWin snapwonders_convert_job_status
- LOWin snapwonders_analyse_session_create
- LOWin snapwonders_analyse_session_files
- LOWin snapwonders_analyse_job_results
- LOWin snapwonders_convert_session_create
- LOWin snapwonders_convert_session_files
- LOWin snapwonders_convert_job_results
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mcp": {
"url": "https://snapwonders.com/mcp"
}
}
}Remote-Endpunkte
https://snapwonders.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (19)
⚪status
Returns the current health status of the Vaultify service. No API key required.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟢vaultify_get_started
Introduction to snapWONDERS Vaultify steganography: what it does, how AES-256 + Argon2id + LSB embedding works, a pre-computed sample hide result showing the exact response schema, and guidance on creating a free account and API key to start using the API. No API key required — call this first to understand the Vaultify workflow.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟢snapwonders_get_started
Introduction to snapWONDERS forensic analysis and media conversion: what each service does, pre-computed sample analyse and convert results showing the exact response schemas, and guidance on creating a free account and API key. No API key required — call this first to understand the snapWONDERS analyse and convert workflows.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟡vaultify_session_create(type)
Creates an upload session for hide (conceal a file inside a cover image/video) or reveal (extract hidden content from a stego image/video) processing. Returns the upload_uid and upload instructions. Upload each file with a single POST /api/upload carrying the file as the request body (hide needs X-Upload-Step 1 for the secret and 2 for the cover); its response reports ready_for_job_start, so no separate verification call is needed. Direct upload accepts files up to max_upload_bytes (returned in this response, currently 95 MB); anything larger must use the resumable TUS endpoint at /api/tus. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"hide",
"reveal"
],
"description": "hide: conceal content inside a cover image or video; reveal: extract hidden content from a stego image or video"
}
},
"required": [
"type"
]
}🟢vaultify_session_files(upload_uid)
Lists all files currently uploaded for a stego session. Check that all files show status "completed" before calling vaultify_job_start. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by vaultify_session_create"
}
},
"required": [
"upload_uid"
]
}🟡vaultify_job_start(upload_uid, password, expiry, output_format, packing_strategy, ...)
Submits options and queues a hide or reveal job for a session whose files have all been uploaded. Hide jobs support the full set of encoding options; reveal jobs only use upload_uid, password, and expiry. The call is idempotent. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by vaultify_session_create"
},
"password": {
"type": "string",
"description": "Encryption password. Required for hide and reveal. At least 8 characters with mixed case, a digit, and a symbol."
},
"expiry": {
"type": "string",
"enum": [
"1h",
"12h",
"1d",
"2d",
"1w",
"1m"
],
"description": "How long the result download link remains accessible after the job completes. Free-tier keys are silently clamped to upload.free_max_expiry (default 1d); Pro accounts get the requested value."
},
"output_format": {
"type": "string",
"enum": [
"avif",
"heic",
"jp2",
"jxl",
"png",
"webp"
],
"description": "Hide only. Image format for stego output. All formats are lossless. Default: avif."
},
"packing_strategy": {
"type": "string",
"enum": [
"spread",
"tight",
"quality"
],
"description": "Hide only. How secrets are distributed across covers. spread: alter each cover as little as possible (default). tight: pack multiple secrets per cover. quality: preserve visual quality above all else."
},
"scale_secret_to_fit": {
"type": "boolean",
"description": "Hide only. Auto-reduce secret size when it is too large to fit in its cover — images are resized, videos are compressed further. Set false to fail instead. Default: true."
},
"strip_cover_metadata": {
"type": "boolean",
"description": "Hide only. Remove EXIF, GPS, and all embedded metadata from the stego output cover. Default: false."
},
"strip_secret_metadata": {
"type": "boolean",
"description": "Hide only. Remove EXIF, GPS, and embedded metadata from secret files before hiding. Reduces payload size. Default: false."
},
"video_output_format": {
"type": "string",
"enum": [
"ffv1_mkv",
"huffyuv_avi",
"lagarith_avi",
"magicyuv_avi",
"prores4444_mov",
"prores4444xq_mov",
"av1lossless_mkv"
],
"description": "Hide only, video covers. Lossless codec and container for stego video output. Default: ffv1_mkv."
},
"secret_video_crf": {
"type": "integer",
"minimum": 18,
"maximum": 40,
"description": "Hide only, video secrets. Compression quality for secret videos (lower = better quality, larger payload). Default: 28."
},
"secret_video_codec": {
"type": "string",
"enum": [
"h264",
"h265"
],
"description": "Hide only, video secrets. Codec for compressing secret videos. h265 gives ~40% smaller payloads. Default: h265."
},
"vault_profile_id": {
"type": "integer",
"description": "Pro accounts only, hide jobs only. ID of a Vault Profile to use as an additional key factor. Vault profiles are created and managed at /vault in the web UI. Returns error code -32002 on free accounts."
}
},
"required": [
"upload_uid",
"password",
"expiry"
]
}⚪vaultify_job_status(upload_uid)
Returns the current status and progress of a hide/reveal processing job. Poll until status is "completed" or "failed". Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by vaultify_session_create"
}
},
"required": [
"upload_uid"
]
}🟢vaultify_job_results(upload_uid)
Returns download info for all result files once a hide/reveal job is complete. result_files is empty while the job is still processing — poll vaultify_job_status first. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by vaultify_session_create"
}
},
"required": [
"upload_uid"
]
}🟡snapwonders_analyse_session_create
Creates an upload session for forensic media analysis. Returns the upload_uid and upload instructions. Upload each file with a single POST /api/upload carrying the file as the request body; its response reports ready_for_job_start, so no separate verification call is needed before snapwonders_analyse_job_start. Direct upload accepts files up to max_upload_bytes (returned in this response, currently 95 MB); anything larger must use the resumable TUS endpoint at /api/tus. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟢snapwonders_analyse_session_files(upload_uid)
Lists all files uploaded to an analyse session. Verify all files show status "completed" before calling snapwonders_analyse_job_start. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_analyse_session_create"
}
},
"required": [
"upload_uid"
]
}🟡snapwonders_analyse_job_start(upload_uid, face_detection, text_detection, face_sensitivity, forensic_depth, ...)
Submits analysis options and queues a forensic analysis job. Returns upload_uid and job_uid. The call is idempotent. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_analyse_session_create"
},
"face_detection": {
"type": "boolean",
"description": "Enable YuNet face detection. Default: true."
},
"text_detection": {
"type": "boolean",
"description": "Enable OCR / text region detection. Default: true."
},
"face_sensitivity": {
"type": "string",
"enum": [
"standard",
"thorough"
],
"description": "standard: confidence threshold 0.5 (fewer false positives). thorough: threshold 0.2 (catches more faces). Default: standard."
},
"forensic_depth": {
"type": "string",
"enum": [
"standard",
"deep"
],
"description": "standard: core forensic checks. deep: extended checks (reserved, currently identical to standard). Default: standard."
},
"expiry": {
"type": "string",
"enum": [
"1h",
"12h",
"1d",
"2d",
"1w",
"1m"
],
"description": "How long the analysis result remains accessible after the job completes. Default: 1d. Free-tier keys are silently clamped to upload.free_max_expiry (default 1d); Pro accounts get the requested value."
}
},
"required": [
"upload_uid"
]
}⚪snapwonders_analyse_job_status(upload_uid)
Returns the current status and per-item progress of an analysis job. Poll until status is "completed", "partial", or "failed". Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_analyse_session_create"
}
},
"required": [
"upload_uid"
]
}⚪snapwonders_analyse_job_results(upload_uid)
Returns per-item forensic analysis results including overall_grade (A–F; the Authenticity grade — edited, generated or re-encoded), exposure_grade (A–F; what the file gives away — privacy and hidden data), face_count, text_region_count, and watermark_flagged. Returns job_uid which can be passed to snapwonders_analyse_result for the clean summary. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_analyse_session_create"
}
},
"required": [
"upload_uid"
]
}⚪snapwonders_analyse_result(job_uid)
Returns clean forensic result JSON by job_uid — file names, grades (A–F), detection counts, and analysis asset IDs (face overlays, ELA maps, etc.). The job_uid is returned by snapwonders_analyse_job_start and snapwonders_analyse_job_results. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"job_uid": {
"type": "string",
"description": "The job_uid returned by snapwonders_analyse_job_start or snapwonders_analyse_job_results"
}
},
"required": [
"job_uid"
]
}🟡snapwonders_convert_session_create
Creates an upload session for media conversion (images and videos). Returns the upload_uid and upload instructions. Upload each file with a single POST /api/upload carrying the file as the request body; its response reports ready_for_job_start, then call snapwonders_convert_job_start. Direct upload accepts files up to max_upload_bytes (returned in this response, currently 95 MB); anything larger must use the resumable TUS endpoint at /api/tus. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟢snapwonders_convert_session_files(upload_uid)
Lists all files uploaded to a convert session. Verify all files show status "completed" before calling snapwonders_convert_job_start. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_convert_session_create"
}
},
"required": [
"upload_uid"
]
}⚪snapwonders_convert_job_start(upload_uid, image_format, video_format, image_quality, video_crf, ...)
Submits conversion options and queues a media conversion job. Images and videos in the session are converted to the specified format. The call is idempotent. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_convert_session_create"
},
"image_format": {
"type": "string",
"enum": [
"jpeg",
"png",
"webp",
"avif",
"heic",
"jxl"
],
"description": "Output format for image files. Default: jpeg."
},
"video_format": {
"type": "string",
"enum": [
"mp4h264",
"mp4h265",
"webm",
"mkv",
"mov"
],
"description": "Output format for video files. Default: mp4h264."
},
"image_quality": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "JPEG/WebP output quality 1–100. Default: 85."
},
"video_crf": {
"type": "integer",
"minimum": 0,
"maximum": 51,
"description": "Video CRF value 0–51 (lower = better quality). Default: 23."
},
"video_max_dimension": {
"type": "integer",
"enum": [
480,
720,
1080
],
"description": "Cap video resolution to this height in pixels. Omit for original resolution."
},
"strip_metadata": {
"type": "boolean",
"description": "Strip EXIF/GPS/encoder metadata from output files. Default: false."
},
"image_resize_width": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "Resize images to fit within this bounding-box width in pixels. Longest-edge fit, aspect preserved, no upscaling."
},
"image_resize_height": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "Resize images to fit within this bounding-box height in pixels. Longest-edge fit, aspect preserved, no upscaling."
},
"pdf_dpi": {
"type": "integer",
"minimum": 72,
"maximum": 300,
"description": "PDF only. Render resolution in DPI. Default: 150."
},
"pdf_page_from": {
"type": "integer",
"minimum": 1,
"description": "PDF only. First page to render, 1-based. Default: 1."
},
"pdf_page_to": {
"type": "integer",
"minimum": 0,
"description": "PDF only. Last page to render, 1-based. 0 means all pages. Default: 0."
},
"expiry": {
"type": "string",
"enum": [
"1h",
"12h",
"1d",
"2d",
"1w",
"1m"
],
"description": "How long the converted files remain accessible after the job completes. Default: 1d. Free-tier keys are silently clamped to upload.free_max_expiry (default 1d); Pro accounts get the requested value."
}
},
"required": [
"upload_uid"
]
}⚪snapwonders_convert_job_status(upload_uid)
Returns the current status and per-item progress of a conversion job. Poll until status is "completed", "partial", or "failed". Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_convert_session_create"
}
},
"required": [
"upload_uid"
]
}🟢snapwonders_convert_job_results(upload_uid)
Returns per-item conversion results with asset_id for each output file. Use the asset_id with GET /api/convert/download/{assetId} and the same X-Api-Key to download each file. Requires X-Api-Key header.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_uid": {
"type": "string",
"description": "The upload_uid returned by snapwonders_convert_session_create"
}
},
"required": [
"upload_uid"
]
}Community
Nachweis