PicoBerry について
PicoBerry MCP Serverは、MCPクライアントをPicoBerry APIに接続し、3Dアセット、画像、アニメーションの生成や加工を行います。複数の生成エンジンとアセット操作に対応し、生成物は反復作業用のドラフトとして扱えます。
主な機能
- 01テキストや画像から画像と3Dモデルを生成
- 02既存アセットのリメッシュと再テクスチャリング
- 033Dキャラクターの自動リギングとアニメーション
- 04エンジンの選択肢とクレジット費用の確認
- 05アセットをGLB、FBX、OBJでエクスポート
活用シーン
- 01ゲームのプロトタイプ用3Dアセットを作成
- 02参照画像からモデルを生成
- 03既存アセットのリトポロジーとテクスチャリング
- 043Dワークフロー向けに完成モデルをエクスポート
MCP 対応
このMCPサーバーは、モデルの確認、生成、状態照会、ダウンロードなど、PicoBerry APIの生成・アセット管理機能をMCPクライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @picoberry/mcp-serverPICOBERRY_API_KEYシークレットPicoBerry API key (pb_live_...). Create one at https://picoberry.ai/dashboard/api-keys. Requires a completed purchase (a subscription or a one-off credit pack) or an active paid subscription.PICOBERRY_API_BASEOverride the API base URL. Defaults to https://api.picoberry.ai — leave unset unless you were given a different host.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
14掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| category | enum | いいえ | `3d` にはテキストから3Dへのエンジンのみが表示されます。ベンダーが画像入力のみを受け付けるエンジン(例:meshy-7)にはテキストから3Dへの項目がなく、`image-to-3d` のみに表示されます。generate_3d_from_image の前にこちらを使用してください。3d | image-to-3d | image | parts-board | remesh | texture | animate | uv-unwrap |
詳細
PicoBerry MCP サーバー
Claude Code、Cursor、Claude Desktop、Cline など、あらゆる MCP クライアントから、HTTP の接続処理を追加することなく、ゲームや 3D のワークフロー向けに3D モデル、画像、アニメーションを生成できます。PicoBerry /v1 API を薄くラップしているため、PicoBerry のマルチエンジンパイプラインをエージェント内で直接利用できます。複数の 3D エンジンと画像エンジンを 1 つの API から利用できます。list_models を呼び出すと、現在利用可能なエンジンと各エンジンの料金を確認できます。生成されるアセットはドラフトです。プロトタイピングや反復作業に便利で、プロジェクトに合わせて確認や調整ができます。
📖 完全なリファレンス: API + MCP ドキュメント · PicoBerry API
MCP や API 用の別途サブスクリプションはありません。 生成には、ウェブアプリと同じ PicoBerry のプリペイドクレジットをエンジンごとに使用します。料金は、クレジットを使う前に
list_modelsで確認できます。(API を利用するには購入が完了している必要があります。API キーを取得するをご覧ください。)
インストール
インストールは不要です。npx で実行できます。
// Claude Code: .mcp.json · Claude Desktop: claude_desktop_config.json
{
"mcpServers": {
"picoberry": {
"command": "npx",
"args": ["-y", "@picoberry/mcp-server"],
"env": {
"PICOBERRY_API_KEY": "pb_live_xxxxxxxxxxxxxxxx"
}
}
}
}
Cursor でも ~/.cursor/mcp.json で同じ形式を使用します。
API キーを取得する
https://picoberry.ai にサインインし、ダッシュボードの API Keys タブを開いて、Create key をクリックします。キーは一度だけ表示されるため、すぐにコピーし、パスワードと同様に取り扱ってください。
API を利用するには、サブスクリプションまたはクレジットの単発パックの購入が完了している必要があります。購入すると、以後ずっと API を利用できます。現在有効なサブスクリプションは必要ありません。(もちろん、有効な有料サブスクリプションでも利用できます。)
環境変数
| 変数 | 必須 | デフォルト | 備考 |
|---|---|---|---|
PICOBERRY_API_KEY | ✅ | — | pb_live_... |
PICOBERRY_API_BASE | — | https://api.picoberry.ai | 別のホストを指定された場合を除き、設定しないでください |
ツール
| ツール | 機能 |
|---|---|
list_models | カテゴリ(3d / image / parts-board / remesh / texture / animate)のエンジンとクレジット料金を表示します。生成前に呼び出してください。エンジンをハードコードしないでください。 |
list_animation_presets | アニメーションプリセット ID(エンジン固有)を表示します。部分一致フィルターも指定できます。 |
get_credits | 現在のクレジット残高を表示します。 |
generate_image | テキスト → 画像(参照画像 URL の指定も可能)。count(1~4)を指定すると、1 回の呼び出しで複数の画像を生成して assets[] を返します。各 ID の完了を待ってください。 |
generate_3d_from_text | テキスト → 3D モデル(GLB)。 |
generate_3d_from_image | 画像 → 3D モデル。単一画像の場合は image_url またはローカルの image_path を使用します。マルチビュー(2~4 枚、高い忠実度)の場合は、順番を [正面、左、背面、右] にして image_urls または image_paths を使用します。対応エンジンは tripo*/meshy6/hunyuan-3.x のみです。 |
parts_board | 1 枚の画像を、パーツを展開したボード画像に分解します(エンジンはサーバー側で固定)。入力には asset_id、image_url、またはローカルの image_path を指定します。結果を generate_3d_from_image に渡すと、パーツごとに分離されたメッシュを生成できます。 |
remesh | 既存の 3D アセットをリトポロジー処理し、新しいアセットを生成します。 |
texture | 既存の 3D アセットに PBR テクスチャを再適用し、新しいアセットを生成します。 |
animate | 既存の 3D キャラクターに自動リギングとアニメーションを適用し、新しいアセットを生成します。 |
get_asset | 1 つのアセットのステータスと結果 URL を表示します。 |
wait_for_asset | アセットが完了するまで(またはタイムアウトするまで)ポーリングし、完了後に結果を返します。 |
list_my_assets | 生成済みのアセットを一覧表示します。 |
download_asset | 完了した 3D アセットをエクスポート(glb / fbx / obj)し、署名付き URL を返します。 |
生成の仕組み
生成は非同期で行われます。
generate_3d_from_text({ prompt })→ アセット{ id }が返されます。wait_for_asset({ asset_id: id })→taskStatus === 2(成功)になるまでポーリングします。files.model(GLB)またはfiles.image(PNG)から結果 URL を取得します。
taskStatus:0 待機中 · 1 処理中 · 2 成功 · 3 失敗。結果 URL は署名付きで有効期間が短いため、速やかにダウンロードしてください。エラーには対処方法を示すメッセージが含まれます(例:不明なエンジンを指定すると、有効な名前の一覧が返されます)。
エージェントでの使用例
「ローポリの宝箱を作成し、ポリゴン数を3kトライアングルにリトポロジーして、Unity FBXを出力してください。」
list_models(category="3d") → pick an engine
generate_3d_from_text(prompt="low-poly treasure chest") → { id: A }
wait_for_asset(asset_id=A) → taskStatus 2
remesh(asset_id=A, polycount=3000) → { id: B }
wait_for_asset(asset_id=B)
download_asset(asset_id=B, format="fbx", texture_preset="unity") → signed URL
Blender MCPと併用する
blender-mcpと並行して実行すると、
エージェントはPicoBerryで生成し、そのまま一連の流れでBlenderにインポートできます。
{
"mcpServers": {
"picoberry": { "command": "npx", "args": ["-y", "@picoberry/mcp-server"], "env": { "PICOBERRY_API_KEY": "pb_live_..." } },
"blender": { "command": "uvx", "args": ["blender-mcp"] }
}
}
開発
npm install
npm run build # tsc → dist/
PICOBERRY_API_KEY=pb_live_... npm start
リリース
Actions → Publish → Run workflowを実行するか、v*タグをプッシュします。npmに公開した後、公式MCPレジストリに公開します。この順序は固定です。レジストリはパッケージのnpmメタデータを取得し、そのmcpNameをserver.jsonのnameと照合して検証するため、先にnpmへの公開が必要です。ガードステップでは、公開前にすべての不変条件(名前とバージョンの一致、名前空間の大文字・小文字、npmに同じバージョンが存在しないこと)を確認します。npmのバージョンは変更できないため、公開の一部に失敗すると、そのバージョン番号が無駄になるからです。
package.jsonとserver.jsonの両方でversionを更新してください(server.jsonではversionとpackages[0].version)。一致しない場合、ガードによって実行は失敗します。
初回のみの設定 — シークレットは不要です。 どちらの公開処理も、ワークフローのGitHub OIDCトークン(id-token: write)で認証します。保存やローテーションが必要なものはありません。
npmにこのワークフローを信頼するよう設定するだけです。npmjs.comで @picoberry/mcp-server → Settings → Trusted publishing → GitHub Actionsに移動し、次の値を入力します。
| フィールド | 値 |
|---|---|
| 組織またはユーザー | UModeler |
| リポジトリ | picoberry-mcp |
| ワークフローファイル名 | publish.yml |
| 環境名 | (空欄のまま) |
| 許可されたアクション | npm publish |
ワークフローファイル名は正確に一致する必要があります。npmの検証項目に含まれるためです。
MCPレジストリ側では、設定は不要です。mcp-publisherがActionsのOIDCトークンと交換し、レジストリはトークンのrepository_ownerクレームからio.github.<repository_owner>/*への公開を許可します。これによりio.github.UModeler/picoberry-mcpが対象となり、インタラクティブなブラウザーでのログイン(組織のオーナー権限も必要)を回避できます。
Trusted Publishingにはnpm >= 11.5.1が必要なため、このワークフローはNode 24 (npm 11.x)で実行されます。Node 22にはnpm 10.9が同梱されており失敗するため、
node-versionの固定は必須です。ランナーに古いnpmが含まれていた場合、ガードステップが早い段階で実行を失敗させます。
名前空間はバイト単位で完全一致するか比較されます。GitHub組織のログイン名と一致する
io.github.UModeler/...を指定してください。小文字にしたio.github.umodeler/...は403エラーで拒否されます。
公開後、Glamaの掲載ページの所有権を申請してください。未申請のサーバーは見つけられにくく、awesome-mcp-serversではCIにおけるGlamaバッジをPRの条件としています。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。