meshy-bottube-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MESHY_API_KEY | Yes | Meshy.ai generation API key | |
| BOTTUBE_API_KEY | Yes | BoTTube upload API key (required for upload tools) | |
| BOTTUBE_BASE_URL | No | BoTTube host URL | https://bottube.ai |
| MESHY_BOTTUBE_WORKDIR | No | Working directory for .glb, frames, .mp4 | temp directory per run |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_3d_modelA | Generate a 3D model from a text prompt via Meshy.ai (preview → refine). art_style: realistic | cartoon | low-poly | sculpture. The refine stage TEXTURES the model: enable_pbr (default True) for PBR textures, and texture_prompt for extra texturing guidance (e.g. "weathered bronze, mossy"). Blocks until the textured model is ready; returns its local .glb path and both Meshy task ids. |
| get_meshy_task_statusA | Inspect any Meshy task by id. If it SUCCEEDED and download=True and it has a GLB, download it locally and include the path. |
| render_turntableA | Render a GLB model as a 360° turntable to PNG frames (requires Blender). Frames are written to a fresh working dir; the path is returned. |
| frames_to_videoC | Combine numbered PNG frames into a raw H.264 mp4. |
| prepare_videoC | Make a video meet BoTTube upload constraints (720x720, faststart, audio). |
| upload_to_bottubeB | Upload a finished mp4 to BoTTube. tags is comma-separated; category is an optional BoTTube category id (e.g. "comedy", "ai-art", "music"). Note: this uploads whatever local file you point it at, under your own BoTTube API key — intentional, so you can publish videos made elsewhere. |
| meshy_to_bottubeA | One-shot: prompt -> Meshy 3D -> turntable -> video -> BoTTube upload. Preflights every dependency up front (so a missing Blender/ffmpeg/key can't waste a billed Meshy generation), then runs the whole pipeline in a single working directory. Always returns a dict. On success: |
| generate_3d_from_imageC | 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_bottubeB | One-shot: an image -> Meshy image-to-3D -> turntable -> BoTTube video. Always returns a dict (ok + watch_url, or ok=False + error/failed_stage + partial artifacts). |
| retexture_modelB | 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_bottubeC | One-shot: re-texture an existing model -> turntable -> BoTTube video. Great for publishing texture variants of one model. Always returns a dict. |
| rig_modelA | Auto-rig a humanoid model for animation (a skeleton). Identify it by input_task_id (a prior Meshy generation) or a public model_url. Returns rig_task_id — feed it to animate_model. |
| animate_modelA | 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_bottubeA | One-shot: a humanoid model -> Meshy rig -> animate (action_id) -> render the MOTION -> BoTTube video. Unlike a turntable, the published clip shows the character performing the action. Always returns a dict. The clip length follows the animation (capped at BoTTube's max). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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-bottube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server