Skip to main content
Glama
gomodelhub

GoModelHub 3D MCP

Official
by gomodelhub

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 imagePath for image-to-3D

  • 3 Tools — generate_3d, get_3d_status, generate_3d_and_wait

  • Cross-platform — Windows / macOS / Linux

Related MCP server: Meshy MCP Server

Tools

Tool

Description

generate_3d

Submit a 3D job; returns taskId

get_3d_status

Poll task status

generate_3d_and_wait

Submit and poll until done (recommended)

Prerequisites

  • Node.js 18+

  • Platform API Key (gk- / sk-) — get it from GoModelHub

  • modelCode from Model Marketplace (e.g. hyper3d)


Default Model

Mode

Where

Example

Remote MCP

headers

"X-GoModelHub-Default-Model": "hyper3d"

Local MCP

env

"GOMODELHUB_DEFAULT_MODEL": "hyper3d"

Use the modelCode shown in Model Marketplace (no tp- prefix).


Remote MCP does not support local imagePath. Use a public image URL 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"
      }
    }
  }
}

See examples/mcp.remote.json.


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

powershell -ExecutionPolicy Bypass -File scripts/install-global.ps1

macOS / Linux

bash scripts/install-global.sh

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

npm install -g .

Text-to-3D

✅

✅

Public image URL

✅

✅

Local imagePath

❌

✅


Troubleshooting

Symptom

Fix

disconnected

Ensure gomodelhub-3d-mcp is on PATH

Missing GOMODELHUB_BASE_URL

Check env in mcp.json

model is required

Set default model or pass model in the call

HTTP 401 / 403

Invalid key or insufficient quota

Remote image-to-3D fails

Use public image URL or local MCP


License

MIT — see LICENSE.

Available Tools

3 tools
generate_3dA

Submit a 3D generation job to GoModelHub. Supports text/URL (JSON) or local image file (multipart). Returns taskId.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOptional mode: text or image.
imageNoPublic https image URL for image-to-3D (JSON submit).
modelNo3D modelCode from marketplace (modelType=3d), e.g. hyper3d, neural4d, v3.1-20260211. Do NOT add tp- prefix.
promptNoText prompt. Required unless image or imagePath is set.
optionsNoVendor options. JSON submit: options object; local file: sent as metadata JSON.
imagePathNoLocal image file path for image-to-3D (stdio MCP only). Prefer image URL on Remote MCP. Max 50MB, jpg/png/webp.

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOptional mode: text or image.
imageNoPublic https image URL for image-to-3D (JSON submit).
modelNo3D modelCode from marketplace (modelType=3d), e.g. hyper3d, neural4d, v3.1-20260211. Do NOT add tp- prefix.
promptNoText prompt. Required unless image or imagePath is set.
optionsNoVendor options. JSON submit: options object; local file: sent as metadata JSON.
imagePathNoLocal image file path for image-to-3D (stdio MCP only). Prefer image URL on Remote MCP. Max 50MB, jpg/png/webp.
timeoutSecNoMax wait seconds (default 300)
pollIntervalSecNoPoll interval seconds (default 3)

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYestaskId returned by generate_3d

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 3 tool updatesv1.3.1
    • First observedgenerate_3d
    • First observedgenerate_3d_and_wait
    • First observedget_3d_status

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers