3DLogo.io
REMOTE · 3DLOGO.IO · SCANNED SEP 25
3DLogo.io, a browser 3D logo maker: 3D logos, 3D coins, 3D models from photos or prompts, embeds.
Available components
Recent critical change
Authorization (6 Sept 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_project). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability84
- 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
- Tool/resource definitions use about 3393 tokens (~99/item across 34 items; 29 tools + 5 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management63
- Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage88
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 57% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
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 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
How do I install the 3DLogo.io MCP server?
3DLogo.io is a hosted endpoint at https://3dlogo.io/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · 3dlogo.io
claude mcp add --transport http cottom-3dlogo 'https://3dlogo.io/api/mcp'
{
"mcpServers": {
"cottom-3dlogo": {
"url": "https://3dlogo.io/api/mcp"
}
}
} {
"servers": {
"cottom-3dlogo": {
"type": "http",
"url": "https://3dlogo.io/api/mcp"
}
}
} [mcp_servers.cottom-3dlogo] url = "https://3dlogo.io/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cottom-3dlogo": {
"type": "remote",
"url": "https://3dlogo.io/api/mcp",
"enabled": true
}
}
} openclaw mcp add cottom-3dlogo --url 'https://3dlogo.io/api/mcp' --transport streamable-http
mcp_servers:
cottom-3dlogo:
url: "https://3dlogo.io/api/mcp" {
"McpServers": {
"cottom-3dlogo": {
"Transport": "http",
"Url": "https://3dlogo.io/api/mcp"
}
}
} assistant mcp add cottom-3dlogo -t streamable-http -u 'https://3dlogo.io/api/mcp'
{
"mcpServers": {
"cottom-3dlogo": {
"type": "http",
"url": "https://3dlogo.io/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
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 25 Sept 2026 · Probed https://3dlogo.io/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=3dlogo.io | CN=WE1,O=Google Trust Services,C=US | 24 Sept 2026 | 23 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | ebc00354c63b28c5131d7ddf5ae73f1e |
| SANs: 3dlogo.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of 3dlogo.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| 3dlogo.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| content-security-policy | frame-ancestors 'self'; object-src 'none'; base-uri 'self' |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://3dlogo.io/api/mcp | Verified | 200 | |
| http (plaintext) | http://3dlogo.io/api/mcp | HTTPS enforced | 301 | https://3dlogo.io/api/mcp |
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 →
browse_looks Browse example looks ~101
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| looks | array | yes | – |
No examples provided.
build_coin_studio_link Build a 3D coin studio link ~160
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.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Hex colour, e.g. #1a1a1a |
| blank | string | – | – |
| coinColor | string | – | Hex colour, e.g. #1a1a1a |
| environment | string | – | Lighting room |
| font | string | – | – |
| logoColor | string | – | Hex colour, e.g. #1a1a1a |
| look | string | – | – |
| motion | string | – | – |
| text | string | yes | The mark text, up to 24 characters |
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
| url | string | yes | Absolute https URL the user can open |
No examples provided.
build_logo_editor_link Build a 3D logo editor link ~218
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.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Hex colour, e.g. #1a1a1a |
| depth | number | – | Extrusion depth, default 30 |
| environment | string | – | Lighting room |
| font | string | – | – |
| mark | string | – | Mark id from upload_logo_image or request_logo_image_upload |
| material | string | – | Material id from list_materials (e.g. gold-clean-optimised) |
| motion | string | – | – |
| text | string | – | The wordmark, up to 40 characters (omit when passing mark or upload) |
| upload | boolean | – | Open on the upload panel with the look prepared; the person drops their own file |
| Name | Type | Req | Description |
|---|---|---|---|
| mark | string|null | yes | – |
| material | string|null | yes | – |
| text | string|null | yes | – |
| upload | boolean | yes | – |
| url | string | yes | Absolute https URL the user can open |
No examples provided.
create_image_logo_project Create a logo project from an uploaded image ~179
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.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Hex colour, e.g. #1a1a1a |
| depth | number | – | Extrusion depth, default 30 |
| environment | string | – | Lighting room |
| mark | string | yes | Mark id from upload_logo_image or request_logo_image_upload |
| material | string | – | Material id from list_materials (e.g. gold-clean-optimised) |
| motion | string | – | – |
| title | string | – | Project name; defaults to the file name |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| inputType | string|null | yes | – |
| isPublic | boolean | yes | – |
| kind | string | yes | – |
| kindLabel | string | yes | – |
| mark | string | yes | – |
| modelUrl | – | yes | Public GLB, for published meshes |
| note | string | yes | – |
| shareUrl | – | yes | Public page, when published |
| thumbnailUrl | – | yes | Saved thumbnail; needs the owner's browser session |
| title | string | yes | – |
| updatedAt | string|null | yes | ISO 8601 |
| url | string | yes | Opens the project in its studio |
No examples provided.
create_invite_link Create a collaborator invite link ~54
A link that lets a signed-in person join the project as an editor or viewer (up to 50 uses, 7 days). Owner only.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| role | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| expiresAt | string | yes | – |
| role | string | yes | – |
| url | string | yes | Absolute https URL the user can open |
No examples provided.
create_share_link Create a share link and embed code ~169
Use when the user wants to send a saved design to someone, post it, or embed it on a site: returns the share page, the iframe embed snippet, the oEmbed endpoint and a poster image URL. Unlisted (default) works for anyone holding the link without making the project public; public makes the page indexable. Reuses the project's active link of the same visibility, so calling twice is safe. The project must have been opened and saved once. Owner only. Do not use to let someone edit; create_invite_link does that.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_download | boolean | – | Let viewers download the file from the page |
| id | string | yes | – |
| title | string | – | Title on the share page; defaults to the project title |
| visibility | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| allowDownload | boolean | yes | – |
| createdAt | string | yes | – |
| embedEnabled | boolean | yes | – |
| embedHtml | string | yes | Copy-paste iframe snippet with attribution |
| embedUrl | string | yes | The iframe source |
| expiresAt | string|null | yes | – |
| kind | string | yes | – |
| modelUrl | – | yes | The GLB, for shares of generated meshes |
| oembedUrl | string | yes | oEmbed endpoint for this share |
| posterUrl | – | yes | Rendered still of the design, when one exists |
| projectId | – | yes | – |
| status | string | yes | – |
| title | string | yes | – |
| token | string | yes | – |
| url | string | yes | The share page |
| videoUrl | – | yes | Turntable MP4, when one has been rendered |
| viewCount | integer | yes | – |
| visibility | string | yes | – |
No examples provided.
create_text_logo_project Create a text logo project ~130
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.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Hex colour, e.g. #1a1a1a |
| depth | number | – | – |
| environment | string | – | Lighting room |
| font | string | – | – |
| material | string | – | Material id from list_materials |
| motion | string | – | – |
| text | string | yes | – |
| title | string | – | Project name; defaults to the text |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| inputType | string|null | yes | – |
| isPublic | boolean | yes | – |
| kind | string | yes | – |
| kindLabel | string | yes | – |
| modelUrl | – | yes | Public GLB, for published meshes |
| note | string | yes | – |
| shareUrl | – | yes | Public page, when published |
| thumbnailUrl | – | yes | Saved thumbnail; needs the owner's browser session |
| title | string | yes | – |
| updatedAt | string|null | yes | ISO 8601 |
| url | string | yes | Opens the project in its studio |
No examples provided.
delete_project Delete a project ~47
Permanently deletes a saved project, its share page and invites. Confirm with the user first. Owner only.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true |
| id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| deleted | boolean | yes | – |
| id | string | yes | – |
No examples provided.
duplicate_project Duplicate a project ~77
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| title | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| inputType | string|null | yes | – |
| isPublic | boolean | yes | – |
| kind | string | yes | – |
| kindLabel | string | yes | – |
| modelUrl | – | yes | Public GLB, for published meshes |
| shareUrl | – | yes | Public page, when published |
| thumbnailUrl | – | yes | Saved thumbnail; needs the owner's browser session |
| title | string | yes | – |
| updatedAt | string|null | yes | ISO 8601 |
| url | string | yes | Opens the project in its studio |
No examples provided.
fetch Fetch a project ~40
Full detail for one project id returned by search (the ChatGPT fetch contract): a text summary, the opening URL and metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| metadata | object | yes | – |
| text | string | yes | – |
| title | string | yes | – |
| url | string | yes | Absolute https URL the user can open |
No examples provided.
generate_3d_model Generate a 3D model ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| density | string | – | – |
| image_url | string | – | For image mode: a public https image (PNG/JPEG/WebP) |
| mode | string | yes | – |
| prompt | string | – | For text mode |
| texture | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | number | yes | – |
| runId | string | yes | – |
| status | string | yes | – |
| statusUrl | string | yes | Absolute https URL the user can open |
No examples provided.
get_account Get account and plan ~46
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| accountUrl | string | yes | Absolute https URL the user can open |
| canExportHdVideo | boolean | yes | – |
| canUsePaidDensity | boolean | yes | – |
| creditsExpireAt | string|null | yes | – |
| creditsRemaining | number | yes | – |
| creditsRollOver | boolean | yes | – |
| string | yes | – | |
| exportWatermark | boolean | yes | – |
| isPro | boolean | yes | – |
| isUltra | boolean | yes | – |
| maxImagePx | integer | yes | – |
| name | string|null | yes | – |
| periodCreditsRemaining | number | yes | – |
| plan | string | yes | – |
| projectCount | integer | yes | – |
| projectLimit | integer | yes | – |
| purchasedCredits | number | yes | – |
| purchasedCreditsExpireAt | string|null | yes | – |
| shareLimit | integer | yes | – |
No examples provided.
get_generation_preview Get a picture of a generated mesh ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| include_image_data | boolean | – | Also return the image inline as image content |
| run_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | – | yes | – |
| contentType | string | yes | – |
| expiresAt | string | yes | ISO 8601, when imageUrl stops working |
| imageUrl | string | yes | Signed image URL, valid about an hour; fetch or show it before then |
| openUrl | string | yes | The studio page for it |
| runId | string | yes | – |
No examples provided.
get_generation_status Check a Generate run ~46
Status of a run started by generate_3d_model (or from the user's history). When completed, save it with save_generation_as_project.
| Name | Type | Req | Description |
|---|---|---|---|
| run_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | number|null | yes | – |
| error | string|null | yes | – |
| hasPreview | boolean | yes | True once a render of the mesh exists; get_generation_preview returns it |
| modelName | string | yes | – |
| openUrl | string | yes | The run in the Generate studio |
| queuePosition | – | yes | – |
| refunded | boolean | yes | – |
| runId | string | yes | – |
| status | string | yes | – |
No examples provided.
get_plans Compare plans and credit packs ~80
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| creditPackNotes | array | yes | – |
| creditPacks | array | yes | – |
| free | array | yes | – |
| pricingUrl | string | yes | Absolute https URL the user can open |
| pro | object | yes | – |
| ultra | object | yes | – |
No examples provided.
get_project Get a project ~83
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| include_config | boolean | – | Also return the saved workspace config (large) |
| Name | Type | Req | Description |
|---|---|---|---|
| accessRole | string | yes | – |
| canEdit | boolean | yes | – |
| config | object | – | – |
| hasArtwork | boolean | yes | False until the project has been opened and saved once in the studio |
| id | string | yes | – |
| inputType | string|null | yes | – |
| isPublic | boolean | yes | – |
| kind | string | yes | – |
| kindLabel | string | yes | – |
| modelUrl | – | yes | Public GLB, for published meshes |
| shareUrl | – | yes | Public page, when published |
| thumbnailUrl | – | yes | Saved thumbnail; needs the owner's browser session |
| title | string | yes | – |
| updatedAt | string|null | yes | ISO 8601 |
| url | string | yes | Opens the project in its studio |
No examples provided.
get_project_preview Get a picture of a project ~121
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| include_image_data | boolean | – | Also return the image inline as image content |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | – | yes | – |
| contentType | string | yes | – |
| expiresAt | string | yes | ISO 8601, when imageUrl stops working |
| imageUrl | string | yes | Signed image URL, valid about an hour; fetch or show it before then |
| openUrl | string | yes | The studio page for it |
| projectId | string | yes | – |
No examples provided.
list_coin_looks List coin looks ~64
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| blanks | array | yes | – |
| environments | array | yes | – |
| fonts | array | yes | – |
| looks | array | yes | – |
| motions | array | yes | – |
No examples provided.
list_generations List recent Generate runs ~51
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| runs | array | yes | – |
No examples provided.
list_materials List logo materials ~101
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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Only this category |
| Name | Type | Req | Description |
|---|---|---|---|
| categories | object | yes | – |
| materials | array | yes | – |
No examples provided.
list_projects List saved projects ~53
The user's saved logos, coins and generated meshes, newest first. Optional title search and kind filter.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | – | – |
| page | integer | – | – |
| query | string | – | Match against the title |
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | yes | – |
| projects | array | yes | – |
| total | integer | yes | – |
| totalPages | integer | yes | – |
No examples provided.
list_share_links List share links ~48
The account's active share links, or one project's when id is given, each with page, embed and poster URLs and a view count.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | Only this project's links |
| Name | Type | Req | Description |
|---|---|---|---|
| shares | array | yes | – |
No examples provided.
quote_generation Quote a Generate run ~54
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.
| Name | Type | Req | Description |
|---|---|---|---|
| density | string | – | – |
| mode | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| density | string | yes | – |
| mode | string | yes | – |
| quote | integer | yes | Credits the run will charge |
No examples provided.
request_logo_image_upload Request an upload URL for a logo file ~119
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).
| Name | Type | Req | Description |
|---|---|---|---|
| file_name | string | – | The file name, used as the project title later |
| Name | Type | Req | Description |
|---|---|---|---|
| accept | array | yes | – |
| example | string | yes | – |
| markId | string | yes | – |
| maxBytes | integer | yes | – |
| maxSvgBytes | integer | yes | – |
| method | string | yes | – |
| next | string | yes | – |
| uploadUrl | string | yes | Absolute https URL the user can open |
No examples provided.
revoke_share_link Turn off a share link ~52
Turns a share link off by token: the page, the embed and the poster stop serving within minutes. Cannot be undone; create_share_link makes a fresh one. Owner only.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| allowDownload | boolean | yes | – |
| createdAt | string | yes | – |
| embedEnabled | boolean | yes | – |
| embedHtml | string | yes | Copy-paste iframe snippet with attribution |
| embedUrl | string | yes | The iframe source |
| expiresAt | string|null | yes | – |
| kind | string | yes | – |
| modelUrl | – | yes | The GLB, for shares of generated meshes |
| oembedUrl | string | yes | oEmbed endpoint for this share |
| posterUrl | – | yes | Rendered still of the design, when one exists |
| projectId | – | yes | – |
| status | string | yes | – |
| title | string | yes | – |
| token | string | yes | – |
| url | string | yes | The share page |
| videoUrl | – | yes | Turntable MP4, when one has been rendered |
| viewCount | integer | yes | – |
| visibility | string | yes | – |
No examples provided.
save_generation_as_project Save a generated mesh as a project ~69
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.
| Name | Type | Req | Description |
|---|---|---|---|
| public | boolean | – | – |
| run_id | string | yes | – |
| title | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| inputType | string|null | yes | – |
| isPublic | boolean | yes | – |
| kind | string | yes | – |
| kindLabel | string | yes | – |
| modelUrl | – | yes | Public GLB, for published meshes |
| shareUrl | – | yes | Public page, when published |
| thumbnailUrl | – | yes | Saved thumbnail; needs the owner's browser session |
| title | string | yes | – |
| updatedAt | string|null | yes | ISO 8601 |
| url | string | yes | Opens the project in its studio |
No examples provided.
search Search projects ~49
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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
update_project Update a saved project ~327
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).
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Hex colour, e.g. #1a1a1a |
| blank | string | – | Coin projects: the edge |
| coin_color | string | – | Coin projects: the coin body |
| depth | number | – | Extrusion depth; logo projects |
| environment | string | – | Lighting room |
| font | string | – | – |
| id | string | yes | – |
| logo_color | string | – | Coin projects: the struck mark |
| look | string | – | Coin projects |
| material | string | – | Material id from list_materials; logo projects |
| motion | string | – | – |
| public | boolean | – | Turn the public page on or off; owner only |
| text | string | – | New wordmark; text projects only (coins: 24 characters) |
| title | string | – | New project title |
| Name | Type | Req | Description |
|---|---|---|---|
| changed | array | yes | – |
| id | string | yes | – |
| inputType | string|null | yes | – |
| isPublic | boolean | yes | – |
| kind | string | yes | – |
| kindLabel | string | yes | – |
| modelUrl | – | yes | Public GLB, for published meshes |
| note | string | yes | – |
| shareUrl | – | yes | Public page, when published |
| thumbnailUrl | – | yes | Saved thumbnail; needs the owner's browser session |
| title | string | yes | – |
| updatedAt | string|null | yes | ISO 8601 |
| url | string | yes | Opens the project in its studio |
No examples provided.
upload_logo_image Upload a logo image ~275
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.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Hex colour, e.g. #1a1a1a |
| depth | number | – | Extrusion depth, default 30 |
| environment | string | – | Lighting room |
| file_name | string | – | Shown in the editor; defaults to the file name |
| image | object | – | The image the user attached in chat |
| image_data | string | – | data:image/png;base64,... for small images only; most hosts cap this well under 1 MB |
| image_url | string | – | Public https URL of the image file |
| material | string | – | Material id from list_materials (e.g. gold-clean-optimised) |
| motion | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| contentType | string | yes | – |
| editorUrl | string | yes | Absolute https URL the user can open |
| expiresAt | string | yes | – |
| fileName | string | yes | – |
| markId | string | yes | – |
| material | string|null | yes | – |
No examples provided.
What is the 3DLogo.io MCP server?
3DLogo.io is an MCP server listed in the public MCP registry as io.github.cottom/3dlogo. 3DLogo.io, a browser 3D logo maker: 3D logos, 3D coins, 3D models from photos or prompts, embeds. This page covers its hosted endpoint (https://3dlogo.io/api/mcp).
Is the 3DLogo.io MCP server safe to use?
3DLogo.io scores 76 out of 100 on VerifyMCP. 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 3DLogo.io MCP server expose?
3DLogo.io exposes 29 tools: list_materials, list_coin_looks, build_logo_editor_link, build_coin_studio_link, get_plans, and 24 more. Their descriptions and schemas cost roughly 3,011 tokens of context every time the server is loaded.
Does the 3DLogo.io MCP server require authentication?
No. We connected to 3DLogo.io without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the 3DLogo.io MCP server still maintained?
3DLogo.io is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.