Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MESHY_API_KEYYesYour Meshy.ai API key
YOUTUBE_TOKEN_FILENoPath to the YouTube OAuth token file (defaults to ~/.config/meshy-youtube-mcp/token.json)
YOUTUBE_CLIENT_SECRET_FILENoPath to the YouTube OAuth client secret JSON file (defaults to ~/.config/meshy-youtube-mcp/client_secret.json)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
generate_3d_modelA

Generate a 3D model from a text prompt via Meshy.ai (preview → refine). The refine stage textures the model: enable_pbr (default True) for PBR textures, texture_prompt for extra guidance. Blocks until ready; returns the local .glb path and Meshy task ids.

get_meshy_task_statusA

Inspect a Meshy task; optionally download the .glb on success.

render_turntableA

Render a GLB as a 360° turntable to PNG frames (requires Blender). Defaults to 1080² — YouTube has no 720² constraint like BoTTube does.

frames_to_videoA

Combine numbered PNG frames into an H.264 mp4 (YouTube-ready as-is).

upload_to_youtubeA

Upload a finished video to YouTube (OAuth). tags is comma-separated. privacy: public | unlisted | private (default unlisted). made_for_kids: COPPA audience flag — set True only for child-directed content.

Note: uploads whatever local path you point it at, under your own YouTube account — intentional, so you can publish videos made elsewhere.

meshy_to_youtubeB

One-shot: prompt -> Meshy 3D -> turntable -> video -> YouTube upload.

Always returns a dict. ok=True with watch_url on success; on a known stage failure ok=False with error/failed_stage and whatever artifacts were already produced.

generate_3d_from_imageA

Image-to-3D: a photo/render (public URL or local file path) -> textured .glb. Returns the local .glb path and the Meshy task id.

generate_3d_from_imagesB

Multi-image-to-3D: 1-4 reference images (URLs or local paths) of one subject -> a higher-fidelity textured .glb.

image_to_youtubeA

One-shot: an image -> Meshy image-to-3D -> turntable -> YouTube video. Always returns a dict (ok + watch_url, or ok=False + error/failed_stage).

retexture_modelA

Re-texture an existing model into a new variant. Identify the source by input_task_id (a prior Meshy task) or a public model_url; describe the look with text_style_prompt or image_style_url. Returns the new .glb path.

retexture_to_youtubeB

One-shot: re-texture an existing model -> turntable -> YouTube video. Always returns a dict.

rig_modelA

Auto-rig a humanoid model for animation. Identify it by input_task_id (a prior Meshy generation) or a public model_url. Returns rig_task_id.

animate_modelB

Apply a motion to a rigged model -> animated .glb. action_id is from Meshy's library (e.g. 0=Idle, 1=Walking, 4=Attack, 22=Dancing). fps must be one Meshy supports: 24, 25, 30, or 60.

animate_to_youtubeA

One-shot: a humanoid model -> Meshy rig -> animate (action_id) -> render the MOTION -> YouTube. The clip shows the character performing the action; its length follows the animation. Always returns a dict.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Scottcjn/meshy-youtube-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server