snapWONDERS Vaultify

Hosted snapWONDERS MCP: hide files in images, reveal hidden content, analyse media, convert formats

我該用這個嗎

品質與安全性

A
說明品質
95%
結構描述完整度
82%
命名品質
74%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(9)

  • LOWTool 'status' description lacks action verb在 status 中
  • LOWTool 'snapwonders_analyse_job_status' description lacks action verb在 snapwonders_analyse_job_status 中
  • LOWTool 'snapwonders_convert_job_status' description lacks action verb在 snapwonders_convert_job_status 中
  • LOWTool 'snapwonders_analyse_session_create' name length outside 3-30 range在 snapwonders_analyse_session_create 中
  • LOWTool 'snapwonders_analyse_session_files' name length outside 3-30 range在 snapwonders_analyse_session_files 中
  • LOWTool 'snapwonders_analyse_job_results' name length outside 3-30 range在 snapwonders_analyse_job_results 中
  • LOWTool 'snapwonders_convert_session_create' name length outside 3-30 range在 snapwonders_convert_session_create 中
  • LOWTool 'snapwonders_convert_session_files' name length outside 3-30 range在 snapwonders_convert_session_files 中
  • LOWTool 'snapwonders_convert_job_results' name length outside 3-30 range在 snapwonders_convert_job_results 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,228Token(工具定義)
~1.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.52%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "mcp": {
      "url": "https://snapwonders.com/mcp"
    }
  }
}

遠端端點

https://snapwonders.com/mcpstreamable-http

它能做什麼

工具清單

工具(19)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
⚪status

Returns the current health status of the Vaultify service. No API key required.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "upload_uid": {
      "type": "string",
      "description": "The upload_uid returned by snapwonders_convert_session_create"
    }
  },
  "required": [
    "upload_uid"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本19 個工具