Meshy MCP Server

Meshy MCP Server

Enables AI assistants to generate 3D models, textures, and images via the Meshy API using natural language, supporting text-to-3D, image-to-3D, remeshing, retexturing, rigging, and animation workflows.

Category
访问服务器

README

Meshy MCP Server

An MCP (Model Context Protocol) server that gives AI assistants the power to generate 3D models, textures, and images through the Meshy.ai API.

Ask Claude to "create a 3D model of a medieval castle" and it will handle the entire workflow — generating previews, refining models, remeshing for export, and more — all through natural conversation.

Features

Feature Description
Text to 3D Generate 3D models from text descriptions with a preview + refine workflow
Image to 3D Create 3D models from a single reference image
Multi-Image to 3D Generate 3D from up to 4 reference images for better accuracy
Remesh & Export Re-mesh models and export in glb, fbx, obj, usdz, blend, or stl
Retexture Apply new textures to existing 3D models via text or image style reference
Text to Image Generate images from text (useful as input for image-to-3D pipelines)
Rigging Auto-rig humanoid 3D models for animation (GLB format, max 300k faces)
Animation Apply 500+ animations to rigged models from the Meshy animation library
Image to Image Transform and edit images using reference images and text prompts
Balance Check your Meshy credit balance

Prerequisites

  • Node.js 18+ (uses native fetch)
  • Meshy API Key — sign up at meshy.ai and get your key from API Settings

Installation

From npm

npm install -g meshy-mcp-server

From source

git clone https://github.com/gwizards/meshy-mcp-server.git
cd meshy-mcp-server
npm install
npm run build

Configuration

Claude Code

Add to your project .mcp.json or ~/.claude/settings.json:

{
  "mcpServers": {
    "meshy": {
      "command": "node",
      "args": ["/absolute/path/to/meshy-mcp-server/dist/index.js"],
      "env": {
        "MESHY_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Desktop

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "meshy": {
      "command": "node",
      "args": ["/absolute/path/to/meshy-mcp-server/dist/index.js"],
      "env": {
        "MESHY_API_KEY": "your-api-key-here"
      }
    }
  }
}

Usage

Text-to-3D Workflow

The most common workflow uses wait_for_task to handle polling automatically:

  1. Generate previewtext_to_3d_create with mode: "preview" and your prompt
  2. Wait for completionwait_for_task with task_type: "text_to_3d" — returns download URLs when done
  3. Refine the modeltext_to_3d_create with mode: "refine" and the preview_task_id
  4. Wait againwait_for_task returns the final model with download URLs
  5. Export (optional) — remesh_create then wait_for_task

Image-to-3D Pipeline

Combine text-to-image with image-to-3D for a fully text-driven pipeline:

  1. Generate reference imagetext_to_image_create with your description
  2. Wait for imagewait_for_task with task_type: "text_to_image"
  3. Generate 3D from imageimage_to_3d_create with the resulting image URL
  4. Wait for 3D modelwait_for_task with task_type: "image_to_3d"

Rigging & Animation Pipeline

  1. Generate 3D model — any _create tool
  2. Rig the modelrigging_create with the task ID or model URL
  3. Wait for riggingwait_for_task with task_type: "rigging"
  4. Animateanimation_create with the rigging task ID and action ID
  5. Wait for animationwait_for_task with task_type: "animation"

Example Prompts

Once configured, you can ask Claude things like:

  • "Generate a 3D model of a low-poly fox"
  • "Create a medieval sword with PBR textures and export as FBX"
  • "Take this image and turn it into a 3D model"
  • "Retexture my model with a cyberpunk style"
  • "Rig this model and apply a walking animation"
  • "Transform this photo into a different style"
  • "How many credits do I have left?"

Available Tools

Text to 3D

Tool Description
text_to_3d_create Generate 3D from text (preview or refine mode)
text_to_3d_get Check task status and retrieve results
text_to_3d_list List tasks with pagination
text_to_3d_delete Delete a task

Image to 3D

Tool Description
image_to_3d_create Generate 3D from a single image URL or base64 data URI
image_to_3d_get Check task status
image_to_3d_list List tasks
image_to_3d_delete Delete a task

Multi-Image to 3D

Tool Description
multi_image_to_3d_create Generate 3D from 1-4 reference images
multi_image_to_3d_get Check task status
multi_image_to_3d_list List tasks
multi_image_to_3d_delete Delete a task

Remesh & Export

Tool Description
remesh_create Remesh and export to glb, fbx, obj, usdz, blend, or stl
remesh_get Check task status
remesh_list List tasks
remesh_delete Delete a task

Retexture

Tool Description
retexture_create Apply new textures via text prompt or style image
retexture_get Check task status
retexture_list List tasks
retexture_delete Delete a task

Text to Image

Tool Description
text_to_image_create Generate images (models: nano-banana, nano-banana-pro)
text_to_image_get Check task status
text_to_image_list List tasks
text_to_image_delete Delete a task

Rigging

Tool Description
rigging_create Auto-rig a humanoid 3D model (GLB, max 300k faces)
rigging_get Check rigging task status
rigging_delete Delete a rigging task

Animation

Tool Description
animation_create Apply animation to a rigged model (500+ actions)
animation_get Check animation task status
animation_delete Delete an animation task

Image to Image

Tool Description
image_to_image_create Transform images with text prompts and references
image_to_image_get Check task status
image_to_image_list List tasks
image_to_image_delete Delete a task

Workflow Helpers

Tool Description
wait_for_task Poll any task until completion — replaces manual _get loops

Account

Tool Description
get_balance Check your Meshy credit balance

Task Lifecycle

All generation tasks follow the same async pattern:

CREATE → PENDING → IN_PROGRESS → SUCCEEDED / FAILED
  • PENDING — Task is queued
  • IN_PROGRESS — Generation is running (progress field shows 0-100%)
  • SUCCEEDED — Complete. model_urls, texture_urls, and thumbnail_url are available
  • FAILED — Check task_error.message for details
  • CANCELED — Task was canceled

Error Handling

All tools return structured errors via MCP's isError flag instead of raw exceptions:

  • Validation errors — Missing required fields (e.g., prompt in preview mode) return clear messages
  • API errors — HTTP errors from Meshy include status code and response body
  • Network errors — Transient failures (429, 500, 502, 503, 504) are retried automatically with exponential backoff (1s, 2s, 4s — max 3 retries). 429 responses respect the Retry-After header

Project Structure

meshy-mcp-server/
├── src/
│   ├── index.ts              # MCP server setup, 36 tool definitions, validation
│   └── meshy-client.ts       # Meshy API client with retry logic
├── tests/
│   ├── meshy-client.test.ts  # Client retry/error tests
│   └── tools.test.ts         # End-to-end MCP tool tests
├── .github/workflows/ci.yml  # GitHub Actions CI (Node 18/20/22)
├── dist/                     # Compiled output (generated by npm run build)
├── CLAUDE.md                 # Project conventions for AI assistants
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── README.md

Tech Stack

Component Technology
Language TypeScript (strict mode)
Runtime Node.js 18+
MCP SDK @modelcontextprotocol/sdk ^1.27.1
Validation Zod ^4.3.6
Testing Vitest
Transport stdio
Module System ES modules
Build tsc to ES2022

Development

npm run dev    # Run with tsx (auto-reload)
npm run build  # Compile TypeScript
npm test       # Run test suite
npm start      # Run compiled version

API Reference

This server wraps the Meshy API v1/v2. Key endpoints used:

Meshy API Server Tools
POST /openapi/v2/text-to-3d text_to_3d_create
POST /openapi/v1/image-to-3d image_to_3d_create
POST /openapi/v1/multi-image-to-3d multi_image_to_3d_create
POST /openapi/v1/remesh remesh_create
POST /openapi/v1/retexture retexture_create
POST /openapi/v1/text-to-image text_to_image_create
POST /openapi/v1/rigging rigging_create
POST /openapi/v1/animations animation_create
POST /openapi/v1/image-to-image image_to_image_create
GET /openapi/v1/balance get_balance

Credits

Created by Mr Polti from Wizards.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选