Skip to content

3DLogo.io

by cottom · remote · no sign-in to list tools · v1.3.0 · published by GitHub user cottom

3DLogo.io, a browser 3D logo maker: 3D logos, 3D coins, 3D models from photos or prompts, embeds.

Deletes · 2Final · 1Changes · 12

29 tools: 2 can delete or cancel things, 1 do something that can't be undone, 12 change things and 14 only read.

Scanned Oct 21, 2026

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

claude mcp add --transport http 3dlogo https://3dlogo.io/api/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "build_logo_editor_link" 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 "build_logo_editor_link" says "link": a word for a change.

    What this check looks for
  • The server marks "build_coin_studio_link" 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 "build_coin_studio_link" says "link": 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.

29 tools

Deletes or cancels 2Claude Code: deny
  • delete_projectPermanently deletes a saved project, its share page and invites.No findings

    Why it is in this group

    • The name "delete_project" says "delete": a word for removing or ending something.
    • The description says "Permanently deletes".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently deletes a saved project, its share page and invites. Confirm with the user first. Owner only.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Can't be undone 1Claude Code: ask
Changes things 12Claude Code: ask
  • create_image_logo_projectSaves a new 3D logo project from a mark stored with upload_logo_image or request_logo_image_upload, with a material and lighting, so it appears in the user's Projects.No findings

    Why it is in this group

    • The name "create_image_logo_project" says "create": a word for a change.
    Description, as the server wrote it
    Saves a new 3D logo project from a mark stored with upload_logo_image or request_logo_image_upload, with a material and lighting, so it appears in the user's Projects. The image is traced into 3D the first time the project opens; open it once and save before publishing. Does not spend credits.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_text_logo_projectSaves a new 3D logo project from a wordmark with a material and lighting, so it appears in the user's Projects and opens in the editor.No findings

    Why it is in this group

    • The name "create_text_logo_project" says "create": a word for a change.
    Description, as the server wrote it
    Saves a new 3D logo project from a wordmark with a material and lighting, so it appears in the user's Projects and opens in the editor. Does not spend credits.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • duplicate_projectUse when the user wants a variant without touching the original ("a gold version of this one"): copies a saved logo or coin project with its artwork, optionally under a new title; …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 when the user wants a variant without touching the original ("a gold version of this one"): copies a saved logo or coin project with its artwork, optionally under a new title; restyle the copy with update_project. Counts against the project cap. Does not spend credits.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • generate_3d_modelStarts an AI generate from a text prompt or a public image URL.No findings

    Why it is in this group

    • The name "generate_3d_model" says "generate": a word for a change.
    Description, as the server wrote it
    Starts an AI generate from a text prompt or a public image URL. Spends the user's credits (see quote_generation). Returns a run id to poll with get_generation_status.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • quote_generationUse before generate_3d_model so the user knows the cost: the credits a text or image run charges at a density.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use before generate_3d_model so the user knows the cost: the credits a text or image run charges at a density. Read-only, spends nothing.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • request_logo_image_uploadFor a logo file on the user's machine that cannot be sent inside a tool call: returns a mark id and a one-shot HTTPS PUT URL.No findings

    Why it is in this group

    • The name "request_logo_image_upload" says "request": a word for a change.
    Description, as the server wrote it
    For a logo file on the user's machine that cannot be sent inside a tool call: returns a mark id and a one-shot HTTPS PUT URL. Upload the raw file bytes to it (for example `curl -T logo.png "<uploadUrl>"`), then call build_logo_editor_link with the mark id (or create_image_logo_project when signed in). Accepts PNG, JPEG, GIF, WebP (8 MB) and SVG (1 MB).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • save_generation_as_projectKeeps a completed run in Projects (idempotent per run).No findings

    Why it is in this group

    • The name "save_generation_as_project" says "save": a word for a change.
    Description, as the server wrote it
    Keeps a completed run in Projects (idempotent per run). With public=true it is also published, which gives a share page and a public GLB URL the user can download.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_projectUse when the user wants an existing project changed without opening the studio: its title, whether it is public (a public project has a share page and, for meshes, a public GLB URL…No findings

    Why it is in this group

    • The name "update_project" says "update": a word for a change.
    Description, as the server wrote it
    Use when the user wants an existing project changed without opening the studio: its title, whether it is public (a public project has a share page and, for meshes, a public GLB URL), and on logo and coin projects the style: material, lighting room, background, motion, depth, font, the wordmark on text projects; on coins also the look, coin and mark colours, and the blank edge. Only the fields given change. Making a project public needs a saved render. Style changes render the next time the project is opened and saved. Do not use for a share link that keeps the project private (create_share_link) or to make something new (create_text_logo_project, duplicate_project).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • upload_logo_imageStores a logo image (PNG, JPEG, GIF, WebP up to 8 MB; SVG up to 1 MB) so the 3D logo editor can extrude it, and returns a mark id plus an editor link already styled.No findings

    Why it is in this group

    • The name "upload_logo_image" says "upload": a word for a change.
    Description, as the server wrote it
    Stores a logo image (PNG, JPEG, GIF, WebP up to 8 MB; SVG up to 1 MB) so the 3D logo editor can extrude it, and returns a mark id plus an editor link already styled. Give exactly one source: image (a file the user attached in chat), image_url (a public https link to the image file itself, not a page), or image_data (a base64 data URL, small files only). Marks expire after 7 days. For a file on the user's own machine use request_logo_image_upload instead.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 14Claude Code: allow
  • browse_looksUse when the user wants to see what is possible or pick a style before designing: the example looks (chrome, gold, glass, holographic, brushed metal, gradient, 3D text, animated), …No findings

    Why it is in this group

    • The name "browse_looks" says "browse": a word for reading.
    Description, as the server wrote it
    Use when the user wants to see what is possible or pick a style before designing: the example looks (chrome, gold, glass, holographic, brushed metal, gradient, 3D text, animated), each with a rendered example image, what it is best for, the presets behind it, and an editor link that applies it. Works without an account. Do not use to get material ids for another tool; list_materials has the full catalogue.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • fetchFull detail for one project id returned by search (the ChatGPT fetch contract): a text summary, the opening URL and metadata.No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    Full detail for one project id returned by search (the ChatGPT fetch contract): a text summary, the opening URL and metadata.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_accountUse to know what the connected account can do before acting: plan, remaining Generate credits (period and purchased), project and share-link counts against their caps, and export l…No findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.
    Description, as the server wrote it
    Use to know what the connected account can do before acting: plan, remaining Generate credits (period and purchased), project and share-link counts against their caps, and export limits. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_generation_previewUse once get_generation_status reports completed with hasPreview true: returns a signed URL of the provider's render of the mesh, valid for an hour, and the image inline when inclu…No findings

    Why it is in this group

    • The name "get_generation_preview" says "get": a word for reading.
    Description, as the server wrote it
    Use once get_generation_status reports completed with hasPreview true: returns a signed URL of the provider's render of the mesh, valid for an hour, and the image inline when include_image_data is true (only on hosts that display image content). Do not use for saved logo or coin projects; get_project_preview covers those.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_generation_statusStatus of a run started by generate_3d_model (or from the user's history).No findings

    Why it is in this group

    • The name "get_generation_status" says "get": a word for reading.
    Description, as the server wrote it
    Status of a run started by generate_3d_model (or from the user's history). When completed, save it with save_generation_as_project.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_plansUse when the user asks what is free, what Pro or Ultra add, or what a Generate run costs in credits: the plan features (exports, watermark, credits, saves) and the one-time credit …No findings

    Why it is in this group

    • The name "get_plans" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user asks what is free, what Pro or Ultra add, or what a Generate run costs in credits: the plan features (exports, watermark, credits, saves) and the one-time credit packs, with what packs do and do not unlock. Read-only. Do not use to check the connected user's own plan; get_account does that.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_projectDetails and links for one saved project by id: where it opens, its public page if published, the GLB for meshes, and with include_config the saved workspace settings (material, lig…No findings

    Why it is in this group

    • The name "get_project" says "get": a word for reading.
    Description, as the server wrote it
    Details and links for one saved project by id: where it opens, its public page if published, the GLB for meshes, and with include_config the saved workspace settings (material, lighting, motion). For a picture of it, call get_project_preview.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_project_previewUse when the user wants to see a saved project, or you need to describe it: returns a signed URL of the studio's last saved render, valid for an hour, and the PNG inline when inclu…No findings

    Why it is in this group

    • The name "get_project_preview" says "get": a word for reading.
    Description, as the server wrote it
    Use when the user wants to see a saved project, or you need to describe it: returns a signed URL of the studio's last saved render, valid for an hour, and the PNG inline when include_image_data is true (only on hosts that display image content; elsewhere it costs many tokens for nothing). Nothing to show until the project has been opened and saved once. Do not use for Generate runs; get_generation_preview covers those.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_coin_looksUse before build_coin_studio_link or a coin restyle: the preset looks (gold, chrome, silver, bronze), blank edges (reeded, milled, smooth), motions, lighting rooms and fonts the co…No findings

    Why it is in this group

    • The name "list_coin_looks" says "list": a word for reading.
    Description, as the server wrote it
    Use before build_coin_studio_link or a coin restyle: the preset looks (gold, chrome, silver, bronze), blank edges (reeded, milled, smooth), motions, lighting rooms and fonts the coin studio accepts. Read-only, no account needed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_generationsUse to find an earlier Generate run (to check, preview or save it): the recent runs with status, prompt and whether a render exists, newest first.No findings

    Why it is in this group

    • The name "list_generations" says "list": a word for reading.
    Description, as the server wrote it
    Use to find an earlier Generate run (to check, preview or save it): the recent runs with status, prompt and whether a render exists, newest first. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_materialsUse when you need a material id: the presets the 3D logo editor renders (chrome, gold, glass, holographic, neon, clay, wood...), each with its category and whether it needs Pro.No findings

    Why it is in this group

    • The name "list_materials" says "list": a word for reading.
    Description, as the server wrote it
    Use when you need a material id: the presets the 3D logo editor renders (chrome, gold, glass, holographic, neon, clay, wood...), each with its category and whether it needs Pro. Ids are exact strings for build_logo_editor_link, create_text_logo_project and update_project. Do not use to show the user what a look is like; browse_looks has example images.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_projectsThe user's saved logos, coins and generated meshes, newest first.No findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    The user's saved logos, coins and generated meshes, newest first. Optional title search and kind filter.

    Annotations the server declares

    • 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.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http 3dlogo https://3dlogo.io/api/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__3dlogo__list_materials",
      "mcp__3dlogo__list_coin_looks",
      "mcp__3dlogo__get_plans",
      "mcp__3dlogo__browse_looks",
      "mcp__3dlogo__get_account",
      "mcp__3dlogo__list_projects",
      "mcp__3dlogo__get_project",
      "mcp__3dlogo__get_generation_status",
      "mcp__3dlogo__list_generations",
      "mcp__3dlogo__get_project_preview",
      "mcp__3dlogo__get_generation_preview",
      "mcp__3dlogo__list_share_links",
      "mcp__3dlogo__search",
      "mcp__3dlogo__fetch"
    ],
    "ask": [
      "mcp__3dlogo__build_logo_editor_link",
      "mcp__3dlogo__build_coin_studio_link",
      "mcp__3dlogo__upload_logo_image",
      "mcp__3dlogo__request_logo_image_upload",
      "mcp__3dlogo__create_text_logo_project",
      "mcp__3dlogo__create_image_logo_project",
      "mcp__3dlogo__create_invite_link",
      "mcp__3dlogo__quote_generation",
      "mcp__3dlogo__generate_3d_model",
      "mcp__3dlogo__save_generation_as_project",
      "mcp__3dlogo__create_share_link",
      "mcp__3dlogo__update_project",
      "mcp__3dlogo__duplicate_project"
    ],
    "deny": [
      "mcp__3dlogo__delete_project",
      "mcp__3dlogo__revoke_share_link"
    ]
  }
}

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 3dlogo. Review it before you use it.