whoami
Who is signed in
The person this store sign-in belongs to (id, name, email), its scopes, and whether they run the store. Call it when unsure whether the person is signed in.
无需输入参数。
cc.kadal由 kadal.cc 发布官方发布者v0.1.1更新于 Nov 7, 2026
Find assets for what you're making, download what you own, and get a buy link to review.
发布方自己的服务:Kadal Deck
Kadal Store 的商品目录与素材库工具:搜索数字素材、把已购文件下载到项目,并生成由本人付款的购买链接。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/cc.kadal%2Fstore/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"kadal-store": {
"type": "http",
"url": "https://store.kadal.cc/mcp"
}
}
}[npm version] [CI] [Licence: AGPL-3.0-or-later] [Sponsor]
The Kadal Store sells digital downloads: planners and printables, sound
effects and music, shaders, 3D models, textures, icons and templates. @kadal/store brings it to
where you work. Search the store, get suggestions for the project you are in, download and sync
what you own, and get a link to buy the rest. It works the same for you in a terminal and for the
AI agent you already use (Claude, Cursor, Codex, any MCP client), on your own account and your own
model subscription.
An agent can find things, download what you own and hand you a link. It can never buy: payment always happens on the store's checkout page, in front of you.
Or install it: npm i -g @kadal/store, then kadal-store <command>. Node 20 or newer.
You sign in on the store's own page, so your password never passes through the CLI. The token is
saved in ~/.config/kadal/store.json ($XDG_CONFIG_HOME is respected; %APPDATA%\kadal\ on
Windows), readable only by you, and renews itself. On a machine without a browser, use
--no-open, open the address anywhere, and paste the address the browser lands on back into the
terminal. If the store's page says it does not know this app, run kadal-store login --register.
kadal-store logout signs this machine out and revokes its access; so does removing
"Kadal Store CLI" under Account → Settings → Connected apps.
search <words…> with --shelf <slug>, --style, --topic, --format, --kind asset|pack,
--max <dollars>, --sort relevance|newest|price, --limit <1-50>, --cursor <next page>.shelves lists the store's shelves (use a slug with --shelf).show <slug>: prices per licence tier, the licence (what each tier allows and doesn't), the
files with their sizes and editions, what a pack holds, and its updates.--from <dir> reads only the README's headings, package.json's (or pyproject.toml's, Cargo.toml's)
name, description and dependency names, a count of file types, and the top-level names. It never
reads or sends what is inside your files, and you see the exact text before it goes. --yes
skips the question. Also --shelf, --format (both repeatable), --max <dollars>,
--include-owned, --limit <1-20>.
download <slug> puts one product's files in ./<slug> (or -o <dir>). --file <name>
(repeatable) picks files; --year 2027 --week sun|mon --lang en|ja|en-ja --size a4|a5|letter…
picks one edition of a product sold in editions; --zip gets the whole product as one zip.sync [dir] mirrors everything you own into dir (default ./kadal-store), one folder per
product. Files already there with the same sha256 are skipped; nothing is ever deleted.
--product <slug> (repeatable), the edition flags, and --dry-run..kadal-part file, and the next run picks up where it stopped. Downloads run
four at a time (--concurrency <n>).buy <slug[:tier]>… (tiers: standard, the default, personal, commercial) builds a page where
you see each item, its licence and price, and anything you already own. --open opens it.
--kind mistake|question|idea; --page <n> for a PDF, --at <seconds> for audio or video. Use
- in place of the words to read them from stdin. When a fix ships, the product's update shows in
your library and the next download or sync gets it.
whoami, logout, --help (and <command> --help), --version.
--json on any command prints one JSON document on stdout; everything meant for people goes to
stderr. For the store's commands it is the store tool's answer exactly as the store sent it
(shapes in the contract). download prints
{slug, dir, files: [{fileId, name, path, bytes, sha256, status, resumed?, error?}], zip, counts},
sync prints {dir, dryRun, files, counts}, login prints {ok, host, user, scopes, operator, config}, logout prints {ok, host, signedOut, revoked}, and a recommend --from you
declined prints {sent: false}. Errors are
{ok: false, error: {code, message, exitCode}}.0 ok, 1 failed (the message says why), 2 usage, 3 not signed in (or the
sign-in expired: run kadal-store login), 4 a download failed its checksum (nothing was kept).--host <url> or KADAL_STORE_HOST points at another store, such as a local worker
(--host http://localhost:8861). Each host keeps its own sign-in.Claude Code, with the skill and the MCP server together:
The local MCP server alone (it uses the sign-in from kadal-store login):
For Claude Desktop, Cursor, VS Code and others, point the client at npx -y @kadal/store mcp:
The hosted MCP server, for clients that sign in themselves (OAuth) and need nothing installed:
In Claude (web and desktop), ChatGPT, Cursor and VS Code, add https://store.kadal.cc/mcp as a
custom connector; the store's own page opens to sign in. Step-by-step for each app:
store.kadal.cc/agents.
Both servers are one entry in the official MCP Registry, cc.kadal/store (the hosted one, and this
package as its local version).
[Kadal Store MCP connector – tool definition quality and endpoint health on Glama] [kadalcc/store-cli MCP server]
The skill alone, for any agent that reads Agent Skills: npx skills add kadalcc/store-cli
(skills/kadal-store). It teaches the agent to find assets for the
project in front of it, download into it, never buy on its own, and report problems it finds in
files you bought.
kadal-store mcp --dir <path> serves another folder as the project.
Every command is one call to a tool of the store's hosted MCP server (POST https://store.kadal.cc/mcp, Streamable HTTP, OAuth 2.1 with PKCE). The tools, their inputs and
their outputs are specified in the store's apps/store-worker/docs/agents.md; the types are in
src/types.ts. Money is always integer US cents; URLs are absolute.
See CONTRIBUTING.md and AGENTS.md.
AGPL-3.0-or-later, like the Kadal Deck engine. Security reports: SECURITY.md.
来源:README.md,提交 c39cf20
Who is signed in
The person this store sign-in belongs to (id, name, email), its scopes, and whether they run the store. Call it when unsure whether the person is signed in.
无需输入参数。
Store shelves
The store's shelves (its categories), each with a slug, name, blurb, how many products it holds, and its licence model. Use a shelf slug to narrow search_products or recommend.
无需输入参数。
Search the store
Search the catalogue. Returns product cards: slug, name, kind (asset or pack), shelf, blurb, url, prices per licence tier in US cents, tags (style, topic, format), and `owned` (the person's tier if they already own it). Page with nextCursor.
kindsortlimitqueryshelfstyletopiccursorformatmaxCentsProduct details
Everything about one product: description, prices per tier, its files (name, bytes, minimum tier, edition), editions, what a pack contains and which packs include it, the licence (what each tier allows and does not), and its update history. Check the licence before suggesting a product for commercial work.
slug必填Recommend for this work
Products that fit what the person is working on. `context` is a few plain lines about the project and what it needs (project_summary's `text` is a good start; add what the person asked for). Never put file contents, secrets or personal data in it. Each item has a one-line `why` and a score; `packs` are bundles the person already owns part of (`ownedOf`). This only shortlists: read get_product for the best few, then recommend with your own reasons.
limitcontext必填formatsshelvesmaxCentsincludeOwnedWhat the person owns
Every product the person owns: the product card, their tier, its files (id, name, bytes, sha256, edition), whether a zip is available, and the latest update. File ids go to download_to_folder or get_download_links.
无需输入参数。
Download links
Download URLs for files the person owns, each with its name, size and sha256, valid for 10 minutes; no cookie needed (curl -L works). Narrow with fileIds or an edition; zip: true adds one link for the whole product. To put files into the project, download_to_folder does the download and the checksum for you.
zipslug必填editionfileIdsA link to buy
A link to a review page on the store where the person sees each item (picture, licence, price), anything they already own, and the total, and pays in the checkout themselves. Only when the person asked to buy or agreed to it; building the link charges nothing and buys nothing. Give them the URL, and never say something was bought.
refitems必填Report a problem
Tell Kadal about a product the person has: a mistake (a typo, a wrong date, a missing page, a broken file), a question, or an idea. Say where with fileName and page (PDFs, from 1) or timeSeconds (audio and video). The note is private to the person and Kadal, and its replies show in list_my_notes. Report only what you checked, in plain words, once per problem, and tell the person you filed it.
body必填kind必填pageslug必填fileNametimeSecondsThe person's notes
The person's notes (reports) on products, with each one's status (open, accepted, declined, duplicate, fixed), a plain status line, and the thread with Kadal's replies.
statusSummarise this project
A short summary of a project folder, without its contents: name and description from package.json / pyproject.toml / Cargo.toml, dependency names, tools it uses (Godot, Blender, Next.js, Obsidian…), the README's headings, file-type counts and the top-level names. It is what `kadal-store recommend --from` sends. Pass its `text` to recommend as context. Reads nothing else and sends nothing anywhere.
dirDownload into the project
Download files the person owns into the project, each checked against its sha256; files already there with the same checksum are skipped. dir is relative to the project (default kadal-store/<slug>). Narrow with fileNames or fileIds (from list_library) or an edition, or zip: true for the whole product as one zip. Returns where every file went.
dirzipslug必填editionfileIdsfileNamesoverwrite已满足适用检查项的 100%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
npx -y @kadal/store login # once: approve in your browsernpx -y @kadal/store recommend --from . # what fits the project you are innpx -y @kadal/store download retro-ui-sfx -o assets/sfx$ kadal-store loginOpening 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 ~/.config/kadal/store.json$ kadal-store search planner --max 10Techo weekly planner 2027 Planners owned (personal) techo-weekly-2027A5 monthly undated Planners from $4.00 monthly-undated-a5
2 of 2. Details: kadal-store show <slug>$ 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 Dependencies: phaser README sections: Cosy Farm · Art style File types: .png 412, .ts 88, .wav 31 Top level: assets/, src/, package.json, README.md
Send it? [y/N] yRetro UI sound effects Sound effects from $9.00 retro-ui-sfx Matches "ui" and "sounds", and your .wav files.$ kadal-store libraryTecho weekly planner 2027 (personal) 3 files, 39 KB techo-weekly-2027Retro UI sound effects (standard) 2 files, 12 KB retro-ui-sfx
$ kadal-store download techo-weekly-2027 --year 2027 --size a5 -o plannerDownloading techo-weekly-2027 into planner ✓ planner/techo-weekly_2027_mon_en_a5.pdf ✓ planner/READ ME.txtDone: 2 downloaded, 0 already here.
$ kadal-store sync ~/Kadal2 products · 5 files already in /home/ana/Kadal · 0 to downloadDone: 0 downloaded, 5 already here.$ kadal-store buy fern-pack techo-weekly-2027:personalReview and pay here: https://store.kadal.cc/buy?items=fern-pack:standard,techo-weekly-2027:personal&ref=cli
Fern textures pack standard $12.00 Techo weekly planner 2027 personal $9.00 (you already own this) Total $12.00
Nothing is charged until you pay in the checkout on that page.$ kadal-store report techo-weekly-2027 --kind mistake --file techo-weekly_2027_mon_en_a5.pdf --page 12 "March 31 is missing"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 Techo weekly planner 2027 · mistake · techo-weekly_2027_mon_en_a5.pdf [Accepted for the 7 Nov update] note_… March 31 is missing Kadal: Thanks, fixed in the next update./plugin marketplace add kadalcc/store-cli/plugin install kadal-store@kadal-storeclaude mcp add kadal-store -- npx -y @kadal/store mcp{ "mcpServers": { "kadal-store": { "command": "npx", "args": ["-y", "@kadal/store", "mcp"] } } }claude mcp add --transport http kadal-store https://store.kadal.cc/mcpbun install && bun run build && bun run testbun test/fake-store.ts 8899 & # a fake store, no account needednode dist/bin.js login --host http://127.0.0.1:8899