CLI
mo は Mottainai のコマンドラインツールです。 anti-waste の考え方に沿って、繰り返し作業やコンテキスト切り替えを減らし、 より速く実行するために設計されています。
用途:
- ターミナルでの高速操作
- スクリプトや cron での自動化
- AI エージェント連携
インストール
bash
curl -sSfL mottainai.app/cli/install.sh | sh/usr/local/bin に書き込みできない場合、インストーラは ~/.local/bin へ自動でフォールバックします。
インストールページ: mottainai.app/cli
アップデート
bash
mo updatemo update は現在のインストール先に書き込み可能ならその場で更新します。 書き込み不可の場合は ~/.local/bin にインストールします。 ユーザー領域インストールを明示する場合:
bash
mo update --userログイン
bash
mo auth loginブラウザで OAuth ログインを行い、認証情報をローカルに保存します。
ヘッドレス環境やスクリプトでは、API トークン(設定画面で作成)を直接渡せます:
bash
mo auth login --token mot_...MOTTAINAI_TOKEN 環境変数を設定すれば、ログイン操作なしで使えます:
bash
export MOTTAINAI_TOKEN=mot_...
mo container list --type storageよく使うコマンド
bash
mo container list --type storage
mo item list STORAGE_ID
mo shopping list SHOPPING_CONTAINER_ID
mo board list
mo calendar list
mo notebook list
mo token listスクリプト向け出力
--json を使うと機械処理しやすくなります。
bash
# 全フィールド
mo container list --type storage --json
# 特定のフィールドを選択
mo container list --type storage --json=id,name
# ネストされたレスポンスへの jq クエリ
mo search 牛乳 --json='.results[] | {name, type}'
# jq フィルタ
mo item list ID --json='[.[] | select(.quantity > 0) | {title, quantity}]'フィールド名 (id,name) または jq 式でフィルタリングや整形が可能です。
検索
bash
mo search 牛乳
mo search "type:contact 太郎"
mo search "in:storage category:dairy"
mo search "アーモンドミルク" --jsonWeb アプリと同じクエリ構文をサポート: AND/OR、フレーズ検索、前方一致、 除外、修飾子 (in:, type:, category:, location:, label:, expires:, is:archived, sort:, limit:)。
共有出費
bash
# コンテナ
mo sharedpay list
mo sharedpay create --name "Summer Trip" --currency EUR
mo sharedpay get SHAREDPAY_ID
mo sharedpay update SHAREDPAY_ID --name "Summer Trip 2026"
mo sharedpay delete SHAREDPAY_ID --yes
# 費用(金額はセント単位: 8000 = €80.00)
mo sharedpay expense list SHAREDPAY_ID [--kind expense] [--currency EUR]
mo sharedpay expense create SHAREDPAY_ID --title "Dinner" --amount 8000 [--payer USER_ID]
mo sharedpay expense delete EXPENSE_ID --yes
# 残高
mo sharedpay balance SHAREDPAY_ID
# ファントム参加者(アカウントなしのゲスト)
mo sharedpay phantom list SHAREDPAY_ID
mo sharedpay phantom create SHAREDPAY_ID --name "Alice"
mo sharedpay phantom rename SHAREDPAY_ID PHANTOM_ID --name "Alice B."
# メンバーとグループ(他のコンテナタイプと同じ)
mo sharedpay member list SHAREDPAY_ID
mo sharedpay member add SHAREDPAY_ID --email user@example.com
mo sharedpay group list SHAREDPAY_ID
mo sharedpay group link SHAREDPAY_ID --group-id GROUP_IDレシピコレクション
bash
# レシピ一覧
mo recipe list --container COLLECTION_ID
# レシピを取得(スケーリング可)
mo recipe get RECIPE_ID
mo recipe get RECIPE_ID --servings 8
# レシピの作成
mo recipe create --container COLLECTION_ID --title "Pasta Carbonara"
mo recipe create --container COLLECTION_ID --from-url "https://example.com/recipe"
mo recipe create --container COLLECTION_ID --from-text "2 cups flour, 1 egg..."
# 更新と削除
mo recipe update RECIPE_ID --title "New Name" --difficulty easy
mo recipe delete RECIPE_ID --yes
# スケーリング(読み取り専用)
mo recipe scale RECIPE_ID --servings 6
# 買い物リスト連携
mo recipe shopping RECIPE_ID --to SHOPPING_ID --servings 4 --exclude-in-stock
# 調理を記録
mo recipe cooked RECIPE_ID --note "Perfect"
# AI編集
mo recipe ai-edit RECIPE_ID --instruction "make it vegan" --apply
# AIレシピ提案
mo recipe suggest COLLECTION_ID [--storage-ids STORAGE_ID]
# 公開設定
mo recipe publish RECIPE_ID --allow-fork
mo recipe unpublish RECIPE_ID --yes
mo recipe fork TOKEN --container COLLECTION_ID
# エクスポートとインポート
mo recipe export --container COLLECTION_ID --output recipes.json
mo recipe import --container COLLECTION_ID --file recipes.jsonノートブック
bash
# ノートブック
mo notebook list
mo notebook create "My Notes" [--color "#3b82f6"]
mo notebook get NOTEBOOK_ID
mo notebook update NOTEBOOK_ID --name "Updated Notes"
mo notebook delete NOTEBOOK_ID --yes
# ページ
mo notebook page list --container NOTEBOOK_ID
mo notebook page get PAGE_ID --container NOTEBOOK_ID
mo notebook page create --container NOTEBOOK_ID --title "New Page" [--content "# Hello"] [--parent PARENT_PAGE_ID]
mo notebook page update PAGE_ID --container NOTEBOOK_ID --title "Updated" [--content "New content"]
mo notebook page delete PAGE_ID --container NOTEBOOK_ID --yes
mo notebook page move PAGE_ID --container NOTEBOOK_ID [--parent NEW_PARENT_ID] [--position 0]Webhooks
bash
mo webhooks list
mo webhooks create --url "https://example.com/hook" [--events item.created,item.updated] [--containers ID1,ID2]
mo webhooks get WEBHOOK_ID
mo webhooks update WEBHOOK_ID --url "https://example.com/new-hook"
mo webhooks delete WEBHOOK_ID --yes
mo webhooks test WEBHOOK_ID
mo webhooks rotate-secret WEBHOOK_ID
mo webhooks deliveries WEBHOOK_ID
mo webhooks retry WEBHOOK_ID DELIVERY_ID
mo webhooks enable WEBHOOK_IDCLIからAI追加
bash
mo ai parse STORAGE_ID --text "ヨーグルト2、米1"複数アイテムを一度に追加できます。