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.
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
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things12Claude Code: ask: see these tools
- Only reads14Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "build_logo_editor_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "build_logo_editor_link" says "link": a word for a change.
The server marks "build_coin_studio_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "build_coin_studio_link" says "link": a word for a change.
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
create_invite_linkA link that lets a signed-in person join the project as an editor or viewer (up to 50 uses, 7 days).No findings
Why it is in this group
- The name "create_invite_link" says "create": a word for a change.
- The name "create_invite_link" also says "invite": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it A link that lets a signed-in person join the project as an editor or viewer (up to 50 uses, 7 days). Owner only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Changes things 12Claude Code: ask
build_coin_studio_linkReturns a link that opens the 3D coin studio with a mark struck into a coin.1 finding
Why it is in this group
- The name "build_coin_studio_link" says "link": 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 "build_coin_studio_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "build_coin_studio_link" says "link": a word for a change.
Description, as the server wrote it Returns a link that opens the 3D coin studio with a mark struck into a coin. Looks: gold, chrome, silver, bronze. Works without an account.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
build_logo_editor_linkReturns a link that opens the 3D logo editor already styled, from a wordmark (text), from a stored logo image (mark, see upload_logo_image), or on the upload panel (upload=true) wh…1 finding
Why it is in this group
- The name "build_logo_editor_link" says "link": 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 "build_logo_editor_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "build_logo_editor_link" says "link": a word for a change.
Description, as the server wrote it Returns a link that opens the 3D logo editor already styled, from a wordmark (text), from a stored logo image (mark, see upload_logo_image), or on the upload panel (upload=true) when the person will drop the file themselves. Works without an account. Use list_materials for material ids.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
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
searchSearches the user's saved projects by title and returns ids with links (the ChatGPT search contract).No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Searches the user's saved projects by title and returns ids with links (the ChatGPT search contract). Use fetch for the detail of one result; list_projects for browsing with filters.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
