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 |
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
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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