Skip to main content
Glama
kadal-store

kadal-store

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KADAL_STORE_HOSTNoPoints 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 owned (the person's tier if they already own it). Page with nextCursor.

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. 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.

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 kadal-store recommend --from sends. Pass its text to recommend as context. Reads nothing else and sends nothing anywhere.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation4/5

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'.

Naming Consistency4/5

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).

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessSyncing