Kadal Store について
Kadal Store CLI と MCP サーバーは、クリエイターやそのエージェント向けに、デジタル素材の検索、購入済みファイルの取得、購入リンクの作成を行います。エージェントは検索とダウンロードを行えますが、支払いはアカウント所有者がストアで行います。
主な機能
- 01デジタル商品の検索と詳細表示
- 02プロジェクトに沿った素材の提案
- 03購入済み商品のダウンロードとライブラリ同期
- 04エディション選択と対応 SVG の色変更
- 05確認用購入リンクの作成
- 06商品へのフィードバック送信とノート確認
活用シーン
- 01プロジェクトに合う効果音や画像の検索
- 02購入済み素材のプロジェクトフォルダーへの配置
- 03購入前のライセンスと価格の確認
- 04ダウンロードしたファイルの問題報告
MCP 対応
ホスト型とローカルの MCP サーバーを提供し、商品検索、ダウンロード、購入リンク作成のツールを公開します。エージェントは支払いを完了できず、ストアのページで決済します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://store.kadal.cc/mcpclaude mcp add --transport http cc-kadal-store https://store.kadal.cc/mcp{"mcpServers":{"cc-kadal-store":{"type":"http","url":"https://store.kadal.cc/mcp"}}}Cursor で開く{"servers":{"cc-kadal-store":{"type":"http","url":"https://store.kadal.cc/mcp"}}}VS Code で開く{"mcpServers":{"cc-kadal-store":{"type":"http","url":"https://store.kadal.cc/mcp"}}}{"mcpServers":{"cc-kadal-store":{"serverUrl":"https://store.kadal.cc/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Kadal Store CLI
ストアのライブラリを、ターミナルとAIエージェントで。
今いるプロジェクトに合うものを探し、所有しているファイルを適切な場所に配置して、残りを購入するためのリンクを取得できます。ターミナルからでも、Claude、ChatGPT、Cursor、VS Code、Codex、その他のMCPアプリからでも、ご自身のストアアカウントで利用できます。エージェントが支払いをすることは決してありません。
Kadal Storeでは、プランナーや印刷用素材、アートやアイコン、ステッカー、壁紙、パターン、音楽、効果音、3Dモデル、動画エフェクト、シェーダーなどのデジタルダウンロード商品を販売しています。一度購入すれば、ファイルはずっと手元に置いておけます。@kadal/storeを使えば、作業中の場所からストアを利用できます。商品を検索し、目の前のプロジェクトに合うものを提案してもらい、所有しているものをダウンロードして同期し、残りを購入するためのリンクを取得できます。ターミナルでも、普段お使いのAIエージェントでも、ご自身のアカウントとモデルのサブスクリプションで同じように利用できます。
エージェントは商品を探し、所有しているものをダウンロードして、購入リンクを提示できます。支払いをすることは決してありません。支払いは、ストアのページ上で、あなたの目の前で行うPaddleのチェックアウトで完了します。
ストアを見る →
すべての商品に、ファイル、エディション、各ライセンスで許可される内容が表示されています。
はじめる · エージェントを接続 · コマンド · 支払いは決してしない · プライバシー · 変更履歴
30秒で始める
Node 20以降が必要です。
npx -y @kadal/store login # once: approve on the store's own page
npx -y @kadal/store recommend "ui sounds" --from . # what fits the project you're in
npx -y @kadal/store download soft-ui-sounds -o assets/sfx # a product you own, into the project
または、npm i -g @kadal/storeでインストールしてから、kadal-store <command>を実行してください。
エージェントに任せたい場合は?Claude、ChatGPT、Cursor、またはVS Codeに、アドレスhttps://store.kadal.cc/mcpを伝えてください。インストールは不要です:エージェントを接続する。
ストア内の商品
各画像の下にあるコードは商品のスラッグで、すべてのコマンドで使用します:
kadal-store show liquid-marble を実行すると、ファイル、価格、ライセンスがターミナルに表示されます。画像はストア独自のプレビューなので、ストア側で更新されると変更されます。
サインイン
$ kadal-store login
Opening your browser to sign in to store.kadal.cc. If it does not open, visit:
https://store.kadal.cc/authorize?response_type=code&client_id=…
Signed in as Ana <[email protected]> on store.kadal.cc. Saved to /home/ana/.config/kadal/store.json
サインインはストア独自のページで行うため、パスワードが CLI を経由することはありません。トークンは ~/.config/kadal/store.json に保存され($XDG_CONFIG_HOME に対応。Windows では %APPDATA%\kadal\)、本人のみが読み取り可能で、自動的に更新されます。ブラウザーのないマシンでは、--no-open を指定し、任意の場所でアドレスを開いて、ブラウザーの移動先アドレスをターミナルに貼り付けてください。ストアのページに、このアプリは認識できないと表示された場合は、kadal-store login --register を実行してください。
kadal-store logout を実行すると、このマシンからサインアウトしてアクセス権を取り消します。「Account → Settings → Connected apps」の「Kadal Store CLI」を削除しても同様です。
コマンド
検索
$ kadal-store search planner --max 10 --limit 5
72 Seasons Weekly Planner Printables $9.00 seventy-two-seasons-planner
Kakeibo Budget Planner Printables $8.00 kakeibo-budget-planner
2027 Small Business Planner Printables $8.00 small-business-planner-2027
2027 ADHD-Friendly Daily Planner Printables $8.00 adhd-friendly-planner
Christmas Planner Printables $7.00 christmas-planner
5 of 54. Details: kadal-store show <slug>
More: kadal-store search planner --cursor 5
search <words…>に--shelf <slug>、--style、--topic、--format、--kind asset|pack、--max <dollars>、--sort relevance|newest|price、--limit <1-50>(20)、--cursor <next page>を指定できます。shelvesは、ストアの棚とそれぞれにある商品の数を表示します(--shelfにはスラッグを使用します)。show <slug>は、各ライセンスの価格、各ライセンスで許可されることと許可されないこと、サイズとエディションを含むファイル、パックの内容、更新情報を表示します。
プロジェクト向けのおすすめ
$ kadal-store recommend "sounds for a cosy pixel-art farming game" --limit 3
Retro 8-Bit SFX Sound FX from $9.00 retro-8bit-sfx
Matches “sound”, “pixel” and “art” in its tags.
Cute Pops & Sparkles Sound FX from $9.00 cute-pops-sparkles
Matches “sound”, “cosy” and “game” in its tags.
Holiday Creator Kit Bundles from $29.00 holiday-creator-kit (pack of 9)
Matches “sound”, “art” and “game” in its tags.
Packs that complete what you have:
Sound FX Collection Sound FX from $24.00 sfx-collection (pack of 4)
Holds 2 of the picks above. You already own 1 of its 4 items. Its 4 items cost $39 one by one; the pack is $24. (you own 1)
…
おすすめにはそれぞれ選んだ理由が表示され、パックにはどれだけ節約できるかが表示されます。所有済みのものは除外されます(--include-owned で含められます)。--from . を追加すると、ストアは作業中のプロジェクトの短い概要も読み取ります。送信前にその概要を確認できます(含まれる情報)。さらに、--shelf、--format(どちらも繰り返し指定可能)、--max <dollars>、--limit <1-20>(8)、確認なしで概要を送信する --yes も指定できます。
所有しているもの
$ kadal-store library
Slim Weekly Techo (standard) 42 files, 19.7 MB slim-weekly-techo
Soft UI Sounds (personal) 41 files, 1.8 MB soft-ui-sounds
Download one: kadal-store download <slug> · everything: kadal-store sync <dir>
$ kadal-store download slim-weekly-techo --year 2027 --lang en --size a6 -o planner
Downloading slim-weekly-techo into planner
✓ planner/FONT-LICENCE.txt
✓ planner/how-to-print.pdf
✓ planner/slim-weekly-techo_2027_en_a6.pdf
Done: 3 downloaded, 0 already here.
$ kadal-store sync Kadal
2 products · 83 files already in Kadal · 0 to download
Done: 0 downloaded, 83 already here.
-
download <slug>は、1つの商品ファイルを./<slug>(または-o <dir>)に保存します。--file <name>(繰り返し指定可能)でファイルを選択できます。エディション別に販売される商品では、--year 2027 --week sun|mon --lang en|ja|en-ja --size a4|a5|letter…を指定して選択します。利用可能なエディションはshow <slug>に表示されます。read-me のようにすべてのエディションに共通するファイルは、常に一緒に取得されます。--zipは商品全体を1つの zip として取得し、--forceはすでにあるファイルもダウンロードします。 -
sync [dir]は、所有するすべてのものをdir(デフォルトは./kadal-store)に、商品ごとのフォルダーに分けてミラーリングします。同じ sha256 のファイルがすでにある場合はスキップされ、ファイルが削除されることはありません。--product <slug>(繰り返し指定可能)、エディションのフラグ、ダウンロードされる内容を確認するための--dry-runを指定できます。 -
色を変更できるイラスト(
show <slug>に「Recolourable」と表示)は、任意の色で取得できます。downloadまたはsyncに--color <hex>(例:--color 2f9e44)を指定すると、各 SVG をその色に変更し、<name>-2f9e44.svgとして保存します。商品のその他の内容はそのままです。#は省略するか、引用符で囲んでください("#2f9e44")。シェルでは#の後ろがコメントになるためです。色を変更したファイルはそれぞれ、ストアの sha256 と照合されるため、次回の実行時にもスキップされます。sync --colorは色を変更できる商品を変更し、それ以外の商品は描画されたまま取得します。色を変更できない商品は拒否されます(終了コード 2)。 -
保持する前に、すべてのファイルをストアから提供された sha256 と照合します。ダウンロードが中断されると
.kadal-partファイルが残り、次回の実行時に中断した箇所から再開します。ダウンロードは一度に4件ずつ実行されます(--concurrency <n>)。 -
ダウンロードできるのは所有しているものだけです。それ以外の場合はストアからの回答を表示して終了します。
$ kadal-store download retro-8bit-sfx Downloading retro-8bit-sfx into retro-8bit-sfx error: You don't own Retro 8-Bit SFX. get_product describes it; create_buy_link makes a link to buy it.
購入
$ kadal-store buy retro-8bit-sfx soft-ui-sounds
Review and pay here:
https://store.kadal.cc/buy?items=retro-8bit-sfx:personal,soft-ui-sounds:personal&ref=cli
Retro 8-Bit SFX personal $9.00
Soft UI Sounds personal $9.00 (you already own this)
Total $9.00
Open the link to review and pay. Nothing is charged until you pay on that page, and you can change a licence or remove anything there. Already owned, so not charged: soft-ui-sounds.
buy <slug[:tier]>… を実行すると、各アイテム、ライセンス、価格、およびすでに所有しているアイテム(合計金額から除外されます)を確認できるページが作成されます。tier を指定しない場合、アイテムには販売中の最も安いライセンスが適用されます。選択するには、personal、standard、commercial のいずれかを追加してください。--open
を指定すると、ページがブラウザーで開きます。buy が行うのはページの作成だけです。そこで支払うかどうかは、あなた次第です。
左は、buy とエージェントの create_buy_link が開くページです。確認用のリストが表示されます。右は商品ページで、各ライセンスの説明が表示されます。
問題を報告する
$ kadal-store report slim-weekly-techo --kind question --file slim-weekly-techo_2027_en_a6-on-a4.pdf --page 3 "Do I print this one at 100% for an A6 binder?"
Thanks. Your note is open: https://store.kadal.cc/account/notes#note_…
Only you and Kadal can see it. Replies show up in `kadal-store notes`.
$ kadal-store notes
Slim Weekly Techo · question · slim-weekly-techo_2027_en_a6-on-a4.pdf [Waiting for Kadal to read it] note_…
Do I print this one at 100% for an A6 binder?
--kind mistake|question|idea。PDF の場合は --page <n>、音声または動画の場合は --at <seconds> を指定します。読み上げる語句の代わりに - を指定すると、標準入力から読み取ります。notes --status open|accepted|declined|duplicate|fixed を指定すると、リストを絞り込めます。修正がリリースされると、商品の更新内容がライブラリに表示され、次回の download または sync で取得できます。
その他すべて
whoami、logout、--help(および <command> --help)、--version。
エージェントを接続する
コピー用ボタン付きの同じ手順:store.kadal.cc/agents。
同じツールを備えたサーバーが 2 種類あります。ホスト型の https://store.kadal.cc/mcp はインストール不要です。アプリが OAuth でストアにサインインし、許可する内容を選択します。ローカルの npx -y @kadal/store mcp は、このマシンの kadal-store login を使用し、プロジェクトフォルダーで動作する 2 つのツールを追加します。どちらも公式 MCP Registryに、cc.kadal/store という 1 つのエントリーで登録されています。
Claude(claude.ai とデスクトップアプリ)
Settings → Connectors を開き、Add custom connector を選んで https://store.kadal.cc/mcp を貼り付け、接続します。ストアのページが開くので、サインインして Allow を押してください。
Claude Code
プラグインを使うと、スキルとローカル MCP サーバーをまとめて利用できます。npx -y @kadal/store login で一度サインインしてから、次の操作を行います。
/plugin marketplace add kadalcc/store-cli
/plugin install kadal-store@kadal-store
または、ホスト型サーバーだけを追加してから、Claude Code で /mcp を実行し、kadal-store を選んでサインインします。
claude mcp add --transport http kadal-store https://store.kadal.cc/mcp
または、ローカルサーバーだけを追加します:claude mcp add kadal-store -- npx -y @kadal/store mcp。
ChatGPT
Settings → Apps & Connectors で Advanced の下にある開発者モードをオンにし、アドレスに https://store.kadal.cc/mcp を指定して、サインイン方法に OAuth を選択したコネクターを作成します。初めて使用するときに、ChatGPT からストアのサインイン画面が開きます。
Cursor
~/.cursor/mcp.json に追加します。
{ "mcpServers": { "kadal-store": { "url": "https://store.kadal.cc/mcp" } } }
VS Code
.vscode/mcp.json に追加し、ファイルから起動します。
{ "servers": { "kadal-store": { "type": "http", "url": "https://store.kadal.cc/mcp" } } }
Codex、およびローカルサーバーのみを実行するアプリ
npx -y @kadal/store login で一度サインインしてから、アプリでローカルサーバーを指定します。Codex の場合は ~/.codex/config.toml に設定します。
[mcp_servers.kadal-store]
command = "npx"
args = ["-y", "@kadal/store", "mcp"]
Claude Desktop、Cursor などのアプリでも、同じローカルサーバーを JSON で指定します。
{ "mcpServers": { "kadal-store": { "command": "npx", "args": ["-y", "@kadal/store", "mcp"] } } }
スキル
Agent Skills を読み込めるエージェントには、npx skills add kadalcc/store-cli
(skills/kadal-store) を使用します。エージェントに、作業中のプロジェクトに必要なアセットを見つけてダウンロードすること、自分で購入しないこと、購入したファイルに問題があれば報告することを教えます。
ツール
| MCP ツール | |
|---|---|
search_products、get_product、list_shelves、recommend | カタログ、各商品のライセンス、作業内容の説明に基づく提案 |
list_library、get_download_links | 所有している商品、および各ファイルの sha256 付きの10分間有効なダウンロードリンク(色を指定すると、色を変更できるイラストの SVG が取得できます) |
create_buy_link | 支払い用の確認ページ。料金は請求されません |
report_problem、list_my_notes | 所有しているファイルについてのメモと、Kadal からの返信 |
whoami | サインインしているユーザーと、そのスコープ |
project_summary(ローカル) | recommend --from が送信する内容。フォルダーの中身は含めず、フォルダーについて説明した情報 |
download_to_folder(ローカル) | 所有しているファイルを sha256 で検証してプロジェクトにダウンロードします。既存のファイルはスキップし、色を変更できるイラストでは color を指定できます。サーバーの起動時に --allow-outside を指定していない限り、ダウンロード先はサーバーの起動フォルダー内に限られます |
kadal-store mcp --dir <path> を使うと、別のフォルダーをプロジェクトとして提供できます。report_problem は store:write スコープが必要ですが、それ以外のすべてのツールには store:read スコープが必要です。ストアの
サーバーカードには、サインインせずにすべてのツールを確認できます。
エージェントが支払いをすることはありません
- 支払いができるツールはありません。
kadal-store buyと同様に、create_buy_linkは store.kadal.cc の確認ページのアドレスを返します。ストアにサインインした状態で、自分のブラウザーから Paddle のチェックアウト画面で支払います。自分で手続きを行うまでは請求されません。また、その前にライセンスを変更したり、商品を削除したりできます。 - ダウンロードできるのは所有している商品のみです。 ダウンロードリンクは、サインインしているユーザーがライセンスを保有するファイルに対して発行され、有効期間は10分間です。それ以外の場合は「You don't own …」と表示され、
create_buy_linkへの案内が返されます。 - 実行できる操作は自分で選べます。 問題の報告には
store:writeが必要で、それ以外はstore:readが必要です。Account → Settings → Connected apps でアプリを削除すると、そのアプリのアクセス権は終了します。 - スキルにも同じことが記載されています。 エージェントに、自分で購入しないこと、購入したと偽らないこと、代わりにチェックアウト画面を開かないこと、自分でサインインするようユーザーに求めることを伝えます。
プライバシー
recommend --from <dir> とローカルサーバーの project_summary は、プロジェクトの内容を送らずにプロジェクトの概要を説明します。読み取るのは次の情報です。
package.json、pyproject.toml、Cargo.toml、go.modから、名前、説明、キーワード、依存関係の名前(バージョン、スクリプト、その他の情報は読み取りません)。- README の見出し。段落は読み取りません。
- ファイル名。ファイルの種類を数え、ツール(
project.godot、.blendファイル)やトップレベルの名前を見つけるために使用します。
依存関係、ビルド、隠しフォルダー(node_modules、.git、dist、ドットで始まるフォルダーなど)は読み取らず、シンボリックリンクもたどりません。また、テキストは 6,000 文字までです。送信される内容は正確に確認でき、許可するまでは何も送信されません。
$ kadal-store recommend "ui sounds" --from .
This summary of /home/ana/cosy-farm will be sent to store.kadal.cc:
Project: cosy-farm — A cosy farming game
Built with: Phaser, Vite
Dependencies: phaser, vite
README sections: Cosy Farm · Art style · Controls
File types: .png 8, .ts 5, .html 1, .json 1, .md 1
Top level: assets/, src/, index.html, package.json, README.md
Send it? [y/N]
フォルダーのパスは表示されますが、送信されません。確認を求めるターミナルがない場合は、--yes を渡さない限り何も送信されません。
ストア側では、recommend に送信されたテキストは、その回答にのみ使用され、保存されません。接続ごとに、アプリの名前、許可した内容、日時が記録され、ダウンロードはライブラリからの操作と同様にログに記録されます。詳細はストアのプライバシーポリシーをご覧ください。お使いのマシンでは、CLI はサインインで説明されているサインイン情報のみを保持します。
仕組み
CLI がストアに要求する操作は、すべてホスト型 MCP サーバーのツール呼び出しとして行われます(POST https://store.kadal.cc/mcp、Streamable HTTP、PKCE を使用する OAuth 2.1)。CLI はカタログのロジックを独自に持たないため、CLI、kadal-store mcp、ホスト型サーバー上のエージェントは、いずれも同じデータを参照します。ツールの説明はstore.kadal.cc/agentsとサーバーカードにあり、型はsrc/types.tsにあります。金額は常に整数の米ドルセントで、URL は絶対 URL です。図の元データはExcalidraw ファイルです。
スクリプト向け
- どのコマンドでも
--jsonを指定すると、標準出力に JSON ドキュメントが 1 つ出力されます。人が読むための内容はすべて標準エラー出力に送られます。ストアのコマンドでは、ストアのツールが返した回答がそのまま出力されます。downloadは{slug, dir, files: [{slug, fileId, name, path, bytes, sha256, status, resumed?, error?}], zip, counts}、syncは{dir, dryRun, files, counts}、loginは{ok, host, user, scopes, operator, config}、logoutは{ok, host, signedOut, revoked}を出力します。拒否したrecommend --fromは{sent: false}を出力します。エラーは{ok: false, error: {code, message, exitCode}}です。 - 終了コード:
0成功、1失敗(理由はメッセージに表示)、2使用方法のエラー、3未サインイン(またはサインインの有効期限切れ。kadal-store loginを実行してください)、4ダウンロードのチェックサム検証失敗(何も保存されません)。 --host <url>またはKADAL_STORE_HOSTを指定すると、ローカルワーカーなど別のストアを使用できます(--host http://localhost:8861)。ホストごとに個別のサインイン情報が保持されます。
開発
bun install && bun run build && bun run test
bun test/fake-store.ts 8899 & # a fake store, no account needed
node dist/bin.js login --host http://127.0.0.1:8899
CONTRIBUTING.md と AGENTS.md をご覧ください。この README の画像は、実際のページと CLI の実行結果を使用しています。.github/assets/src/render.mjsで画像を再生成できます。
ライセンス
Kadal Deck エンジンと同様、AGPL-3.0-or-later です。CLI をコマンドとして実行しても、エージェントの MCP サーバーとして実行しても、何も発生しません。改変したバージョンをネットワークサービスとして実行する場合、そのユーザーが改変したソースコードを入手できるようにする必要があります。
ダウンロードするファイルは AGPL の対象ではありません。それぞれに、購入時に適用されたストアのライセンスが付属します。LICENSING.md では両方について説明し、THIRD_PARTY_NOTICES.md では、同梱されるパッケージとそのライセンスを一覧にしています。
コントリビューション
実行したコマンド、その --json 出力、終了コードを含むバグ報告が、最も役に立ちます。プルリクエストも歓迎します。
CONTRIBUTING.md では、セットアップ(Bun 1.3 以降)とテストについて説明しています。
行動規範 に従い、セキュリティ上の問題は
SECURITY.md の説明に従って非公開で報告してください。
スポンサー
スポンサーシップは、Kadal のオープンソースツールに取り組む時間を支えます。対象は、課題、ドキュメント、皆さんから要望された機能です。 GitHub で Kadal をスポンサーする。Kadal Deck と同じスポンサーシップです。各ティアは deck.kadal.cc/sponsor に掲載され、支援者は BACKERS.md に記載されています。 企業は 請求書によるスポンサー も可能です。
あなたのロゴはこちら: Kadal のオープンソース活動をスポンサーする最初の企業になりませんか。
チェンナイで制作 Kadal · store.kadal.cc · [email protected]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。