Marketplace Tools
Tools for browsing marketplace listings, installing them, and checking entitlements.
Available Tools
marketplace_browseBrowse published marketplace listings (sites, templates, add-ons the user can install). Optional param "category" to filter: "page", "component", "email", "function", "table", "base", "flow", "theme", "app", "automation", "accountFunction", "agent". Returns listings with id, title, description, category, tier ("free"|"freemium"|"premium"|"upgrade" — there is no "paid"), price (cents), currentVersionId, installCount. Use this when the user asks for ready-made pages, components, functions, emails, bases, or flows.
Input Schema
category | string |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "marketplace_browse",
"arguments": {
"category": "example"
}
}
}marketplace_getListingGet full marketplace listing detail. Param "listingId" from browse. Returns { listing, currentVersion, manifest }. The manifest lists every artifact in the package (category, name, slug, description, requires). Use currentVersion.id as versionId for getInstallPlan/install.
Input Schema
listingId | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "marketplace_getListing",
"arguments": {
"listingId": "example"
}
}
}marketplace_getInstallPlanPreview what installing a listing would do — read-only, no writes. Params: listingId, versionId (from getListing currentVersion.id), targetProjectId (the current project). Returns items[] with category, name, slug, and collision (true if a page path already exists in the project). ALWAYS call this before install and warn the user about collisions.
Input Schema
listingId | stringrequired | |
versionId | stringrequired | |
targetProjectId | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "marketplace_getInstallPlan",
"arguments": {
"listingId": "example",
"versionId": "example",
"targetProjectId": "example"
}
}
}marketplace_myEntitlementsList paid marketplace listings the current user has purchased. Returns entitlements with listingId. Paid listings require an entitlement before install — if missing, tell the user to buy it on the Marketplace page first (never attempt payment yourself).
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "marketplace_myEntitlements",
"arguments": {}
}
}marketplace_installInstall a marketplace listing into a project. Params: listingId, versionId (from getListing currentVersion.id), targetProjectId (required — the project to install into), selections (optional array of artifact slugs to install a subset), mode (optional: "add-to-existing" default). Copies pages/components/functions/emails verbatim and remaps table/base/flow IDs to fresh ones. After install, you can configure the installed artifacts (e.g. bind them to the user's existing tables and data).
Input Schema
listingId | stringrequired | |
versionId | stringrequired | |
targetProjectId | stringrequired | |
selections | array | |
mode | string |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "marketplace_install",
"arguments": {
"listingId": "example",
"versionId": "example",
"targetProjectId": "example"
}
}
}marketplace_installedInList marketplace artifacts already installed in a project. Param "projectId". Returns records with category, artifactSlug, installedVersion, installedAt. Use to avoid duplicate installs.
Input Schema
projectId | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "marketplace_installedIn",
"arguments": {
"projectId": "example"
}
}
}