Skip to content

Shapesoda

by shapesoda.com · remote · no sign-in to list tools · v1.0.0 · published by com.shapesoda

Vectorize images: PNG/JPG to SVG, PDF, EPS, DXF. Turns logos, icons and scans into clean vectors.

Changes · 4

5 tools: 4 change things and 1 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http vectorizer https://shapesoda.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "open_editor" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_editor" says "open": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

5 tools

Changes things 4Claude Code: ask
  • create_uploadCreates a one-time upload link for a local image file (valid 10 minutes).No findings

    Why it is in this group

    • The name "create_upload" says "create": a word for a change.
    Description, as the server wrote it
    Creates a one-time upload link for a local image file (valid 10 minutes). Upload the file with the returned curl command, then pass upload_id to vectorize. Only for agents whose terminal can reach shapesoda.com (Claude Code, Cursor and similar); in Claude.ai and other chat apps the sandbox cannot upload there, so call open_editor instead.

    Annotations the server declares

    • title: Create upload link
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • open_editorUse this when the user wants to vectorize an image but you cannot pass the image to vectorize (no image, upload_id or exact base64 bytes available), including when the user attache…1 finding

    Why it is in this group

    • The name "open_editor" says "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "open_editor" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_editor" says "open": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Use this when the user wants to vectorize an image but you cannot pass the image to vectorize (no image, upload_id or exact base64 bytes available), including when the user attached the image in Claude.ai: opens the Shapesoda window, where the user picks the file, sees the vector result and adjusts it. Does not vectorize by itself and uses no credits. Do not use for generating new images.

    Annotations the server declares

    • title: Open Shapesoda
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • revectorizeRe-vectorizes a stored result (result_id and token from vectorize) with other settings, free for 24 hours after the first vectorization.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Re-vectorizes a stored result (result_id and token from vectorize) with other settings, free for 24 hours after the first vectorization. Used by the Shapesoda window.

    Annotations the server declares

    • title: Re-vectorize with other settings
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • vectorizeUse this when the user wants to convert a raster image (logo, icon, illustration, scan, screenshot; PNG, JPEG, WebP, BMP, GIF, TIFF) into a vector: SVG, PDF, EPS, DXF or a re-rende…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Use this when the user wants to convert a raster image (logo, icon, illustration, scan, screenshot; PNG, JPEG, WebP, BMP, GIF, TIFF) into a vector: SVG, PDF, EPS, DXF or a re-rendered PNG. Pass the image in exactly one way: image (a file attached to the chat message, ChatGPT), upload_id (from create_upload) or image_base64 (≤2 MB, only exact file bytes you already have as text). If none of these is available, for example an image attached in Claude.ai, call open_editor instead. Returns a download link per format, valid 24 hours (or retention_days), and the SVG inline when small. Uses 1 credit for all formats; mode=test is free and watermarked; mode=preview is a free PNG up to 1 MP whose link buys the vectors later (format=svg, 1 credit). Do not use for generating new images, editing photos or upscaling.

    Annotations the server declares

    • title: Vectorize image
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 1Claude Code: allow
  • get_usageShows how many credits were used this month and how many remain.No findings

    Why it is in this group

    • The name "get_usage" says "get": a word for reading.
    Description, as the server wrote it
    Shows how many credits were used this month and how many remain.

    Annotations the server declares

    • title: Get usage
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http vectorizer https://shapesoda.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__vectorizer__get_usage"
    ],
    "ask": [
      "mcp__vectorizer__create_upload",
      "mcp__vectorizer__vectorize",
      "mcp__vectorizer__open_editor",
      "mcp__vectorizer__revectorize"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as vectorizer. Review it before you use it.