meshy-ai-mcp-server

meshy-ai-mcp-server

3.3

If you are the rightful owner of meshy-ai-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Meshy AI MCP Server is a Model Context Protocol server designed to interact with the Meshy AI API, enabling the generation and manipulation of 3D models from text and images.

Meshy AI MCP Server

This is a Model Context Protocol (MCP) server for interacting with the Meshy AI API. It provides tools for generating 3D models from text and images, applying textures, and remeshing models.

Features

  • Generate 3D models from text prompts
  • Generate 3D models from images
  • Apply textures to 3D models
  • Remesh and optimize 3D models
  • Stream task progress in real-time
  • List and retrieve tasks
  • Check account balance

Installation

  1. Clone this repository:

    git clone https://github.com/pasie15/scenario.com-mcp-server
    cd meshy-ai-mcp-server
    
  2. (Recommended) Set up a virtual environment:

    Using venv:

    python -m venv .venv
    # On Windows
    .\.venv\Scripts\activate
    # On macOS/Linux
    source .venv/bin/activate
    

    Using Conda:

    conda create --name meshy-mcp python=3.9  # Or your preferred Python version
    conda activate meshy-mcp
    
  3. Install the MCP package:

    pip install mcp
    
  4. Install dependencies:

    pip install -r requirements.txt
    
  5. Create a .env file with your Meshy AI API key:

    cp .env.example .env
    # Edit .env and add your API key
    

Usage

Starting the Server

You can start the server directly with Python:

python src/server.py

Or using the MCP CLI:

mcp run config.json

Editor Configuration

Add this MCP server configuration to your Cline/Roo-Cline/Cursor/VS Code settings (e.g., .vscode/settings.json or user settings):

{
  "mcpServers": {
    "meshy-ai": {
      "command": "python",
      "args": [
        "path/to/your/meshy-ai-mcp-server/src/server.py"  // <-- Make sure this path is correct!
      ],
      "disabled": false,
      "autoApprove": [],
      "alwaysAllow": []
    }
  }
}

Recommended: Using MCP dev mode (starts inspector)

For development and debugging, run the server using mcp dev:

mcp dev src/server.py

When running with mcp dev, you'll see output like:

Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
New SSE connection

You can open the inspector URL in your browser to monitor MCP communication.

Available Tools

The server provides the following tools:

Creation Tools
  • create_text_to_3d_task: Generate a 3D model from a text prompt
  • create_image_to_3d_task: Generate a 3D model from an image
  • create_text_to_texture_task: Apply textures to a 3D model using text prompts
  • create_remesh_task: Remesh and optimize a 3D model
Retrieval Tools
  • retrieve_text_to_3d_task: Get details of a Text to 3D task
  • retrieve_image_to_3d_task: Get details of an Image to 3D task
  • retrieve_text_to_texture_task: Get details of a Text to Texture task
  • retrieve_remesh_task: Get details of a Remesh task
Listing Tools
  • list_text_to_3d_tasks: List Text to 3D tasks
  • list_image_to_3d_tasks: List Image to 3D tasks
  • list_text_to_texture_tasks: List Text to Texture tasks
  • list_remesh_tasks: List Remesh tasks
Streaming Tools
  • stream_text_to_3d_task: Stream updates for a Text to 3D task
  • stream_image_to_3d_task: Stream updates for an Image to 3D task
  • stream_text_to_texture_task: Stream updates for a Text to Texture task
  • stream_remesh_task: Stream updates for a Remesh task
Utility Tools
  • get_balance: Check your Meshy AI account balance

Resources

The server also provides the following resources:

  • health://status: Health check endpoint
  • task://{task_type}/{task_id}: Access task details by type and ID

Configuration

The server can be configured using environment variables:

  • MESHY_API_KEY: Your Meshy AI API key (required)
  • MCP_PORT: Port for the MCP server to listen on (default: 8081)
  • TASK_TIMEOUT: Maximum time to wait for a task to complete when streaming (default: 300 seconds)

Examples

Generating a 3D Model from Text

from mcp.client import MCPClient

client = MCPClient()
result = client.use_tool(
    "meshy-ai",
    "create_text_to_3d_task",
    {
        "request": {
            "mode": "preview",
            "prompt": "a monster mask",
            "art_style": "realistic",
            "should_remesh": True
        }
    }
)
print(f"Task ID: {result['id']}")

Checking Task Status

from mcp.client import MCPClient

client = MCPClient()
task_id = "your-task-id"
result = client.use_tool(
    "meshy-ai",
    "retrieve_text_to_3d_task",
    {
        "task_id": task_id
    }
)
print(f"Status: {result['status']}")

License

This project is licensed under the MIT License - see the LICENSE file for details.