PicoBerry MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PICOBERRY_API_KEY | Yes | Your PicoBerry API key (pb_live_...). Required. Get one at https://picoberry.ai | |
| PICOBERRY_API_BASE | No | Base URL for the PicoBerry API. Default is https://saas-api.umodeler.com | https://saas-api.umodeler.com |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_modelsA | List available generation engines/models and their credit cost for a category. Call this before generating instead of hardcoding engine names. Returns [{ name, label, cost, paidOnly, supportsMultiView, supportsUltraMode, ultraCost, ... }] — use |
| list_animation_presetsA | List animation preset ids for the |
| get_creditsA | Get the current PicoBerry credit balance for the authenticated key. |
| generate_imageA | Generate a 2D image from a text prompt (async). Returns an asset { id }; then call wait_for_asset (or poll get_asset) until taskStatus=2 and read files.image (PNG URL). Costs credits — see list_models(category='image'). Omit |
| generate_3d_from_textA | Generate a game-ready 3D model (GLB) from a text prompt (async). Returns an asset { id }; call wait_for_asset (or poll get_asset) until taskStatus=2 and read files.model (GLB URL). Costs credits — see list_models(category='3d'). Omit |
| generate_3d_from_imageA | Generate a 3D model (GLB) from one image, or from 2–4 views of the same subject (multi-view → higher-fidelity geometry), async. Single: |
| parts_boardA | Decompose one reference image into an exploded "parts board" image (async) — the subject laid out as separated components on one canvas. Input: |
| remeshA | Retopologize an existing 3D asset into a NEW asset (async). Costs credits — see list_models(category='remesh') (pb-remesh is cheapest). wait_for_asset → files.model. |
| textureA | Re-texture an existing 3D asset (PBR) into a NEW asset (async). Describe the desired look in |
| animateA | Auto-rig an existing 3D character asset and apply an animation, producing a NEW asset (async). Pick |
| get_assetA | Get a generation's status + result. taskStatus: 0=pending 1=processing 2=succeeded 3=failed. When succeeded, files.{model,image,thumbnail,textures} hold signed result URLs (short TTL — download promptly). On failure, read errorDetail. |
| wait_for_assetA | Poll an asset until it finishes (taskStatus 2 or 3) or the timeout elapses, then return the final asset. Use right after generate_* / remesh / texture / animate. 3D generations can take several minutes. |
| list_my_assetsA | List your generated assets (newest first, owner-scoped) for browsing/sync. Filter by category (3d/image/…) or keyword. |
| download_assetA | Export a completed 3D asset and get a short-lived signed download URL. glb = a single self-contained file. fbx/obj download as a .zip bundle (model + textures; + Unity .meta files when texture_preset='unity') — unzip before importing. For Unity use fbx (there is no built-in glb importer). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each generation tool targets a distinct input modality (text→image, text→3D, image→3D) and the post-processing tools (remesh, texture, animate, parts_board) each transform an existing asset in a clearly different way. The only real overlaps are get_asset vs wait_for_asset (polling wrapper) and get_asset vs download_asset (result URLs vs export/conversion), but the descriptions explicitly clarify the difference.
Most tools follow a clean verb_noun pattern (get_credits, generate_image, list_models, wait_for_asset), but the set mixes in bare verbs (remesh, texture, animate) and a bare noun (parts_board), where `texture` also ambiguously reads as a noun. It remains readable and semantically apt, but the convention is not uniform.
Fourteen tools map cleanly onto the platform's lifecycles: generation (3), post-processing (4), asset retrieval/inspection (3), catalog discovery (3), and billing (1). No tool feels like filler and none of the workflows require an excessive number of calls beyond the inherent async wait.
The surface covers generation, transformation, polling, export, listing, credit balance, and model/preset discovery — a full end-to-end workflow. Minor gaps exist: no asset deletion or cancellation of an in-flight task, and no way to inspect/top up credits beyond a balance read.