mcpField
C
cmpose

cmpose

ローカル
github.com開発ツール03 日前に更新

cmpose について

@cmpose/mcpは、テスト済みテンプレートからビルド可能なCompose Multiplatformアプリ、Unityモバイルゲーム、Kotlin/Ktorバックエンドを生成するローカルMCPサーバーです。AIエージェントで自分のマシンにプロジェクトを作成する開発者向けで、テンプレートと設定を選べます。

主な機能

  1. 01Compose Multiplatformアプリの生成
  2. 02Unityモバイルゲームの生成
  3. 03Kotlin/Ktorバックエンドの生成
  4. 04テンプレートとプロジェクト設定の選択
  5. 05生成ツールの既定値とルールの確認

活用シーン

  1. 01AndroidとiOS向けアプリの作成
  2. 02Unityモバイルゲームの開始
  3. 03単独のKtorバックエンドの生成
  4. 04テンプレートプロジェクトへの機能追加

MCP 対応

ローカルstdio MCPサーバーは、生成オプションの確認とアプリ、ゲーム、バックエンドの作成を行う6つのツールを提供します。生成はローカルで実行され、初回利用時に固定版テンプレートをダウンロードします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"keremturker-cmpose": {
"command": "npx",
"args": [
"-y",
"@cmpose/mcp"
]
}
}
}
起動コマンドnpx -y @cmpose/mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@cmpose/mcp0.8.9

ツール

4

掲載時のツール一覧 · 2 日前に更新

このツールにパラメーターはありません。

詳細

@cmpose/mcp

AI エージェントに Compose Multiplatform アプリを依頼すると、テスト済みのテンプレートからローカルで生成された、実際にビルド可能な Android + iOS プロジェクトをディスク上に作成できます。また、Unity のモバイルゲーム(Android + iOS)と、単体で動作する Kotlin/Ktor バックエンドも生成できます。これは、6 つのツール(cmp_describe、cmp_generate、game_describe、game_generate、backend_describe、backend_generate)を備えたローカルの stdio MCP サーバーです。アカウントも API キーもアップロードも不要で、お使いのマシン上で動作します。

「Habits という名前で、パッケージを com.acme.habits とし、Room、ライト/ダークテーマ、AdMob 広告を備えた Compose Multiplatform アプリを、~/Projects に作成してください。空の状態から始めます。」

生成されたプロジェクトの開発者向けガイド:https://whinstudio.github.io/cmpose/guide.html

インストール

Node.js 20 以降と git が必要です。

Claude Code

claude mcp add -s user cmpose -- npx -y @cmpose/mcp

Claude Desktop、Cursor、Windsurf などの MCP クライアント(mcpServers 設定):

{
  "mcpServers": {
    "cmpose": { "command": "npx", "args": ["-y", "@cmpose/mcp"] }
  }
}

VS Code(.vscode/mcp.json):

{
  "servers": {
    "cmpose": { "type": "stdio", "command": "npx", "args": ["-y", "@cmpose/mcp"] }
  }
}

生成される内容

すべてのプロジェクトには、androidApp、iosApp(Xcode プロジェクト)、Koin と Navigation を備えた shared モジュール、ロギング(Kermit)、画像読み込み(Coil)、アプリ内レビュー、アップデート確認、About 画面、規約プラグインを備えた build-logic、リリースチェックリスト付きの README が含まれます。

  • テンプレート: showcase(ホーム、オンボーディング、ペイウォールのデモ画面)または blank(サンプル機能を備えたシンプルなシェル)。
  • blank のオプション: Ktor ネットワーキング(オプションでアプリ内ネットワークインスペクターを利用可能)、テーマ(ライト/ダーク/システム)、多言語文字列、DataStore、Room(KMP、SQLite を同梱)、カスタム Compose ペイウォールを備えた RevenueCat の購入機能、UMP/ATT 同意管理を備えた AdMob 広告、detekt、バックエンド(Ktor サーバー、Firebase サインイン、共有機能。blank のみ。多言語対応とネットワーキングが有効になります)、インサイト(Firebase Crashlytics + Analytics。Firebase 設定ファイルを追加するまでは無効です)。
  • 独自の機能モジュール: 最大 3 つまで追加でき、それぞれに contract/data/domain/presentation レイヤーがあります。
  • CI: オプションの GitHub Actions ワークフロー。
  • すべての箇所に反映する名前: パッケージ、バンドル ID、アプリ名、最小 SDK、iOS のデプロイターゲット。

ゲーム(Unity)

「~/Projects に、パッケージ名 com.acme.skyhopper の SkyHopper という 2D Unity ゲームを、広告とリーダーボードを有効にして、空の状態から作成してください」

すべてのゲームプロジェクトは、Android と iOS 向けの Unity 6 プロジェクト(エディター 6000.3.25f1、URP)です。VContainer + UniTask、uGUI インターフェース、Boot → Menu → Game のシーンフロー、設定画面、保存、ディープリンク、アプリ内レビュー、アップデート確認を備えています。

  • テンプレート: showcase(すべてのフラグを有効にしたサンプルゲーム。2D ランナー、または render: "3d" を指定した 3D トラック)または blank(選択したフラグを有効にした空のゲーム)。render は 2d(デフォルト)または 3d です。
  • blank のフラグ: saveSystem、uiTheme、multiLang、network、networkInspector(network が必要です。自動で追加されます)、purchases(RevenueCat)、ads(AdMob)、leaderboards(Google Play Games と Game Center)。
  • 独自の機能モジュール(blank): 最大 3 つ。
  • ID: ids には、実際の AdMob(admob)、RevenueCat(revenueCat)、Play Games + Game Center(gameServices)の ID を指定します。各グループには対応するフラグが必要です。フィールドの一覧は game_describe で確認できます。省略したグループにはテスト ID/プレースホルダーが残り、警告として報告されます。
  • 外観(theme): テンプレートのスタイルファミリーのいずれか(bright、neon、pastel、bold、nature、clean)。パレット、形状、動き、フォントの組み合わせで構成されます。各ファミリーの用途とともに、game_describe の themes に一覧表示されています。theme: { family, primary, accent, fontPair } の各フィールドは省略可能です。primary と accent(#RRGGBB)を指定すると、テキストとボタンのコントラストが保たれるよう明度を調整して、ファミリーの配色を変更します。それでも条件を満たせない色はファミリーの色が維持され、警告として報告されます。theme を指定しない場合、プロジェクトにはテンプレートそのままの clean が適用されます。
  • 各所で使う名前: パッケージ(アプリケーション識別子)、会社名、アプリ名、最小 SDK(25~36)、iOS のデプロイメントターゲット(15.0~26.2)。

「~/Projects に、サービス名 notes-api、パッケージ名 com.acme.notes の NotesBackend というバックエンドを、共有機能を有効にして作成してください」

すべてのバックエンドは、PostgreSQL(Exposed、Flyway)を使用する Kotlin(JVM 21)の Ktor サーバーです。Firebase ID トークンはサーバー上で検証され(Admin SDK は使用しません)、ファイルアップロード、アカウント削除、コピーして使えるサンプル機能 1 つ、セキュリティチェックリスト、ローカルランナー(./gradlew runLocal)、nginx の背後で 1 つの Docker コンテナとしてデプロイするための一式を備えています。sharing を有効にすると、スペース、ロール、招待が追加されます。

ツール

  • cmp_describe:デフォルト、オプション、ルール(名前の形式、制限、各オプションが必要とする条件)を説明します。エージェントは最初に呼び出します。
  • cmp_generate:プロジェクトを作成します。必須項目:projectName(英字のみ、最大30文字)、appName(最大30文字)、packageName(例:com.acme.habits、最大50文字)、絶対パスのoutputDir。オプション:templateType、features(最大20個のモジュール名)、featuresConfig、minSdk(24~36)、iosVersion(15.0~26.2)、ci、templateRef、backendTemplateRef(server/の生成元となるバックエンドテンプレートのタグ。バックエンドのみの場合は空欄)。 プロジェクトのパス、使用したテンプレートのバージョン、警告(置き換えが必要なテスト用広告IDなど)、次の手順を返します。
  • game_describe:Unityゲームジェネレーターのエンジンとエディターのバージョン、テンプレートの種類、レンダリング方式、フラグとその依存関係、IDグループ、デフォルト、制限、ピン留めされたテンプレートのテーマファミリー(themes:defaultと各ファミリーのid、title、suits、fontPairs。初回呼び出し時にテンプレートをダウンロードします)を説明します。エージェントは最初に呼び出します。
  • game_generate:ゲームを作成します。必須項目:projectName(英字または数字1~30文字、先頭は英字)、appName(最大30文字)、packageName(例:com.acme.skyhopper、3セグメント以上、最大50文字)、絶対パスのoutputDir。オプション:companyName(projectNameと同様。デフォルトはパッケージの2番目のセグメントを大文字にしたもの)、templateType、render、flags、features(モジュール名:小文字の英字または数字1~20文字、先頭は英字)、minSdk(25~36)、iosVersion(15.0~26.2、major.minor形式)、ids、theme、templateRef。空でないフォルダーを上書きすることはありません。結果には適用されたテーマ(theme)が示され、警告には色のフォールバックが記載されます。
  • backend_describe:バックエンドジェネレーターのオプション、appNameのルール、プロジェクトの構成、コード追加時に従う規約(保護されたルート、404のルール、機能の配置場所、セキュリティチェックリスト、クォータ、ローカルランナー、デプロイ関連の項目)を説明します。エージェントは最初に呼び出します。
  • backend_generate:バックエンドを作成します。必須項目:projectName(英字のみ、最大30文字)、appName(サービス名:小文字の英字、数字、または-で2~31文字、先頭は英字。api、health、admin、staticは不可)、packageName(例:com.acme.notes)、絶対パスのoutputDir。オプション:sharing(デフォルトはfalse)、sample(サンプル項目機能。デフォルトはtrue)、templateRef。空でないフォルダーを上書きすることはありません。 CMPOSE_BACKEND_TEMPLATE_DIR(バックエンドテンプレートのチェックアウト先の絶対パス)を指定すると、ピン留めされたタグではなく、そのチェックアウト先から生成します。

動作の仕組み

生成処理はすべてお使いのマシン上で実行されます。初回の呼び出しでは、ピン留めされたテンプレート(whinstudio/cmpose-template)を~/.cache/cmposeにダウンロードします(CMPOSE_CACHE_DIRで変更可能)。以降の呼び出しでは、ダウンロード済みのテンプレートを再利用します。ゲームも同様に、ピン留めされたゲームテンプレート(whinstudio/cmpose-game-template)から生成します。生成中にUnityが実行されることはありません。バックエンドはピン留めされたバックエンドテンプレート(whinstudio/cmpose-backend-template)から生成します。各リリースでは各テンプレートのタグが1つずつピン留めされるため、@cmpose/[email protected]は常に同じプロジェクトを生成します。

ソースコードと課題:github.com/whinstudio/cmpose。 MITライセンスです。生成したプロジェクトはご自身のものです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。