Meshy AI MCP Server

by pasie15

640 downloads
Not rated
GitHub

About

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.

Details

Author
pasie15
Downloads
640
Categories
Other

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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Meshy AI MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, set up a Python virtual environment, install the mcp package and dependencies, then add your Meshy AI API key to a .env file. Start the server with python src/server.py or with the MCP CLI (mcp run config.json). Configure the server in your editor’s MCP settings (e.g., Cline, Roo‑Cline, Cursor, VS Code) by pointing to the server script.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "meshy ai mcp server": {
            "meshy-ai-mcp-server": {
                "command": "python",
                "args": [
                    "-m",
                    "venv",
                    ".venv"
                ]
            }
        }
    }
}

McpServers

{
    "meshy-ai-mcp-server": {
        "command": "python",
        "args": [
            "-m",
            "venv",
            ".venv"
        ]
    }
}

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

6. 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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.