Skip to main content

MCP

The Model Context Protocol (MCP) lets Agent studios such as Cursor and Claude Desktop call Aholo through a standard protocol. The official package @manycore/aholo-sdk-mcp runs locally over stdio and wraps the @manycore/aholo-sdk-* npm SDKs.

Obtain an API key in Quick Start and read Authentication before use.

MCP vs Skill vs SDK​

ApproachBest forTypical use
MCP (this page)Cursor / Claude usersUpload local files, submit jobs, check progress
SkillsSame, with workflow guidanceComplex 3DGS flows, SkillHub one-line install
SDKApplication developersBackend services, scripts, production integration

MCP and Skills complement each other: MCP exposes tools; Skills guide how agents should use them.

Prerequisites​

Install​

Cursor​

Edit ~/.cursor/mcp.json (project-level: .cursor/mcp.json):

{
"mcpServers": {
"aholo-sdk-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@manycore/aholo-sdk-mcp"],
"env": {
"AHOLO_API_KEY": "your_api_key_here",
"AHOLO_REGION": "com"
}
}
}
}

Claude Desktop​

Edit the config file (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
"mcpServers": {
"aholo-sdk-mcp": {
"command": "npx",
"args": ["-y", "@manycore/aholo-sdk-mcp"],
"env": {
"AHOLO_API_KEY": "your_api_key_here",
"AHOLO_REGION": "com"
}
}
}
}

Restart your agent / studio after saving. In Cursor, check Settings → MCP for connection status.

Verify​

AHOLO_API_KEY=your_key npx -y @manycore/aholo-sdk-mcp

Exiting with an AHOLO_API_KEY is required message when the key is missing is expected.

Environment variables​

VariableRequiredDescription
AHOLO_API_KEYYesAholo API key
AHOLO_REGIONNocom (international) or cn (China); can also be set per tool call
Security

Do not commit API keys to public repositories. Prefer env in mcp.json or local environment variables.

Usage notes​

File upload​

Pass local paths via localPath. The SDK reads files from disk and uploads to CDN — binaries are not sent through MCP.

World reconstruction (scene)​

ScenarioRecommended tool
Single object / product / figurineworld_reconstruct_object_from_files or world_reconstruct_object
Indoor / room captureworld_reconstruct_space_from_files or world_reconstruct_space
  • Image reconstruction requires ≥ 20 images (.jpg/.jpeg/.png/.webp); standard video resourceType=video (.mp4/.mov); Insta360 panoramic resourceType=insv (.insv)
  • useMask=true enables matting (subject segmentation)
  • taskQuality defaults to normal; use low for quick preview, high for professional quality

World generation (Spatial Gen)​

world_generate creates an AI-generated world (not multi-image reconstruction):

  • Text only: prompt only
  • Single reference image: localPath only (uploads via upload_asset internally)
  • Text + image: prompt + localPath (at most one image)

Reference images must use local localPath — external URLs are not accepted. For multi-image/video input, use world_reconstruct_*.

Long-running tasks​

Submit tools default to wait=false and return worldId / taskId immediately:

  1. Check progress (recommended): world_get / lux3d_get_task
  2. Wait until done: world_wait_for / lux3d_wait_for_task (blocking)

Available tools​

Recommended (scene fixed in tool name):

ToolDescription
world_inspect_local_mediaRead-only: inspect local image/video
world_reconstruct_object_from_filesLocal files → object (model) reconstruction
world_reconstruct_space_from_filesLocal files → indoor (space) reconstruction
world_reconstruct_objectURLs → object (model) reconstruction
world_reconstruct_spaceURLs → indoor (space) reconstruction

General:

ToolDescription
upload_assetUpload local file, return CDN URL
world_generate3DGS world generation: text only / local image / text+image (one image via localPath)
world_get / world_wait_for / world_listQuery and poll worlds

Lux3D​

version is required for image/text generation: G1 or G1-Turbo. faceCount ranges from 10000 to 300000; outputFormat supports zip / glb / ply; aiPredictSize controls size prediction. Image generation requires exactly one single- or multi-view input.

ToolDescription
lux3d_multimodal_to_imageMultimodal image generation: at least one of prompt and an image (img URL / localPath)
lux3d_image_to_four_viewGenerate four standard views from an image URL, local file, and/or prompt
lux3d_img_to_3d_from_file / lux3d_img_to_3d / lux3d_text_to_3dLux3D image/text to 3D (G1 / G1-Turbo)
lux3d_material_transferTransfer reference materials onto a GLB model
lux3d_multi_format_exportExport a Lux3D ZIP/GLB to USDZ/OBJ/FBX/STL/3MF
lux3d_list_tasksList Lux3D task history with pagination, status, and time filters (filter excludes 6)
lux3d_get_task / lux3d_wait_for_taskQuery and poll Lux3D tasks

Current npm package: @manycore/aholo-sdk-mcp@1.7.0 (depends on @manycore/aholo-sdk-lux3d@^1.7.0; 22 tools total). Task results may still include 6 (canceled).

See the npm README for the full tool list.