MCP reference

Docs

Every tool the Kelp Market MCP server exposes — parameters, return values, and whether a key is required. Browsing published datasets and estimating a set are public; everything else needs an API key with the licensing:purchase permission. For client setup, see Get started.

Public tier

no key required
list_datasets

Browse published, curated training datasets — the finished products, not raw assets.

slug
string (1–96 chars) Without slug: the full catalog. With slug: one dataset’s detail plus the first 12 preview assets.
tag
string (1–48 chars) Catalog filter — one tag.
free
boolean Catalog filter — free datasets only.
sort
"newest" | "price-asc" | "price-desc" | "size" Catalog ordering.

→ Catalog rows (slug, name, description, tags, assetCount, priceUsd, discountPct, free, licenseId, coverAssetId, createdAt, url); with slug, the detail row plus coverUrl.

Previewing happens on the web — every row carries its public dataset page URL (/datasets/<slug>); the detail adds the cover image URL.

estimate_training_set

Price a training set: match assets by keyword, type, license, and verification tier, and get a binding quote.

keyword
string Match keyword, e.g. "Windsurfing".
type
"image" | "video" | "audio" | "document" Asset type filter.
license
string[] License types to restrict to.
includeAiGenerated
boolean Include AI-generated assets.
minResolution
number Minimum asset resolution.
minConfidence
confidence tier enum Minimum verification tier.
quantity
number (1–1,000,000, default 20) How many assets to match.
budgetCapUsd
number > 0 Reject quotes above this total.
clauseIds
string[] Custom license clauses to include.
promoCode
string (1–64 chars) Promotional pricing code.

→ jobQuoteId, matched assets, per-asset and total pricing.

Priced per component — compose mixes by running one estimate per component and summing. Quotes expire in ~1 hour — confirm before the deadline.

Key required

licensing:purchase
buy_dataset

Buy a published, curated dataset by slug — the same flow as the website’s buy button, keyed by API-key identity.

slug required
string (1–96 chars) Dataset slug as returned by list_datasets.

→ jobQuoteId, jobId, statusStreamUrl (SSE), datasetName, totalUsd, paymentStatus ("paid" | "pending-payment"), paymentUrl (the /api/sets/<jobQuoteId>/pay deep-link → Stripe Checkout) when unpaid.

Free sets settle immediately — fetch the bundle with get_training_set once the packaging job finishes. Paid sets return the market pay deep-link (/api/sets/<jobQuoteId>/pay), which 302s to Stripe Checkout and can be re-fetched via get_training_set_payment.

confirm_training_set

Accept a quote and queue the packaging job. Issues the Stripe Checkout paymentUrl when the quote carries an account email.

jobQuoteId required
string (UUID) Quote from estimate_training_set.
paymentRef
string External payment reference, if paying outside Stripe.
clauseIds
string[] Override or extend the quoted license clauses.

→ jobId, status "queued", statusStreamUrl (SSE), paymentUrl when applicable.

The buyer email is taken from the API key’s account. Job progress streams over SSE; also accepts ?api_key= on the stream URL.

get_training_set_payment

Check settlement state of a confirmed job.

jobQuoteId required
string (UUID) The confirmed quote id.

→ paymentStatus ("pending-payment" | "paid"), paymentUrl if still unpaid.

get_training_set

Download the packaged dataset once payment has settled.

jobQuoteId required
string (UUID) The confirmed quote id.

→ bundleKey, downloadUrl (presigned, 1-hour validity), expiresAt.

Bundle is a .tar.gz containing LICENSE.md, a signed manifest.json, and per-asset signed manifests with SEAL records.

request_license

License a single asset directly — grants a signed license for one file.

assetId required
string (≤64 chars) Asset record id (CID) as returned by estimate_training_set.
useCase required
string (1–256 chars) Declared training use case.
agentId required
string (1–64 chars) Identifier of the requesting agent.

→ licenseGrantId, status "granted", manifestUrl, expiresAt, priceUsd.