Watermark & Resize Studio MCP Server
This is a local-first MCP server (powered by sharp/libvips) that lets AI assistants resize, watermark, and privacy-sanitize images entirely offline.
resize_for_platform— resize, convert, and optimize images using industry presets (Shopify 2048x2048, Etsy 2000x2000, Instagram Square/Portrait/Story, YouTube Thumbnail, Facebook Post, Pinterest Pin) or custom width/height, withcover/contain/fill/inside/outsidefit modes and WebP/JPEG/PNG output at a chosen quality.apply_watermark— protect images with text or logo watermarks, with 6-point positioning (including tiled/repeating patterns), adjustable opacity, hex color, font size, margin, and optional drop-shadow styling.strip_photo_metadata— remove EXIF, GPS geolocation, IPTC, and camera/tracking metadata for privacy compliance before publishing, with optional format conversion.Runs 100% locally — zero cloud uploads, no external APIs, so no bandwidth costs, latency, or data leaving the machine.
Provides Etsy-specific image resizing presets (2000x2000) and optimization for product listings.
Provides Facebook post image resizing presets for social media sharing.
Provides Instagram-specific image resizing presets (square, portrait, story) for social media posts.
Provides Pinterest pin image resizing presets for social media sharing.
Provides Shopify-specific image resizing presets (2048x2048) and optimization for product images.
Provides YouTube thumbnail resizing presets for video content.
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., "@Watermark & Resize Studio MCP ServerResize /photos/product.jpg for Instagram and strip all GPS 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.
Watermark & Resize Studio MCP Server 🖼️⚡
An ultra-fast, local-first Model Context Protocol (MCP) server providing AI assistants (Claude Desktop, Cursor, Antigravity, Cline) with native capabilities to resize, watermark, and sanitize images for e-commerce, social media, and privacy compliance.
Official open-source MCP server powered by Watermark & Resize Studio.
🌟 Key Features
⚡ 100% Local Processing: All operations run locally via
sharp(libvips C++ engine). Zero cloud uploads, zero external API latency, zero bandwidth costs.🛍️ E-Commerce & Platform Presets: Instant batch-ready resizing for Shopify (2048x2048), Etsy (2000x2000), Instagram Square/Story/Portrait, YouTube Thumbnails, Facebook, and Pinterest.
🛡️ Copyright & Watermark Protection: Dynamic text and logo compositing with SVG drop shadows, 6-point positioning, opacity control, and repeating tiled patterns for asset protection.
🖼️ 1200x630 OpenGraph Social Cards: Generate viral Twitter/LinkedIn/OG preview cards with modern gradient themes (
dark-violet,ocean-blue,sunset,cyber-emerald), auto text-wrapping, brand pills, and background photo/logo overlays.🎯 Favicon & PWA Icon Pack: Generate multi-resolution
favicon.ico(16x16, 32x32, 48x48), Apple Touch icon (180x180), Android Chrome icons (192x192, 512x512),site.webmanifest, and copy-paste HTML tags from a single logo.🔒 Privacy EXIF / GPS Stripper: Completely removes GPS geolocation coordinates, camera serial numbers, and creator metadata before public publishing.
🚀 WebP & MozJPEG Compression: Reduces file sizes by 85–95% while maintaining crisp visual fidelity.
Related MCP server: Image Analysis MCP Server
🚀 Quick Setup (Claude Desktop & Cursor)
Because watermark-studio-mcp is published on the official npm registry, setup takes 10 seconds with zero build steps.
1. Claude Desktop
Add to your Claude configuration file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"watermark-studio": {
"command": "npx",
"args": ["-y", "watermark-studio-mcp"]
}
}
}2. Cursor AI
Add to .cursor/mcp.json in your workspace:
{
"mcpServers": {
"watermark-studio": {
"command": "npx",
"args": ["-y", "watermark-studio-mcp"]
}
}
}3. Verified on Glama
Explore schemas, interactive docs, and test calls on Glama.ai Directory (A-Grade Verified).
🛠️ Included Tools
1. resize_for_platform
Resize, convert format (WebP, MozJPEG, PNG), and optimize images with standard platform presets or custom dimensions.
Parameter | Type | Required | Description |
|
| Yes | Absolute or relative path to the image file. |
|
| No | Preset: |
|
| No | Custom width in pixels (overrides preset). |
|
| No | Custom height in pixels (overrides preset). |
|
| No |
|
|
| No |
|
|
| No | Quality level from 1 to 100 (Default: |
|
| No | Custom destination path (Defaults to |
2. apply_watermark
Apply copyright text or brand logo watermarks to an image to prevent unauthorized reuse or web scraping.
Parameter | Type | Required | Description |
|
| Yes | Path to the source image file. |
|
| No* | Text watermark (e.g., |
|
| No* | Path to logo PNG/SVG to overlay. |
|
| No |
|
|
| No | Watermark opacity between |
|
| No | Text font size in pixels (auto-scales if omitted). |
|
| No | Hex color code (Default: |
|
| No | Border margin in pixels (Default: |
|
| No | Custom destination path. |
*At least one of text or logo_path must be provided.
3. strip_photo_metadata
Sanitize photos by wiping EXIF tags, GPS geo-coordinates, camera serials, and XMP edit history.
Parameter | Type | Required | Description |
|
| Yes | Path to the image file to sanitize. |
|
| No | Custom destination path (Defaults to |
|
| No |
|
4. batch_process_folder
Bulk process an entire directory of photos in parallel: resize with platform presets (Shopify, Etsy, Instagram), convert formats, apply watermarks, and strip metadata in a single automated command.
Parameter | Type | Required | Description |
|
| Yes | Path to folder containing image files to process. |
|
| No | Target folder (Defaults to |
|
| No | Preset: |
|
| No |
|
|
| No | Quality level from 1 to 100 (Default: |
|
| No | Optional brand text to watermark onto every photo. |
|
| No |
|
|
| No | Parallel worker concurrency (Default: |
5. generate_social_card
Generate professional 1200x630 OpenGraph and Twitter preview cards with modern gradients, bold typography, brand pill badges, and optional background photo or logo overlays.
Parameter | Type | Required | Description |
|
| Yes | Headline text for the social card (e.g., blog post title or product update). |
|
| No | Supporting subheader or descriptive tagline. |
|
| No | Brand/category text for top pill badge (Default: |
|
| No | Gradient scheme: |
|
| No | Path to brand logo PNG/SVG to overlay in top-right. |
|
| No | Path to background photo (automatically blurred with dark contrast mask). |
|
| No |
|
|
| No | Compression quality from 1 to 100 (Default: |
|
| No | Custom destination path (Defaults to |
6. generate_favicon_ico_pack
Generate a complete production-grade favicon and web application icon suite from a single master logo image, including multi-resolution favicon.ico, Apple Touch icons, Android PWA Chrome icons, site.webmanifest, and copy-paste <head> HTML tags.
Parameter | Type | Required | Description |
|
| Yes | Path to the master logo/icon image (PNG, SVG, JPG, WebP). |
|
| No | Destination directory for favicon files (Defaults to |
|
| No | App name for |
|
| No | Short name for mobile app icon (Defaults to |
|
| No | Theme color hex code for browser chrome (Default: |
|
| No | Background color hex code for splash screen (Default: |
|
| No | Padding percent (0-30) inside frame to prevent edge clipping (Default: |
💻 Running from Local Source (Development)
To run directly from a local clone of this repository instead of npm:
{
"mcpServers": {
"watermark-studio": {
"command": "node",
"args": [
"C:/path/to/watermark-studio-mcp/src/index.js"
]
}
}
}🧪 Testing
Run the included automated verification test suite:
npm testThis verifies:
Preset image resizing (Shopify, Instagram, YouTube HD) with WebP compression.
Text, logo, and tiled watermark compositing with SVG drop shadows.
EXIF, GPS, and IPTC privacy sanitization.
Parallel multi-core batch processing of entire image folders.
1200x630 OpenGraph social card generation with gradient themes and brand badges.
Multi-resolution
favicon.ico, Apple Touch, Android PWA icon pack, andsite.webmanifestgeneration.Live JSON-RPC protocol compliance over
stdio.
🌐 Ecosystem & Web Studio
Looking for a visual web app with real-time live preview canvas, batch drag-and-drop, and zero-server client-side processing?
Visit Watermark & Resize Studio.
Trust Center: watermarkresizestudio.com/trust/
Privacy Architecture: watermarkresizestudio.com/privacy/
Image Optimization Guides: watermarkresizestudio.com/guides/
E-Commerce Use Cases: watermarkresizestudio.com/use-cases/shopify.html
💼 Commercial Licensing & Pro Web Studio
While watermark-studio-mcp is 100% free and open-source under the MIT license for personal and developer workflows, businesses and content teams looking for visual batch processing can unlock the full Web Studio Pro Lifetime License:
Unlimited Batch Processing: No 3-image batch limit.
Logo & Transparent Watermarking: Overlay PNG brand logos and angled copyright patterns.
EXIF & Privacy Sanitization: Strip GPS coordinates and camera metadata before publishing.
4K Ultra-Res Output: Export up to 4K resolution with sequential file renaming.
Zero Recurring Fees: One-time payment of $28.99 with lifetime updates.
👉 Get Pro Lifetime License ($28.99) (Secured by Lemon Squeezy, Merchant of Record)
Agentic Commerce: Automated AI shopping agents can inspect our machine-readable catalog at /.well-known/ucp.json.
📄 License
Available Tools
3 toolsapply_watermarkB
Protect product photos, artwork, and marketing images by applying a text or logo watermark with customizable placement, opacity, and styling.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text to render as watermark (e.g., "© 2026 MyBrand", "PROMO COPY", "SAMPLE"). | |
| color | No | Color of text watermark in hex (e.g., "#ffffff", "#000000"). Default: #ffffff. | #ffffff |
| margin | No | Padding in pixels from the border edge. Default: 35. | |
| opacity | No | Watermark opacity level between 0.05 (very subtle) and 1.0 (fully opaque). Default is 0.6. | |
| position | No | Watermark position: bottom-right (default), bottom-left, top-right, top-left, center, or tile (repeats diagonally). | bottom-right |
| font_size | No | Font size in pixels for text watermark. Default auto-scales to image dimensions. | |
| logo_path | No | Path to a PNG or transparent logo image to overlay as watermark. | |
| image_path | Yes | Absolute or relative path to the image to watermark. | |
| output_path | No | Optional destination file path. If omitted, saves as [name]-watermarked.[ext]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It states that a watermark is applied, but does not disclose whether the original image is modified, what happens when both text and logo_path are supplied, what image formats are supported, or how output files are handled. Key behavioral details beyond the schema are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, and it front-loads the purpose before mentioning customizations. It is appropriately short for a well-schematized tool, though the phrase 'and styling' is slightly vague relative to the rich parameter set.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters, no annotations, and no output schema, this high-level description is not sufficient for an agent to fully understand call behavior. It does not explain critical interaction rules such as whether text and logo can be combined, whether tile mode requires special handling, or what side effects occur on the filesystem.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does add a high-level gloss by mentioning text or logo watermarks and customizable placement, opacity, and styling, but it does not provide deeper meaning or clarify ambiguous parameter interactions beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb-resource structure: 'Protect product photos, artwork, and marketing images by applying a text or logo watermark.' This unambiguously distinguishes it from siblings strip_photo_metadata and resize_for_platform, which serve different purposes. The scope of the operation is immediately apparent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when an image needs protection via a watermark, and the sibling tools have obviously different functions. However, it never explicitly states when to use this tool versus alternatives, nor does it mention any exclusions or conditions where one of the sibling tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resize_for_platformB
Resize, format, and optimize images with industry presets for Shopify (2048x2048), Etsy (2000x2000), Instagram Square/Story/Portrait, YouTube Thumbnail, Facebook, Pinterest, or custom dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | Resize fit method. Defaults to inside for e-commerce, cover for social media. | |
| width | No | Custom target width in pixels (optional, overrides preset width if given). | |
| format | No | Output image format. Defaults to webp for maximum compression and web speed. | webp |
| height | No | Custom target height in pixels (optional, overrides preset height if given). | |
| quality | No | Image quality level (1 to 100). Default is 85. | |
| platform | No | Platform preset: shopify (2048x2048), etsy (2000x2000), instagram_square (1080x1080), instagram_portrait (1080x1350), instagram_story (1080x1920), youtube_thumb (1280x720), facebook_post (1200x630), pinterest_pin (1000x1500), or custom. | shopify |
| image_path | Yes | Absolute or relative path to the source image file (JPG, PNG, WebP, etc.). | |
| output_path | No | Optional destination file path. If omitted, saves in the same directory with descriptive name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It does not mention whether the original file is modified, where the output is saved (the schema does this), how 'optimize' affects quality, or any other side effects. This leaves the agent uncertain about the tool's runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, reasonably sized sentence that front-loads the primary action and then lists platform presets. It has no filler, but it is a dense run-on list rather than a structured summary, slightly reducing readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no annotations and no output schema, the description is a high-level summary. It covers the main purpose but lacks behavioral details, prerequisite information, and enough context to fully predict tool behavior. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats the preset dimensions already present in the platform parameter description and adds no new semantics for parameters like fit, quality, or output_path. It barely supplements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states a specific action ('Resize, format, and optimize') and a precise resource (images with industry presets for named platforms with dimensions). This clearly differentiates it from sibling tools like strip_photo_metadata and apply_watermark, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for resizing images to platform-specific dimensions, but it does not explicitly state when to use this tool over siblings or provide any exclusions. The context is clear, yet no alternatives or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strip_photo_metadataA
Privacy sanitization tool: Safely remove EXIF camera info, GPS geolocation, IPTC, and sensitive tracking tags from images before publishing or sharing.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output image format. Defaults to same as original. | same |
| image_path | Yes | Path to the image to sanitize and strip metadata from. | |
| output_path | No | Optional destination file path. If omitted, saves as [name]-clean.[ext]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does state what metadata categories are removed and frames the operation as safe, but it does not clarify whether the original file is modified in place or a new file is produced; only the schema's output_path description implies a copy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the tool's purpose and lists the key behaviors without filler. Every word contributes to understanding what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers all parameters, including the default output naming behavior, and the description supplies enough context for a straightforward sanitization tool. Minor gaps remain around file overwrite behavior and return values, but these are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented in the schema itself. The tool description adds no additional parameter-level meaning beyond the schema, justifying the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('remove') and resource ('EXIF camera info, GPS geolocation, IPTC, and sensitive tracking tags') with a clear privacy goal. It is readily distinguishable from sibling tools like resize_for_platform and apply_watermark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before publishing or sharing' gives clear context for when this tool is appropriate. It does not explicitly mention alternatives or exclusion cases, but the intended use case is clear enough for an agent to select it over the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
apply_watermark - First observed
resize_for_platform - First observed
strip_photo_metadata
TDQS
Scored across 3 tools
Each tool addresses a completely distinct image operation: metadata removal, resizing, and watermarking. There is zero overlap in functionality, so an agent can unambiguously select the right tool.
All tool names follow a consistent 'verb_noun' pattern: strip_photo_metadata, resize_for_platform, apply_watermark. The naming is predictable and clearly describes the action and target.
With exactly 3 tools, the server is tightly scoped to its stated purpose of watermarking, resizing, and metadata removal. Each tool earns its place, and the count is well within the ideal range.
For a 'Watermark & Resize Studio', the surface covers the full expected feature set: metadata stripping, resizing with platform presets, and watermark application. There are no obvious dead ends or missing core operations within its declared domain.
Maintenance
Related MCP Connectors
Image processing for AI agents: resize, convert, compress, crop, and web-ready AI-generated images.
Resize, convert, compress, crop, thumbnail and watermark images from your AI chat.
Image & PDF tools for AI agents: compress, convert, resize, PDF, AI vision, pipeline.
- MochifyOAuthapp.mochify
Image and PDF toolkit: convert to AVIF/WebP/JXL, resize, crop, remove backgrounds, optimize PDFs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform image processing tasks such as sprite sheet splitting, resizing, cropping, and batch operations on local images.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to locally process images with tools for cropping, zooming, enhancement, edge detection, segmentation, and text region extraction, all without external API keys. It uses PIL, OpenCV, and scikit-image for robust image analysis.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to process images locally via file paths—converting, resizing, removing backgrounds, smart cropping, upscaling, reading or stripping metadata, and batch processing—without files ever leaving the device.MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform local image operations such as circle cropping, cropping, resizing, compressing, converting, and inspecting images without uploading files or making network calls.770 npmMIT