kadal-store
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KADAL_STORE_HOST | No | Points at another store, such as a local worker (equivalent to --host <url>). Each host keeps its own sign-in. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Kadal Store (store.kadal.cc): digital downloads — planners, printables, sound effects, music, shaders, 3D models, icons, templates. These tools act as the person, with their own store sign-in on this machine.
Find: search_products, or recommend with context from project_summary (a contents-free summary of the current project); then get_product for the files, editions and licence of the best few before suggesting them.
Use what they own: list_library, then download_to_folder puts the files into the project (checked against their sha256; files already there are skipped).
Buying: never buy, and never claim something was bought. If the person asks for something they do not own, create_buy_link gives a review page; give them the URL. Nothing is charged until they pay there themselves.
Problems: if a file they bought has a mistake (a typo, a wrong date, a broken file), report_problem with the file name and page or time, in plain words, once you have checked it. list_my_notes shows Kadal's replies.
Signed out (an error says so): Ask the person to run npx -y @kadal/store login in a terminal (it opens their browser to approve), then try again. Do not try to sign in yourself.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | 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. |
| list_shelvesA | 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_productsA | 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 |
| get_productA | 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. |
| recommendA | Products that fit what the person is working on. |
| list_libraryA | 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. |
| get_download_linksA | 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. |
| create_buy_linkA | 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. |
| report_problemA | 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. |
| list_my_notesC | 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. |
| project_summaryA | 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 |
| download_to_folderA | 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/). 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools target clearly different resources: catalogue search vs. owned library vs. product detail vs. notes vs. sign-in state. The one genuine overlap is get_download_links vs. download_to_folder, but both descriptions explicitly distinguish 'get URLs I could download' from 'download into the project for me', which keeps misselection rare. recommend vs. search_products is also close but split cleanly by 'shortlist for my context' vs. 'query the catalogue'.
Strong verb_noun snake_case pattern throughout: list_shelves, search_products, get_product, list_library, get_download_links, create_buy_link, download_to_folder, report_problem. The deviations are minor and idiomatic rather than chaotic: whoami (no separator) and project_summary (noun-only, no verb).
Twelve tools is squarely in the well-scoped range for a digital storefront covering auth, browsing, recommendation, ownership, downloading, purchasing and feedback. Each tool maps to a distinct step in a real user workflow; none looks like filler.
The surface covers the full browse-to-download-to-buy lifecycle plus problem reporting and project context, with sensible crossover between tools. Minor gaps: no tool to list/manage past purchases or licences, and no way to upgrade a tier other than rebuilding a buy link, but agents can work around this.