GoModelHub 3D MCP
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GoModelHub 3D MCPgenerate a 3D model of a wooden chair"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GoModelHub 3D MCP
MCP server for the GoModelHub 3D generation API — use it in Cursor and other AI Agents with natural language.
English · 中文文檔 · 日本語 · Deutsch · Report Bug · Deploy Guide
Features
Zero-config Remote MCP — Streamable HTTP, no local install needed
Local stdio MCP — supports local
imagePathfor image-to-3D3 Tools —
generate_3d,get_3d_status,generate_3d_and_waitCross-platform — Windows / macOS / Linux
Related MCP server: Meshy MCP Server
Tools
Tool | Description |
| Submit a 3D job; returns |
| Poll task status |
| Submit and poll until done (recommended) |
Prerequisites
Node.js 18+
Platform API Key (
gk-/sk-) — get it from GoModelHubmodelCode from Model Marketplace (e.g.
hyper3d)
Default Model
Mode | Where | Example |
Remote MCP |
|
|
Local MCP |
|
|
Use the modelCode shown in Model Marketplace (no tp- prefix).
Option 1: Remote MCP (recommended, zero install)
Remote MCP does not support local
imagePath. Use a publicimageURL for image-to-3D.
{
"mcpServers": {
"gomodelhub-3d": {
"url": "https://login.gomodelhub.com/mcp/3d",
"headers": {
"Authorization": "Bearer gk-your-key",
"X-GoModelHub-Default-Model": "hyper3d"
}
}
}
}Option 2: Local MCP (supports imagePath)
Install
git clone https://github.com/kelouer/GoModelHub-MCP.git
cd GoModelHub-MCP
npm install
npm install -g .OS | Command |
Windows |
|
macOS / Linux |
|
Verify: where gomodelhub-3d-mcp (Windows) or which gomodelhub-3d-mcp.
Configure
{
"mcpServers": {
"gomodelhub-3d": {
"command": "gomodelhub-3d-mcp",
"env": {
"GOMODELHUB_BASE_URL": "https://login.gomodelhub.com",
"GOMODELHUB_API_KEY": "gk-your-key",
"GOMODELHUB_DEFAULT_MODEL": "hyper3d"
}
}
}
}See examples/mcp.local.json. Save and Refresh.
Local image-to-3D
{ "model": "v3.1-20260211", "imagePath": "D:/photos/chair.jpg", "mode": "image" }Supports jpg / png / webp, max 50MB.
Comparison
Remote MCP | Local MCP | |
Install | None |
|
Text-to-3D | ✅ | ✅ |
Public | ✅ | ✅ |
Local | ❌ | ✅ |
Troubleshooting
Symptom | Fix |
| Ensure |
| Check |
| Set default model or pass |
HTTP 401 / 403 | Invalid key or insufficient quota |
Remote image-to-3D fails | Use public |
License
MIT — see LICENSE.
Available Tools
3 toolsgenerate_3dA
Submit a 3D generation job to GoModelHub. Supports text/URL (JSON) or local image file (multipart). Returns taskId.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Optional mode: text or image. | |
| image | No | Public https image URL for image-to-3D (JSON submit). | |
| model | No | 3D modelCode from marketplace (modelType=3d), e.g. hyper3d, neural4d, v3.1-20260211. Do NOT add tp- prefix. | |
| prompt | No | Text prompt. Required unless image or imagePath is set. | |
| options | No | Vendor options. JSON submit: options object; local file: sent as metadata JSON. | |
| imagePath | No | Local image file path for image-to-3D (stdio MCP only). Prefer image URL on Remote MCP. Max 50MB, jpg/png/webp. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool is asynchronous (returns a taskId rather than the 3D result), and supports two submission mechanisms. However, it does not mention failure behavior, rate limits, authentication, or what happens on invalid input. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core purpose and return value are front-loaded, followed by input format specifics. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal for a tool with 6 parameters and no output schema. It explains the return value (taskId) but not the full response structure or that the job is non-blocking and should be polled via get_3d_status. It also doesn't explain the difference between the two submission formats beyond what the schema already says. An agent could call it correctly, but it would need to infer the async workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The tool description adds context about JSON vs multipart submission but does not clarify relationships between parameters (e.g., when mode is required, or how imagePath differs from image). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Submit'), a specific resource ('a 3D generation job to GoModelHub'), and the expected output ('Returns taskId'). It distinguishes itself from siblings by focusing on submission, while get_3d_status likely retrieves status and generate_3d_and_wait likely blocks for completion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions supported input modes (JSON vs multipart) but provides no guidance on when to use this tool over generate_3d_and_wait. It does not explicitly state that this is fire-and-forget, that callers should poll with get_3d_status, or that generate_3d_and_wait is the blocking alternative. The only hint is 'Returns taskId', implying async, but the sibling distinction is left unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_3d_and_waitA
Submit a 3D job (JSON or local image) and poll until succeeded/failed or timeout.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Optional mode: text or image. | |
| image | No | Public https image URL for image-to-3D (JSON submit). | |
| model | No | 3D modelCode from marketplace (modelType=3d), e.g. hyper3d, neural4d, v3.1-20260211. Do NOT add tp- prefix. | |
| prompt | No | Text prompt. Required unless image or imagePath is set. | |
| options | No | Vendor options. JSON submit: options object; local file: sent as metadata JSON. | |
| imagePath | No | Local image file path for image-to-3D (stdio MCP only). Prefer image URL on Remote MCP. Max 50MB, jpg/png/webp. | |
| timeoutSec | No | Max wait seconds (default 300) | |
| pollIntervalSec | No | Poll interval seconds (default 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does reveal key behavior: it submits the job, polls, and stops only on success, failure, or timeout. It does not detail return format or side effects, but the core blocking lifecycle is clearly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no filler, verb-first structure with a clear resource and outcome. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters, no output schema, and no annotations, yet the description does not state what is returned on success or failure, nor does it reference sibling tools for non-blocking alternatives. An agent must infer important invocation details from names and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only a generic 'JSON or local image' framing; it does not enrich parameter meaning beyond the already complete schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Submit a 3D job') and a distinct completion behavior ('poll until succeeded/failed or timeout'). This clearly separates it from sibling tools generate_3d (submit only) and get_3d_status (status-only polling).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The blocking-and-waiting behavior implies this is for callers that need a finished result, but the description does not explicitly say when to choose this over generate_3d or get_3d_status. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_3d_statusB
Poll 3D task status once. When status=succeeded, download via assetUrl with the same API key.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | taskId returned by generate_3d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the call polls once and that on success you should download via assetUrl with the same API key. However, it does not state whether the operation is read-only, what happens when status is not succeeded, whether it can be called repeatedly, or any error behavior. Partial transparency but missing key behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The primary purpose is stated first, and the follow-up action (download on success) is added efficiently. No redundant information, excellent structure for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no output schema, and no annotations, the description covers the essential action and next step. However, it omits details about the response structure (e.g., status field values, assetUrl presence) and fails to mention what to do if status is not succeeded, which an agent might need. Slightly incomplete but adequate for a simple poll.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (taskId described as 'returned by generate_3d'), so the schema already documents the parameter fully. The description adds no additional parameter context, which is acceptable given the high coverage. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'poll' and the resource '3D task status', and the phrase 'once' makes it a single-shot status check. It inherently distinguishes itself from the sibling tools generate_3d (creates a task) and generate_3d_and_wait (creates and waits), though it doesn't explicitly name them. Purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not say 'use this after generate_3d' or 'instead of generate_3d_and_wait for polling'. The prerequisite that taskId comes from generate_3d appears only in the schema, not the description. The agent must infer usage from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.3.1- First observed
generate_3d - First observed
generate_3d_and_wait - First observed
get_3d_status
TDQS
Scored across 3 tools
The three tools are mostly distinct: get_3d_status only polls, generate_3d submits async, and generate_3d_and_wait submits plus polls. However, generate_3d and generate_3d_and_wait share a similar starting action, which could cause minor confusion despite the names making the difference clear.
All tool names use snake_case with a verb-first pattern: get_3d_status, generate_3d, generate_3d_and_wait. The naming is consistent in style, though generate_3d_and_wait is slightly more compound and less uniform than the other two.
Three tools is a well-scoped set for a 3D generation MCP: one async submit, one sync submit-and-wait, and one status poller. Each tool serves a clear purpose without unnecessary bloat.
The tool surface covers the core 3D generation workflow: submitting a job, polling status, and knowing when to download via assetUrl. It lacks explicit cancellation or result-download tools, but those may be outside the intended scope and are not critical gaps.
Maintenance
Related MCP Connectors
Turn text or an image into an animation-ready 3D model (GLB): generate, rig, animate, retexture.
Free text/image → 3D: generate, rig, avatar-ify, and refine GLB models. No auth, no payment.
Generate images, video, music, voice and 3D through one API. 30 tools, 200+ models.
3D avatar/asset foundry: text/image -> rigged, validated, engine-ready GLB via x402.
Related MCP Servers
- AlicenseAqualityBmaintenanceCreate and edit parametric 3D models with OpenSCAD. Render STL meshes and PNG previews, export SCAD, STL, CSG, and 3MF, and persist model revisions through MCP over stdio or local HTTP. Includes headless Docker support; no GPU or API keys required.8198MIT

Meshy MCP Serverofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to create, manage, and download 3D models, textures, images, rigged characters, and animations through natural conversation.3,805 npm49MIT- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to generate 3D assets from text descriptions using Trellis and import them into Blender, with local deployment for fast and free 3D generation.10MIT

Context3D MCP Serverofficial
AlicenseBqualityDmaintenanceEnables AI-powered 3D model generation from text and images with PBR textures, supporting blockchain authentication and MCP integration.5711 npmMIT