bumi-digital-mcp
Based on the provided schema, this server lets MCP clients manage Bumi Digital media generation workflows through model discovery, generation, upscaling, uploads, credits, and history/status tracking.
List available AI models by type and get pricing plus full parameter schemas.
Generate images, videos, and audio with model-specific parameters and optional webhook callbacks.
Upscale images and videos to higher resolution.
Upload image/video/audio files from public URLs or base64 for use as generation inputs.
Check the account credit balance.
Poll async generation status and retrieve results.
List generation history with search, date/type/status filters, and pagination.
Note: the schema does not expose the README’s 3D generation tool or 3D/model3d model types.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bumi-digital-mcp Generate an image of a cozy cabin in the snow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bumi Digital MCP Server
Model Context Protocol (MCP) server for Bumi Digital — generate AI images, videos, audio, 3D models, and upscale media directly from MCP-compatible AI assistants (Claude Desktop, ChatGPT, Cursor, Trae, and others).
This server is a thin wrapper over the Bumi Digital public REST API v1. All business logic (credits, refunds, storage, webhooks) is enforced by the API — nothing is duplicated here.
Features
12 tools covering the full Bumi Digital API surface
3D generation from text, images, multi-view inputs, or meshes, depending on the selected model
Dual transport: stdio (local) and Streamable HTTP (remote/hosted)
Per-request auth in HTTP mode — one deployment serves many users, each with their own API key
Stateless HTTP — no session storage required, scales horizontally
Docker-ready — Dockerfile included for Coolify/VPS deployment
Related MCP server: Jimeng MCP Server
Tools
Tool | Description |
| Generate images (text-to-image, image-to-image) |
| Generate videos (text-to-video, image-to-video, motion control, avatar, lipsync) |
| Generate audio (music, speech/TTS, lipsync) |
| Generate or transform 3D models (text, image, multi-view, or mesh inputs); asynchronous results |
| Upscale images to higher resolution |
| Upscale videos to higher resolution |
| List available AI models by type |
| List models with credit pricing and full input schemas |
| Check current credit balance |
| Poll status/result of an async generation |
| Generation history with filters and pagination |
| Upload image/video/audio (via |
Generation endpoints may return status: "completed" immediately or "processing" for async results — poll with get_generation_status until completed/failed. Credits are reserved or deducted upfront; explicit rejection or verified failure triggers a refund. An uncertain submission is not a confirmed failure.
3D Generation
The generate_3d tool calls POST /api/v1/3d/generate. See the 3D API documentation.
Call
list_modelsorget_models_pricingwith{ "type": "3d" }to discover active models, current credit costs, and supported parameters.Call
generate_3dwith amodel_idand only the parameters declared in that model's input schema. Text-to-3D requires aprompt; image, multi-view, and mesh inputs depend on the model.
Example generate_3d arguments:
{
"model_id": "t3d-meshy-6-t3d",
"parameters": {
"prompt": "A small ceramic robot"
}
}The API returns HTTP 202 with a
generation_idandstatus: "processing". Pollget_generation_statuswith that ID, or include an optional public HTTP(S)webhook_urlin the generation arguments for completion/failure notifications.To retrieve 3D history, call
list_generationswith{ "type": "model3d" }. Model discovery uses3d, while history and webhooks usemodel3d.
Important behavior:
If
submission: "unknown"is returned, retain the generation ID and check its status. Do not automatically resubmit: an uncertain submission may still be processing, and unconfirmed submissions without a provider task ID may require support reconciliation.Status responses and webhooks expose
resultUrl(a string or array) andresultUrls; history usesresult_urlandresult_urls. Results may contain multiple assets, and no mesh format is guaranteed.Local
/api/ai/model3d/file/...downloads require the same API key or an owner session. R2 URLs can be accessed directly.
Getting an API Key
Sign in to bumi.digital
Go to Settings → API Keys
Create a key — it starts with
bd_
Usage
Option A: stdio (local MCP client)
Install instantly via npx — no cloning or building required. Add to your MCP client config (Claude Desktop, Cursor, Trae, etc.):
{
"mcpServers": {
"bumi-digital": {
"command": "npx",
"args": ["-y", "bumi-digital-mcp"],
"env": { "BUMI_API_KEY": "bd_xxx" }
}
}
}git clone https://github.com/ezmakeai/bumi-digital-mcp.git
cd bumi-digital-mcp
npm install
npm run build{
"mcpServers": {
"bumi-digital": {
"command": "node",
"args": ["/path/to/bumi-digital-mcp/dist/index.js"],
"env": { "BUMI_API_KEY": "bd_xxx" }
}
}
}Option B: Remote MCP (hosted via HTTP)
Run the server:
node dist/index.js --http
# or: MCP_TRANSPORT=http node dist/index.jsClient config — no installation needed, just the URL:
{
"mcpServers": {
"bumi-digital": {
"url": "https://mcp.bumi.digital/mcp",
"headers": {
"Authorization": "Bearer bd_your_api_key_here"
}
}
}
}Endpoints:
POST /mcp— MCP protocol (Streamable HTTP)GET /health— health check, returns{ "ok": true }
In HTTP mode the API key is resolved per request, in this priority order:
?api_key=bd_...query parameter (for clients without custom headers, e.g. ChatGPT)Authorization: Bearer bd_...headerBUMI_API_KEYenvironment variable (fallback)
Option C: ChatGPT connector (Developer Mode)
ChatGPT connectors do not support custom headers — only OAuth or no authentication. Pass your API key as a query parameter instead:
Server URL:
https://mcp.bumi.digital/mcp?api_key=bd_your_api_key_hereAuthentication: None (no OAuth)
The server reads api_key from the query string first, then falls back to the Authorization header.
Note: keys in URLs may appear in server/proxy logs. Prefer the
Authorizationheader (Option B) when your client supports it.
Configuration
Environment Variable | Default | Description |
| — | API key for stdio mode. In HTTP mode this is only a fallback — clients normally pass their own key via header or |
|
| Bumi Digital API base URL. Set to |
|
| HTTP listen port (HTTP mode only) |
| — | Set to |
Self-Hosting (Optional)
If you operate your own Bumi Digital instance, this server can be self-hosted in HTTP mode. A Dockerfile is included — it builds the project and serves /mcp on PORT (default 3100). Point your MCP clients to https://your-domain/mcp with Authorization: Bearer bd_....
Development
npm install
npm run build # compile TypeScript
npm run start # HTTP mode on PORT (default 3100)
npm run start:stdio # stdio mode (local MCP clients)Requires Node.js >= 18.
License
MIT
Available Tools
11 toolscheck_creditsA
Cek saldo kredit akun Bumi Digital saat ini.
Inputs: no named parameters.
generate_audioA
Generate audio (music, speech/TTS, lipsync). Parameter wajib mengikuti input_schema model. Response bisa "completed" atau "processing".
Inputs: model_id (required), parameters, webhook_url.
generate_imageA
Generate gambar. Response bisa status "completed" (langsung ada image_url) atau "processing" (poll dengan get_generation_status). Kredit dipotong di awal, refund otomatis bila gagal.
Inputs: model_id (required), parameters, webhook_url.
generate_videoA
Generate video (text-to-video, image-to-video, motion control, avatar, lipsync). Response bisa "completed" atau "processing" (poll dengan get_generation_status).
Inputs: model_id (required), parameters, webhook_url.
get_generation_statusA
Cek status & hasil sebuah generation (untuk polling hasil async). Status: processing | completed | failed. Hasil ada di field resultUrl.
Inputs: generation_id (required).
get_models_pricingA
Daftar model beserta harga kredit dan input_schema lengkap (parameter yang didukung tiap model). Tanpa type = semua model.
Inputs: type.
list_generationsB
Riwayat generation dengan filter dan pagination.
Inputs: q, to, from, page, +3 more.
list_modelsA
Daftar model AI yang tersedia di Bumi Digital (ringkas). Untuk detail parameter & harga gunakan get_models_pricing.
Inputs: type (required).
upload_fileA
Upload file (gambar/video/audio) ke storage Bumi Digital, mengembalikan file_url yang bisa dipakai sebagai parameter input generate/upscale. Sumber bisa URL publik (source_url) atau base64 (file_base64 + file_name). Batas: image 20MB, video 100MB, audio 50MB.
Inputs: file_name, source_url, file_base64.
upscale_imageB
Upscale gambar ke resolusi lebih tinggi.
Inputs: model_id (required), image_url (required), parameters.
upscale_videoB
Upscale video ke resolusi lebih tinggi.
Inputs: model_id (required), video_url (required), parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools target distinct media types and actions clearly, but list_models and get_models_pricing overlap somewhat since both describe available models; the descriptions mitigate this by directing to get_models_pricing for details. There is also minor conceptual overlap between generate_video and generate_audio via lipsync, though the media type differs.
All tool names follow a consistent lowercase snake_case verb_noun pattern: list_*, get_*, generate_*, upscale_*, check_*, upload_*. This makes the action and target easy to predict across the set.
11 tools is well-scoped for an AI media generation API server. Each tool covers a necessary function: model discovery, generation across modalities, upscaling, status polling, history, credits, and file uploads.
The core generation lifecycle is well covered: list/get models, generate, poll status, view history, upload inputs, and check credits. Minor gaps exist such as no explicit cancel or delete generation/upload operations, but agents can complete normal workflows without dead ends.
Maintenance
Related MCP Connectors
MCP server for Qwen Image 3 AI image generation
MCP server for Luma Dream Machine AI video generation
MCP server for Google Veo AI video generation
MCP server for Wan AI video generation
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1144 npmMIT
- FlicenseNot gradedqualityBmaintenanceA Model Context Protocol server for AI image and video generation using Jimeng AI, enabling text-to-image, image composition, text-to-video, and image-to-video through Claude Desktop and other MCP clients.84-
- AlicenseBqualityDmaintenanceMCP server for generating images and audio using Google's Gemini AI models.2106 PyPI2MIT
- AlicenseAqualityDmaintenanceMCP server for AI-powered media generation: images, videos, audio, and upscaling using 99 AI models.6MIT