Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

One Design

NPM · ONE-DESIGN-MCP

Image, brand, privacy and PDF tools from one.design, run on your own computer. Nothing uploaded.

Available components

+4 this week 72 Trust /100

Last scanned (7 hours ago)

Scores higher than 43% of npm servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security99
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 35 of 149 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability72
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 12001 tokens (~292/item across 41 items; 37 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
  • Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 98% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 39 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (16)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 67

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/one-design-mcp@0.2.4

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 149 packages
Packages resolved 149
Stale 35
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 37 exposed · ~11,496 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
brand_library ~120

Reads the Brand Libraries synced to the signed-in one.design account: colours (name and HEX), fonts, logos. Use the colours in other tools (QR codes, watermarks, store shots, bento). save_logos writes the logos to a folder so other tools can use them.

NameTypeReqDescription
librarystring–A library name. Default: all of them.
output_dirstring–Where to save them. Default: ~/Downloads/one-design.
save_logosboolean–Save the logos (and fonts) as files.

No output schema declared.

No examples provided.

buy_pro ~105

Starts checkout for One Design Pro (Lifetime, paid once) and opens it in the browser. Only when the person asks to buy or upgrade. If they are signed in (sign_in), the purchase goes on that account; if not, Stripe asks for an email and the account is made or found from it. Payment happens on Stripe’s page, never here.

NameTypeReqDescription
open_in_browserboolean–Open the checkout page in the default browser. Off: just return the link.

No output schema declared.

No examples provided.

check_delivery ~675

Check a batch of images against a delivery spec before sending it: formats, file size, exact/min/max width and height, shape (aspect ratio), transparency, colour space, DPI, embedded metadata and file naming. Start from a preset ("web": Website images, "instagram": Instagram feed, "marketplace": Marketplace product photos, "appicon": App Store icon, "print": Print handover (large JPEG/PNG)) or "custom", and override any rule. Reports pass / needs attention / fail per file and which tool fixes each problem. Changes nothing. [Pro tool.]

NameTypeReqDescription
colour_spacestring–"srgb": flag CMYK, wide-gamut (Display P3, Adobe RGB) and other profiles.
exact_heightinteger–Exact height in px (0 = any).
exact_widthinteger–Exact width in px (0 = any).
filesarrayyesImages (and SVGs) or folders. ~ is your home folder.
formatsarray–Allowed formats (replaces the preset’s).
lowercaseboolean–Names must be lowercase.
max_heightinteger–Maximum height in px (0 = any).
max_kbinteger–Largest file size in KB (0 = any).
max_nameinteger–Longest file name in characters (0 = any).
max_widthinteger–Maximum width in px (0 = any).
metadatastring–"none": flag files that still carry EXIF, GPS location, XMP or IPTC.
min_dpiinteger–Minimum DPI written in the file (0 = any). DPI is only a label; pixel size is what really counts for print.
min_heightinteger–Minimum height in px (0 = any).
min_widthinteger–Minimum width in px (0 = any).
name_patternstring–A regular expression every file name must match, e.g. "^sku-\d{4}-(front|back)\.jpg$".
no_spacesboolean–Names without spaces or special characters.
presetstring–Starting rules. web: JPEG/PNG/WebP/SVG/AVIF under 500 KB, at most 2560 px, lowercase names without spaces. instagram: JPEG/PNG, at least 1080 wide, 1:1, 4:5, 3:4 or 1.91:1, under 8 MB. marketplace: J…
ratio_tolerancenumber–How far off a shape may be, in percent (the site allows 1%).
ratiosarray–Allowed shapes, like ["1:1", "4:5", "16:9"]. Empty list = any shape.
transparencystring–Transparent areas: any, required (e.g. logos) or forbidden (e.g. app icons, marketplace photos).

No output schema declared.

No examples provided.

clean_metadata ~255

Remove hidden details from photos before sharing: GPS location, camera, dates, author, XMP edit history, IPTC captions, comments and AI labels / Content Credentials (C2PA). JPEG, PNG and WebP are cleaned losslessly (the picture itself is not re-saved); other formats (HEIC, AVIF, TIFF, GIF) are re-saved without metadata. Reports what each file was hiding. Saved as name-clean.ext next to the original.

NameTypeReqDescription
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
fix_orientationboolean–Instead of keeping the rotation tag, turn the pixels upright and re-save (quality 95, not lossless). Only affects photos that have a rotation tag.
keep_colour_profileboolean–ICC colour profiles hold no personal data. Removing one can make wide-gamut photos look dull. Default true.
keep_rotationboolean–Phone photos often store their rotation as metadata. Keeping this one tag (re-written alone) stops them turning sideways. Default true.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.

No output schema declared.

No examples provided.

compress_images ~250

Make images smaller, by quality or to a target file size (e.g. under 500 KB for a form). Keeps each file’s format unless asked; files that already fit are left as they are; PNGs reach a size by reducing colours. Saved next to the originals as name-compressed.ext.

NameTypeReqDescription
allow_resizeboolean–To a size: may an image be scaled down if even low quality is too big?
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
formatstring–Output format. "original" keeps each file’s own (HEIC, AVIF and TIFF become JPEG, GIF becomes PNG).
max_edgeinteger–Scale down so the longest side is at most this many pixels (never enlarged).
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
qualityinteger–Quality when not compressing to a size (30–100). For PNG, below 100 reduces colours.
target_kbinteger–Largest allowed size in KB. Leave out to compress by quality instead.

No output schema declared.

No examples provided.

convert_images ~287

Convert images between WebP, JPEG, PNG and AVIF, including iPhone HEIC photos (on a Mac). Choose the quality, optionally shrink big images, and keep or strip metadata. Saved next to the originals with the new extension (never over them). For PDF pages to images use pdf_toolkit with action "to_images".

NameTypeReqDescription
backgroundstring–JPEG only: the colour for transparent areas, hex.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
formatstring–Convert to. WebP is usually 25–35% smaller than JPEG at the same quality; PNG is lossless (best for graphics and screenshots); AVIF is smaller still but slower to make.
max_edgeinteger–Shrink big images so their longer side is at most this many pixels (e.g. 2560, 1920, 1280). Smaller images are left their size.
metadatastring–"strip" removes EXIF, GPS and camera details (the site’s behaviour); "keep" carries them over.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
qualityinteger–Quality, 1 to 100 (default 82). Ignored for PNG.

No output schema declared.

No examples provided.

extract_palette ~184

The main colours in an image, like the site’s Palette: HEX, RGB, HSL, how much of the picture each covers, and contrast against white and black, plus CSS variables. Transparent areas are ignored; colours are measured from a downscaled copy, so tiny details may not register. Also saves a swatch card PNG (name-palette.png) in ~/Downloads/one-design.

NameTypeReqDescription
countinteger–How many colours to find (2 to 12). Near-identical ones are merged, so you may get fewer.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
orderstring–"dominance": most used first. "light": dark to light.
output_dirstring–Folder to save into. Default: ~/Downloads/one-design.

No output schema declared.

No examples provided.

fit_fill ~444

Fit the whole photo onto a square, portrait or story canvas without cropping, and fill the space around it with a blurred copy of the photo or a colour (matched to the photo by default). Canvas by name (square, instagram-square, portrait, instagram-portrait, portrait-34, story, landscape, x-post, linkedin, og, link-preview, pinterest, banner, dribbble) or width and height. Saved next to the originals as name-WIDTHxHEIGHT.jpg.

NameTypeReqDescription
blurinteger–How soft the blurred fill is, 1 to 10.
colourstring–Fill colour for fill "colour": a hex like #c9f26b, or "auto" for a colour matched to each photo (the average round its edges).
corner_radiusnumber–Rounded corners on the photo, in percent of its shorter side.
darkeninteger–Darken the blurred fill, in percent.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
fillstring–"blur": a soft, enlarged copy of the photo fills the gaps. "colour": a flat colour.
formatstring–Output format.
heightinteger–Custom canvas height in pixels (with width).
marginnumber–Space around the photo, in percent of the canvas’s shorter side. At 0 it touches the canvas on its longer side.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
presetstring–Canvas by name: square, instagram-square, portrait, instagram-portrait, portrait-34, story, landscape, x-post, linkedin, og, link-preview, pinterest, banner, dribbble. Ignored when width and height a…
qualityinteger–Quality, 1 to 100 (default 88). Ignored for PNG.
shadowboolean–A soft drop shadow under the photo.
widthinteger–Custom canvas width in pixels (with height).

No output schema declared.

No examples provided.

frame_screenshots ~621

Screenshots dressed to share, like the site’s Screen Frame: inside a drawn browser window (title bar with three dots and an address), phone, tablet or laptop, or as a plain rounded card, on a gradient, colour, blurred copy, image or transparent background, at a social canvas size. Devices keep their real screen shape; screenshots are cropped to fill them from the top. Saved next to the originals as name-framed.png (or .jpg). The frames are simple drawings, not any maker’s artwork. [Pro tool.]

NameTypeReqDescription
backgroundstring–Behind the frame: a gradient, one colour, a soft blurred copy of the screenshot, an image, or nothing (transparent PNG).
background_imagestring–Image file for background "image" (cropped to fill).
canvasstring–Canvas: square 2160×2160, portrait 2160×2700 (4:5), portrait-34 2160×2880, story 2160×3840 (9:16), landscape 3840×2160, og 2400×1260 (link preview), dribbble 1600×1200, custom (width × height), or au…
colourstring–Background colour (background "color"), hex like #c9f26b.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
formatstring–PNG keeps text in the screenshot crisp; JPEG makes smaller files. A transparent background is always PNG.
framestring–The frame. "plain" is the screenshot with rounded corners and a shadow, no device.
gradientstring–Built-in gradient: lime, dusk, graphite, paper, sea, peach.
gradient_coloursarray–Your own two-colour gradient (hex), top left to bottom right. Overrides "gradient".
heightinteger–Canvas height for canvas "custom".
notchboolean–Phone: the camera pill at the top of the screen.
orientationstring–Phone and tablet: upright, on their side, or turned to match each screenshot. A laptop is always landscape.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
paddingnumber–Space around the device, as a % of the canvas’s shorter side.
shadowboolean–A soft shadow under the device.
stylestring–"textured": surfaces lit from the top left. "flat": solid colours, no sheen.
tonestring–Frame colour: "dark", "light", or any hex colour for the device.
urlstring–Text for the browser’s address bar, e.g. example.com. Empty leaves the bar blank.
widthinteger–Canvas width for canvas "custom".

No output schema declared.

No examples provided.

grid_slide ~454

Split one image into an Instagram profile grid, numbered in posting order (post tile 01 first: Instagram shows the newest post top-left, so the bottom-right tile goes first), or into carousel slides that line up seamlessly as people swipe. Presets: ig-row, ig-grid-2, ig-grid-3, ig-grid-4 (3 columns, 3:4 tiles), ig-grid-sq (3×3 square), ig-grid-45 (3×2, 4:5; the default), ig-pano-2, ig-pano-3, ig-pano-5 (4:5 carousels), ig-pano-sq, li-carousel (square), tiktok, story-pano (9:16). Any setting given overrides the preset. Saved in a new folder next to the image. [Pro tool.]

NameTypeReqDescription
columnsinteger–Grid columns (Instagram profiles have 3).
filestringyesThe image to split. ~ is your home folder.
focus_xnumber–Which part to keep when the image’s shape doesn’t match: 0 left, 50 centre, 100 right.
focus_ynumber–0 top, 50 centre, 100 bottom.
formatstring–Output format.
modestring–"grid": a profile grid of tiles. "carousel": slides side by side.
output_dirstring–Where to put the folder of tiles. Default: next to the image.
presetstring–A ready layout (see the description). Default ig-grid-45, or the plain grid/carousel when mode is given.
qualityinteger–Quality, 1 to 100 (default 90). Ignored for PNG.
rowsinteger–Grid rows.
shapestring–Each tile or slide’s shape: 1:1 square, 4:5 portrait post, 3:4 (current Instagram profile thumbnails), 9:16 story.
slidesinteger–Carousel slides.
tile_widthinteger–Width of each tile or slide in pixels; the height follows the shape.

No output schema declared.

No examples provided.

list_tools ~41

Every tool on one.design: what it does, whether it’s Free or Pro, and which MCP tool does it here (or that it runs on the site).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

lock_link ~130

Turns any web address into a one.design link that asks for a password before opening it. The address is encrypted here (AES-256-GCM); the result carries it in the link itself, so no server stores it. Anyone with the link and the password can open it.

NameTypeReqDescription
hintstring–Optional hint shown before the password. Anyone with the link can read it.
passwordstringyesThe password people will need. It is not stored anywhere.
urlstringyesThe address to protect, e.g. drive.google.com/… (https:// is added if missing).

No output schema declared.

No examples provided.

make_bento ~546

Photos, numbers and colour as rounded tiles in one image, like the site’s Bento. Templates and their tiles in reading order (left to right, top to bottom): mosaic-5 (photo (big), photo, text "+38%", photo, photo (big)); hero-2 (photo (big), photo, text "10k"); hero-left-4 (photo (big), photo, text "4.9", colour, photo); three-cols (photo, photo, photo); big-strip (photo (big), photo, text "2026", photo); six-even (photo, photo, photo, photo, photo, photo); stat-board (text "Q3 in numbers", photo, text "2.4M", text "38%", text "120"); feature-3 (photo (big), text "10k", text "98%", text "24/7"); case-cover (text "Case study", photo (big), colour, photo). Give photos to fill the photo tiles in order, and optionally tiles to replace each slot in that same order (a photo, a text tile, or a plain colour); slots you don't replace keep the template’s own. Saved as bento-<template>.png in ~/Downloads/one-design.

NameTypeReqDescription
backgroundstring–Background colour, hex like #f4f2ee.
canvasstring–square 1080×1080, portrait 1080×1350, story 1080×1920, landscape 1920×1080, x 1600×900 (X / LinkedIn post), slide 3840×2160, or custom.
fontstring–Font for the text tiles.
formatstring––
gapnumber–Space between tiles in px.
heightinteger–Height for canvas "custom".
output_dirstring–Folder to save into. Default: ~/Downloads/one-design.
paddingnumber–Space around the grid in px.
photosarray–Photos for the photo tiles, in order (files or a folder).
qualityinteger–Quality for JPEG and WebP.
radiusnumber–Tile corner radius in px.
templatestring–The grid template (see the description for its tiles).
text_colourstring–Text colour for every text tile, hex. Default: each tile’s own.
tilesarray–Replaces the template’s tiles in reading order: the first entry is the first tile, and so on.
widthinteger–Width for canvas "custom".

No output schema declared.

No examples provided.

make_campaign_kit ~380

One creative into a matched set of sizes for social posts, stories, link previews and display ads, in one folder. Each size either fills the frame (crop keeping the interesting part) or fits the whole creative over a blurred copy of itself. Sizes: ig-post 1080×1080, ig-portrait 1080×1350, ig-portrait-34 1080×1440, story 1080×1920, x-post 1600×900, dribbble 1600×1200, link 1200×628, youtube 1280×720, li-banner 1584×396, mrec 300×250, leaderboard 728×90, skyscraper 160×600, mobile-banner 320×50. Text layouts (headline, button) are on one.design/campaign-kit. [Pro tool.]

NameTypeReqDescription
filestringyesThe photo or key visual. ~ is your home folder.
fitstring–"cover": fill each size, cropping to the most eye-catching part. "fill": the whole creative, with a blurred copy of it filling the space (like fit_fill).
formatstring–File type.
namestring–Campaign name for the files, e.g. autumn-launch. Default: the image’s name.
output_dirstring–Where to put the kit folder. Default: next to the image.
qualityinteger–Quality, 1 to 100 (default 90). Ignored for PNG.
scale––1: exactly each size’s pixels (what ad networks want). 2: double, sharp on high-density screens (a 728×90 banner becomes 1456×180).
sizesarray–Sizes to make (see the description).

No output schema declared.

No examples provided.

make_cards ~566

Spreadsheet rows into branded social cards, one PNG (or JPEG) per row, using the site’s templates: "poster" (big type on your colour, photo optional), "editorial" (full-bleed photo, white type), "split" (photo plus a colour panel) or "product" (product on a light panel with price and badge). Columns feed the tag, headline, subhead, button (cta) and price, and an image column names each row’s photo file; they are matched by header name unless you map them. Saved in a new folder under ~/Downloads/one-design (or output_dir). [Pro tool.]

NameTypeReqDescription
accentstring–Accent and button colour, hex.
backgroundstring–Background colour, hex.
body_fontstring–Body font.
columnsobject–Which column feeds which part. Unmapped parts are guessed from header names (title, price, photo…).
csvstring–Path to a .csv or .tsv file with a header row, or the CSV text itself.
formatstring–File type.
heading_fontstring–Heading font: serif (Instrument Serif), sans (Inter) or mono (JetBrains Mono); this computer’s nearest match if not installed.
images_dirstring–Folder where the image column’s files are. Default: the CSV’s folder (or your home folder for inline rows).
logostring–Optional logo image file (PNG or SVG with transparency works best).
output_dirstring–Where the new cards folder goes. Default: ~/Downloads/one-design.
panelstring–Panel colour (split and product), hex.
qualityinteger–JPEG quality.
rowsarray–Rows given directly, e.g. [{"headline":"Sunset mug","price":"£18","image":"mug.jpg"}].
sizestring–Card size: ig-post 1080×1080 (Square), ig-portrait 1080×1350 (Portrait 4:5), ig-portrait-34 1080×1440 (Portrait 3:4), story 1080×1920 (Story / Reel 9:16), x-post 1600×900 (Landscape 16:9), dribbble 1…
templatestring–Card design. editorial, split and product need a photo per row.
text_colourstring–Text colour, hex.

No output schema declared.

No examples provided.

make_icon_pack ~482

Favicons, app icons and a web manifest from one logo, like the site’s Icon Pack: favicon.ico (16, 32 and 48 px), favicon-16x16.png, favicon-32x32.png, favicon.svg (from an SVG logo), apple-touch-icon.png (180 px), icon-192.png, icon-512.png, icon-512-maskable.png (logo kept inside Android’s safe zone), site.webmanifest and snippet.html with the <head> tags. Saved in a new folder (icon-pack) in ~/Downloads/one-design. Best from an SVG or a PNG of 512 px or more.

NameTypeReqDescription
adaptiveboolean–SVG logos only: favicon.svg changes colour to stay visible on light and dark browser tabs.
app_namestring–Name for the web manifest (“My site” if left empty).
backgroundstring–App icon background, hex like #0b0b0b.
custom_colourstring–Logo colour when logo_colour is "custom", hex like #c9f26b.
dark_colourstring–Logo colour on dark tabs (adaptive), hex like #ffffff.
favicon_backgroundstring–Behind the tab favicons: "fill" a rounded square in the icon background, "none", or "auto" (a square only for a light logo, which would vanish on light tabs).
light_colourstring–Logo colour on light tabs (adaptive), hex like #111111.
logostringyesThe logo file: SVG or PNG (512 px or larger), JPEG or WebP.
logo_colourstring–The logo’s colour in every icon: as it is, or recoloured.
maskableboolean–Include icon-512-maskable.png: Android crops icons to circles or squircles, this keeps the logo inside the safe zone.
output_dirstring–Folder to save into. Default: ~/Downloads/one-design.
paddingnumber–Space around the logo on the app icons, as a % of the icon.
short_namestring–Short name under a home screen icon. Default: the name.
theme_colorstring–Browser bar colour (theme-color), hex like #0b0b0b.

No output schema declared.

No examples provided.

make_listing_photos ~300

Product photos framed for each marketplace: a near-white border is trimmed, then the product is centred on the marketplace’s canvas at its usual fill. Amazon 2000×2000 (85%), eBay 1600×1600 (80%), Etsy 2000×1600 (75%), Shopify 2048×2048 (80%), Instagram Shop 1080×1350 (75%), Google Shopping 1200×1200 (80%). Works best with products shot on white; the photo’s own background is kept (removing it needs Cutout on one.design). Saved next to the originals as name-<marketplace>.jpg. [Pro tool.]

NameTypeReqDescription
backgroundstring–"white" (pure white, what most marketplaces want for the main image) or a hex colour.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
fill_percentinteger–How much of the frame the product fills along its limiting side, the same for every marketplace. Default: each marketplace’s own.
marketplacesarray–Marketplaces to make images for.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
qualityinteger–JPEG quality, 70 to 100.
trimboolean–Trim the near-white border round the product first.

No output schema declared.

No examples provided.

make_logo_package ~449

One master logo into a delivery folder, like the site’s Logo Package: a folder per variant (original colours, black, white, black on white, white on black, plus any brand colours you add with their combinations), each with png/ at the widths you choose (transparent unless the variant has a background), jpg/ on a solid background and svg/ when the master is an SVG, and a README.txt of what’s where. Saved as name-logo in ~/Downloads/one-design. Colour variants work best on flat logos. [Pro tool.]

NameTypeReqDescription
blackboolean–Include an all-black version (transparent).
black_on_whiteboolean–Include black on a white background.
coloursarray–Extra brand colours (hex); each gets its own one-colour version.
combinationsboolean–For each extra colour also: on white, on black, white on it and black on it.
jpgboolean–Also export JPGs on a solid background: white behind dark variants, black behind the white one.
logostringyesThe master logo: SVG or a transparent PNG (JPEG and WebP work too).
namestring–Name used in folder and file names. Default: from the file name.
originalboolean–Include the logo in its own colours.
output_dirstring–Folder to save into. Default: ~/Downloads/one-design.
paddingnumber–Space around the logo on every side, as a % of its longest side.
squareboolean–Centre the logo on a square canvas (avatars, profile images).
svgboolean–Include SVGs (only when the master is an SVG). Colour variants use an SVG filter, which some older editors ignore.
whiteboolean–Include an all-white version (transparent).
white_on_blackboolean–Include white on a black background.
widthsarray–PNG and JPG widths in px: 256 (avatars, icons), 512 (web), 1024 (slides, docs), 2048 (print, retina), 4096 (large print).

No output schema declared.

No examples provided.

make_proof_sheet ~334

A folder of images into one tidy PDF: a contact sheet (2–6 columns) or one image per page, on A4 or US Letter, with file names under the images and an optional title and date header. Images are embedded as JPEG thumbnails sized to their place on the page, so the file stays small. Saved next to the first image (or where you say) as proof-sheet.pdf or your-title.pdf. [Pro tool.]

NameTypeReqDescription
captionsboolean–File names (numbered) under the images.
columnsinteger–Grid: images across (the site offers 2, 3 or 4; default 3).
dateboolean–Show today’s date in the header.
filesarrayyesImages or folders, in the order they should appear. ~ is your home folder.
layoutstring–"grid": a contact sheet. "single": one image per page.
marginnumber–Page margin in points (72 = 1 inch).
orientationstring–Page orientation.
output_pathstring–A .pdf path or a folder. Default: the folder of the first image.
pagestring–Page size. "fit" (one per page only) matches each image’s shape.
qualitystring–Image detail: print 300 dpi, balanced 200 dpi, email 110 dpi (smallest file).
titlestring–Optional title at the top of each page (also the file name), e.g. "Client review: round 2".

No output schema declared.

No examples provided.

make_qr_code ~196

QR codes for links or any text, in your colours, as PNG or SVG (default folder: ~/Downloads/one-design), with a preview. Free makes 1 at a time; Pro makes up to 50 in one go. Keep strong contrast between the colours so phones can scan it.

NameTypeReqDescription
backgroundstring–Background, hex, or "transparent".
colourstring–Code colour, hex.
contentstring–The link or text to encode.
contentsarray–Several links or texts, one code each (Pro: batch).
error_correctionstring–Higher survives more damage (and a logo on top) but makes a denser code.
formatstring––
output_pathstring–A file (one code) or folder. Default: ~/Downloads/one-design.
sizeinteger–Width and height in pixels.

No output schema declared.

No examples provided.

make_stamps ~521

Turn images into stamps, like the site’s Stamp Maker: "postage" (the picture on paper with perforated edges, a value like “1st” or “£1.50” and a caption), "rubber" (pressed in one ink with a double border, worn edges and a caption) or "seal" (round, inked, with your text around the ring). Rubber stamps and seals print a photo’s tones as an ink dot pattern for a dark or light surface; logos print by their shape. Transparent PNGs up to 1,400 px, saved next to the originals as name-<style>-stamp.png.

NameTypeReqDescription
borderboolean–Postage: a paper margin around the picture with the caption below it. Off, the picture runs to the perforated edge.
captionstring–Postage and rubber: the caption. Seal: the text around the ring.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
fill_surfaceboolean–Rubber and seal: put the dark or light surface colour in the file instead of leaving it transparent.
inkstring–Rubber and seal ink colour, hex like #c23b2a.
ink_amountnumber–Rubber and seal: how dark a photo prints, 10 to 80%.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
paperstring–Postage paper colour, hex like #f4f1ea.
shapestring–Postage and rubber: keep the picture’s proportions, or make the stamp 4:5 portrait or 5:4 landscape (photos cropped, logos fitted whole).
stylestring–postage, rubber, or seal (round).
surfacestring–Rubber and seal: the surface it’s printed on. Dark prints a photo’s light parts, light prints its dark parts.
tiltboolean–A few degrees off straight, as if stamped by hand.
tonesstring–Rubber and seal: natural reads like the photo on that surface; negative inverts it.
valuestring–Postage: the value in the corner, e.g. “1st” or “£1.50”.
wearnumber–Rubber and seal: gaps where the ink didn’t take, 0 (clean) to 80%.

No output schema declared.

No examples provided.

make_stat_shot ~613

A milestone as a shareable image, like the site’s Stat Shot: a big number or short text (e.g. “10,000”), a label (“followers on X”), an optional tag, message, name, handle, date and profile photo. Layouts: big (the number as large as it fits), centre, profile (a card with your photo), chart (a line climbing to the top right), badge (the number in a ring), headline (the label as a large headline: a new job, a launch), board (each character on a flip tile). Backgrounds: plain, gradient, glow, grid, dots, rays, waves, confetti, or image. Sizes: square 1080×1080, portrait 1080×1350, portrait-34 1080×1440, story 1080×1920, landscape 1600×900. PNGs in ~/Downloads/one-design. On the Free plan each image carries a small “Made with one.design” credit in the bottom right corner, as on the site; Pro has none.

NameTypeReqDescription
accentstring–Accent colour (tag, label, chart, ring), hex like #c9f26b.
backgroundstring–Background colour, hex like #0f0f10.
background_designstring–plain, gradient, glow, grid, dots, rays, waves, confetti, or image (needs background_image).
background_imagestring–An image for background_design "image".
datestring–An optional date, e.g. “September 2026”.
dimnumber–How much of the background colour lies over your image (0 to 80%), so the words stay readable.
fontstring–Font for the number and headline: sans (Inter), serif (Instrument Serif) or mono (JetBrains Mono).
handlestring–Your handle, e.g. @you (optional).
kickerstring–A small tag above it (empty for none).
labelstring–What it counts, e.g. “followers on X”, or for headline “Designer at Acme”.
layoutstring–big, centre, profile, chart, badge, headline or board.
messagestring–An optional short message, e.g. “Thank you for being here.”
namestring–Your name (optional).
output_dirstring–Folder to save into. Default: ~/Downloads/one-design.
photostring–A profile photo (optional); without one, the profile layout shows your initials.
sizesarray–Which sizes to make.
text_colourstring–Text colour, hex like #f4f3ee.
valuestring–The number or big text, e.g. “10,000”, “10K” or “New role”.

No output schema declared.

No examples provided.

make_store_screenshots ~453

Store screenshots with a title and your app’s screenshot in a drawn device, like the site’s Store Shots, at the sizes the stores ask for: iOS iPhone 6.9″ 1290×2796 (Apple scales it for every smaller iPhone), iPad 13″ 2064×2752; Android phone 1080×1920, tablet 1440×2560. Up to 10 per device for the App Store, 8 for Google Play. Templates: above (title at the top, device rising from the bottom), below (device above, title underneath), plain (rounded card, no device), tilted, bigtitle (large headline on the left), pair (two devices per slide, two screenshots each), iso (device turned in perspective), full (screenshot fills the image, title over a fade). JPEG (stores reject images with transparency), into a new folder in ~/Downloads/one-design. [Pro tool.]

NameTypeReqDescription
backgroundstring–Background colour, hex like #16161a.
background_imagestring–An image to fill the background instead of the colour.
devicestring–iPhone or iPad (iOS), phone or tablet (Android).
device_colourstring–Device colour: "dark", "light", or any hex colour.
fontstring–Title font: sans (Inter) or serif (Instrument Serif); subtitles are sans.
output_dirstring–Folder to save into. Default: ~/Downloads/one-design.
platformstring–"ios" for the App Store, "android" for Google Play.
screenshotsarrayyesYour app’s screenshots in the order they should appear (files or a folder). Each fills the device’s screen, cropped from the top.
slidesarray–One title (and optional subtitle) per screenshot, in order. Missing ones get placeholder titles, so give one for each.
templatestring–Layout: above, below, plain, tilted, bigtitle, pair, iso or full.
text_colourstring–Text colour, hex like #ffffff.

No output schema declared.

No examples provided.

make_web_image_set ~278

Responsive image sizes for a website in one go (WebP and JPEG by default, AVIF or PNG too), into a folder per image, with a ready <picture>/srcset HTML snippet (also saved as snippet.html). Widths larger than an image are skipped, so nothing is enlarged. [Pro tool.]

NameTypeReqDescription
altstring–Alt text for the <img>. Default: made from the file name.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
formatsarray–Formats to make. The last of JPEG/PNG is the fallback <img>; WebP and AVIF become <source> lines.
output_dirstring–Where to put the folder of each image. Default: next to the original.
qualityinteger–Quality, 40 to 95.
sizesstring–The sizes attribute, e.g. "(min-width: 1024px) 50vw, 100vw".
url_prefixstring–The folder the files will live in on the site, used in the snippet’s paths.
widthsarray–Widths in pixels. Ones wider than the image are left out (the image’s own width is added as the top size instead).

No output schema declared.

No examples provided.

manage_billing ~40

Opens Stripe’s billing page for the signed-in account: receipts, invoices, card, or cancelling a subscription.

NameTypeReqDescription
open_in_browserboolean––

No output schema declared.

No examples provided.

multi_crop ~302

Crop each image to several sizes at once, keeping the interesting part (or the centre). Sizes by name (square, instagram-square, portrait, instagram-portrait, portrait-34, story, landscape, x-post, linkedin, og, link-preview, pinterest, banner, dribbble), as an aspect ratio like "4:5" (the largest crop of that shape, at the image’s own resolution), or as {name, width, height}. Saved next to the originals as name-<size>.ext. [Pro tool.]

NameTypeReqDescription
cropstring–What each crop keeps: "attention" the most eye-catching part (faces, colour, contrast), "centre" the middle, "entropy" the most detailed part.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
formatstring–Output format. "original" keeps each file’s own (HEIC, AVIF and TIFF become JPEG).
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
qualityinteger–Quality, 1 to 100 (default 88). Ignored for PNG.
sizesarray–The crops: size names, ratios like "16:9", or {name, width, height}. Default: square, portrait 4:5 and portrait 3:4.

No output schema declared.

No examples provided.

open_in_one_design ~113

Opens a tool on one.design in the browser. For the tools that run an AI model on the device and so only work on the site: Cutout (background removal), Blur Faces, Magic Eraser, Brand Guidelines. Works for any tool, and for the pricing, account and Brand Library pages.

NameTypeReqDescription
open_in_browserboolean––
toolstringyesA tool id or name (e.g. cutout, "blur faces", brand-guidelines), or pricing, account, brand.

No output schema declared.

No examples provided.

pdf_toolkit ~410

Work with PDFs on this computer: "merge" (files in order into one), "split" (each page, or ranges like "1-3, 5, 7-" each its own PDF), "extract" (one PDF of chosen pages), "reorder" (a new page order), "rotate" (pages by 90/180/270), "info" (pages, sizes, title, author, producer), "remove_metadata" (clear title, author, subject, keywords, creator, producer, dates and XMP), "to_images" (pages to PNG or JPEG; needs poppler’s pdftoppm installed). Pages are copied as they are, so text stays text. Page numbers start at 1. Saved next to the first PDF (or in output_dir), never over a file.

NameTypeReqDescription
actionstringyesWhat to do.
angle––rotate: degrees clockwise.
dpiinteger–to_images: resolution (150 suits screens; an A4 page at 150 dpi is 1240×1754 px).
filesarrayyesPDF files or folders (a folder means the PDFs in it, by name). For merge, in the order given. ~ is your home folder.
image_formatstring–to_images: file type.
orderarray–reorder: the new order as page numbers, e.g. [3, 1, 2]. Pages left out of the list are dropped; a page listed twice appears twice.
output_dirstring–Folder to save results in. Default: next to the (first) PDF.
pagesstring–Pages, like "1-3, 5, 7-" (7- runs to the last page). extract: the pages to keep (required). split: each range becomes its own PDF (leave out to split every page). rotate and to_images: which pages (d…

No output schema declared.

No examples provided.

plan_and_pricing ~53

The current plan, what Free and Pro include (tools, batch sizes, QR codes, Brand Libraries) and the price. Use it when someone asks what’s free, hits a limit, or asks about upgrading.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

redact_images ~320

Cover names, emails, card numbers and other private details in screenshots. Give boxes in pixels (or 0–1 fractions of the width and height); the same boxes are applied to every file, for matching screenshots. "marker" (a hand-drawn stroke) and "solid" replace the pixels so nothing can be recovered; "pixelate" and "blur" look softer but short text like numbers can sometimes be guessed, so use marker or solid for card numbers and passwords. The image is re-drawn, so hidden metadata goes too. Saved as name-redacted.ext.

NameTypeReqDescription
blockstring–Pixelate: block size.
boxesarrayyesAreas to cover, measured on the image as it displays (upright).
colourstring–Marker or block colour, hex.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
formatstring–"keep": PNG stays PNG (crisp text), WebP stays WebP, others become JPEG.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
qualityinteger–JPEG/WebP quality.
stylestring–marker (the site’s default, a hand-drawn stroke), solid block, pixelate or blur.
unitsstring–"px": boxes in pixels. "fraction": 0–1 of the width and height, which suits screenshots of different sizes.

No output schema declared.

No examples provided.

rename_files ~395

Rename a set of files (any kind) with one pattern made of text and tokens: {name} the current name, {n} a number counting up ({n:3} for 001), {date} the file’s date as 2026-10-02, {w}x{h} the image size in pixels, {ext} the extension. The extension is always kept at the end. Starts with mode "preview", which only lists old → new and changes nothing; "copy" makes renamed copies in a new folder; "rename" renames in place.

NameTypeReqDescription
digitsinteger–Digits in {n}: 0 adds zeros only as needed (01–12) so files sort in order. {n:3} in the pattern sets it there.
filesarrayyesFiles or folders (a folder means the files in it, not subfolders or hidden files), in the order to number them. ~ is your home folder.
lettersstring–"keep": as typed; "lower": lower case; "web": lower case, dashes for spaces and only letters, numbers, dashes and dots.
lower_extboolean–Lower-case extensions (IMG_0001.JPG becomes …jpg).
modestring–"preview": list the new names, change nothing. "copy": renamed copies in output_dir (default: a new folder named renamed next to the first file). "rename": rename the files where they are; refused if…
output_dirstring–For mode "copy": the folder for the renamed copies.
patternstring–The new name without the extension, e.g. "holiday-{n}" or "{date}-{name}".
startinteger–The first number, e.g. 51 to carry on from a previous batch.

No output schema declared.

No examples provided.

resize_images ~261

Resize images to a width, a height or both. fit "inside" keeps the whole picture within the box, "cover" fills the box and crops (keeping the interesting part), "contain" fits it whole and pads the rest. Never enlarges unless asked. Social sizes: see the one-design://presets/sizes resource. Saved as name-WIDTHxHEIGHT.ext.

NameTypeReqDescription
backgroundstring–Padding colour for fit "contain" (hex, or "transparent" for PNG/WebP).
enlargeboolean–Allow making images bigger than they are.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
fitstring––
formatstring–Output format. "original" keeps each file’s own (HEIC, AVIF and TIFF become JPEG, GIF becomes PNG).
heightinteger–Height in pixels.
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
percentnumber–Scale by a percentage instead of a size (e.g. 50).
qualityinteger––
widthinteger–Width in pixels.

No output schema declared.

No examples provided.

sign_in ~65

Sends a 6-digit sign-in code to an email address, to unlock Pro here for someone who bought it. Then call verify_sign_in with the code. Accounts are optional; Free works without one.

NameTypeReqDescription
emailstringyesThe email used for one.design or at checkout.

No output schema declared.

No examples provided.

sign_out ~23

Forgets the saved sign-in on this computer. Back to Free here.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

slim_svg ~280

Make SVG files smaller with SVGO (editor data, comments and metadata out, paths simplified), keeping the viewBox, then render before and after to check they look the same. Saved next to the originals as name-slim.svg; a file that can’t get smaller is left as it is.

NameTypeReqDescription
filesarrayyesSVG files or folders (a folder means the SVGs in it). ~ is your home folder.
keep_idsboolean–Keep IDs (needed if CSS, scripts, sprites or animations refer to parts of the SVG).
keep_titleboolean–Keep the <title> (screen readers announce it).
levelstring–"safe": removes editor data, comments and metadata, leaves shapes and paths. "balanced": also simplifies paths, merges groups and shortens colours. "max": everything, repeated until nothing more shri…
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
precisioninteger–Decimal places kept. Small icons can go to 1; detailed illustrations may need 3.
prettyboolean–Indented output for editing by hand. Slightly larger.
remove_sizeboolean–Remove width and height so the SVG scales to its container. The viewBox is always kept.

No output schema declared.

No examples provided.

verify_sign_in ~60

Finishes signing in with the code from the email, then checks the account’s plan. The session is saved on this computer (~/.config/one-design).

NameTypeReqDescription
codestringyesThe code from the email.
emailstringyes–

No output schema declared.

No examples provided.

watermark_images ~490

Stamp a text or logo mark on a batch of images, like the site’s Watermark: a tiled diagonal pattern (the default) or a single mark in one of nine positions. Text can be anything, e.g. “© Your Studio 2026”, “Draft”, “Confidential” or “Proof”. Size is a share of each image’s shorter side. Saved next to the originals as name-marked.ext (or into output_dir); originals are never changed.

NameTypeReqDescription
anglenumber–Tiled pattern rotation in degrees; negative rises to the right.
colourstring–Text colour, hex like #ffffff.
filesarrayyesImage files or folders (a folder means the images in it). ~ is your home folder.
fontstring–Typeface for a text mark: serif (Instrument Serif), sans (Inter) or mono (JetBrains Mono), falling back to the computer’s own fonts.
formatstring–Output format. "original" keeps each file’s own (HEIC, AVIF and TIFF become JPEG, GIF becomes PNG).
logostring–A logo file to use as the mark instead of text (a transparent PNG or an SVG works best).
marginnumber–Gap from the edge for a single mark, as a % of the shorter side.
opacitynumber–Opacity in % (5 to 100).
output_dirstring–Folder to save results in. Default: next to each original. Originals are never overwritten.
positionstring–Where the mark goes: one of the nine positions for a single mark, or "tiled" for a repeated diagonal pattern over the whole image.
qualityinteger–Quality for JPEG and WebP (30 to 100).
shadowboolean–A soft shadow under the mark, so it reads on light and dark areas.
sizenumber–Mark size as a % of the image’s shorter side (2 to 40). For a logo this sets its longer side (×1.6).
spacingnumber–Gap between tiled marks, as a % of the default gap.
textstring–The mark’s text, e.g. “© Your Studio 2026”. Default “© One Design”. Ignored when a logo is given.

No output schema declared.

No examples provided.

Install

How do I install the One Design MCP server?

One Design runs locally as an npm package, launched with npx -y one-design-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · one-design-mcp

# add to Claude Code
claude mcp add axworks1-one-design -- npx -y one-design-mcp
Common questions

What is the One Design MCP server?

One Design is an MCP server listed in the public MCP registry as io.github.axworks1/one-design. Image, brand, privacy and PDF tools from one.design, run on your own computer. Nothing uploaded. This page covers its npm package (one-design-mcp).

Is the One Design MCP server safe to use?

One Design scores 72 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the One Design MCP server expose?

One Design exposes 37 tools: compress_images, resize_images, make_qr_code, lock_link, convert_images, and 32 more. Their descriptions and schemas cost roughly 11,496 tokens of context every time the server is loaded.

Is the One Design MCP server still maintained?

One Design is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the One Design MCP server under?

One Design declares the UNLICENSED licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.

What did VerifyMCP test on the One Design MCP server?

VerifyMCP ran 16 checks on One Design, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.