Back to MCP Overview

Marketplace Tools

Tools for browsing marketplace listings, installing them, and checking entitlements.

6 tools

Available Tools

marketplace_browse

Browse 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

categorystring

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "marketplace_browse",
    "arguments": {
          "category": "example"
    }
  }
}
marketplace_getListing

Get 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

listingIdstringrequired

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "marketplace_getListing",
    "arguments": {
          "listingId": "example"
    }
  }
}
marketplace_getInstallPlan

Preview 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

listingIdstringrequired
versionIdstringrequired
targetProjectIdstringrequired

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "marketplace_getInstallPlan",
    "arguments": {
          "listingId": "example",
          "versionId": "example",
          "targetProjectId": "example"
    }
  }
}
marketplace_myEntitlements

List 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_install

Install 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

listingIdstringrequired
versionIdstringrequired
targetProjectIdstringrequired
selectionsarray
modestring

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "marketplace_install",
    "arguments": {
          "listingId": "example",
          "versionId": "example",
          "targetProjectId": "example"
    }
  }
}
marketplace_installedIn

List marketplace artifacts already installed in a project. Param "projectId". Returns records with category, artifactSlug, installedVersion, installedAt. Use to avoid duplicate installs.

Input Schema

projectIdstringrequired

Example Call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "marketplace_installedIn",
    "arguments": {
          "projectId": "example"
    }
  }
}