Store MCP Tool Reference
This reference is generated from the operation registry used by MCP and HTTP. Use browser Find to locate a tool name or field.
How to read the reference
A tool’s presence does not guarantee that a store supports it. Check stores.get capabilities, permissions and plan entitlement before invoking it. Schemas document input shape; additional semantic validation and provider requirements still apply.
Canonical products are local records, not a synchronized marketplace catalog. Product links are explicit. Orders and fulfillment tools do not enable order writes on eBay, Square or WooCommerce. Notification destination secrets are configured in the browser.
Examples use synthetic IDs and must be replaced with IDs obtained through your authorized reads. All published tool names, schemas, permissions, annotations and counting policies below come from the same definitions as tool discovery.
Store, account, usage and activity
system.get — Get service information
Service version, MCP endpoint, supported platforms, authentication modes and help links.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Get service information",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}account.get — Get account access
Identity derived from the credential: workspace, effective permissions, store scope, plan and management links.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Get account access",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}usage.get — Get monthly usage
Authoritative current-period usage, allowance, remaining capacity, period end and counting policy.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Get monthly usage",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}activity.list — List recent activity
Paginated, redacted request metadata for this workspace (tool, store, status, latency). No arguments or payloads.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 8000
}
},
"required": [
"limit"
],
"additionalProperties": false
}{
"title": "List recent activity",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}activity.get — Get activity details
One activity record by the activityId every tool result returns (tool, store, status, latency, principal).
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"activityId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"activityId"
],
"additionalProperties": false
}{
"title": "Get activity details",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}attention.list — List items needing attention
What needs the merchant right now, from Store MCP state only: pending approvals, stores to reconnect, failing notification destinations, usage warnings, unknown write outcomes, billing. No provider calls.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "List items needing attention",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}operations.get — Check a write result
Inspect a mutation receipt by idempotency key: completed result, pending, or unknown provider outcome.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Check a write result",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}stores.list — List connected stores
Connected merchant accounts visible to this credential, with capabilities, granted scopes and limitations.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "List connected stores",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}stores.get — Get store details
One store with last observed health, capabilities and limitations.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
}
},
"required": [
"storeId"
],
"additionalProperties": false
}{
"title": "Get store details",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}stores.check — Check a store connection
Bounded live connection check. Distinguishes disconnected, expired/reauthorize, throttled, denied and unavailable, with the action to take.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
}
},
"required": [
"storeId"
],
"additionalProperties": false
}{
"title": "Check a store connection",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}stores.disconnect — Disconnect a store
Remove the saved credentials for a store (the provider-side app grant remains until revoked there). Requires browser approval by the workspace owner.
Permission: sensitive. Counted action: No. Owner browser approval: Required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"approvalId": {
"description": "Browser approval ID returned after the owner approved this exact request.",
"type": "string",
"maxLength": 100
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Disconnect a store",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}stores.connect — Connect a store
Start a connection or reconnection intent and return a browser URL for the workspace owner. Login and merchant consent happen in the browser; nothing is returned here.
Permission: write. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"platform": {
"type": "string",
"enum": [
"shopify",
"etsy",
"ebay",
"square",
"woocommerce"
]
},
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"write": {
"default": false,
"type": "boolean"
},
"shopDomain": {
"description": "WooCommerce HTTPS store origin, or Shopify domain for non-production custom-app testing only. Production Shopify installs start on Shopify; reconnect by storeId.",
"type": "string",
"maxLength": 255
}
},
"required": [
"platform",
"write"
],
"additionalProperties": false
}{
"title": "Connect a store",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}Products and listings
products.list — List canonical products
List explicitly created canonical products. This is not a synchronized marketplace catalog.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 8000
},
"sku": {
"type": "string",
"maxLength": 100
}
},
"required": [
"limit"
],
"additionalProperties": false
}{
"title": "List canonical products",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}products.get — Get a canonical product
Get a canonical product and its explicit marketplace listing links.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Canonical Store MCP product ID."
}
},
"required": [
"productId"
],
"additionalProperties": false
}{
"title": "Get a canonical product",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}products.create — Create a canonical product
Create a small canonical product record. Does not publish anything to a marketplace.
Permission: write. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"description": {
"default": "",
"type": "string",
"maxLength": 10000
},
"sku": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"title",
"description",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Create a canonical product",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}products.update — Update a canonical product
Update a canonical product only; marketplace listings are unchanged.
Permission: write. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Canonical Store MCP product ID."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"description": {
"type": "string",
"maxLength": 10000
},
"sku": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"productId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Update a canonical product",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}products.linkListing — Link a marketplace listing
Explicitly link an existing live listing to a canonical product. Never merges by SKU.
Permission: write. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Canonical Store MCP product ID."
},
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"productId",
"storeId",
"listingId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Link a marketplace listing",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}products.unlinkListing — Unlink a marketplace listing
Remove the link between a canonical product and a listing. Local only; the marketplace listing is unchanged.
Permission: write. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Canonical Store MCP product ID."
},
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"productId",
"storeId",
"listingId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Unlink a marketplace listing",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}products.delete — Delete a canonical product
Delete the canonical product record. Fails while listings are linked unless unlinkListings is true; marketplace listings are never deleted.
Permission: write. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Canonical Store MCP product ID."
},
"unlinkListings": {
"default": false,
"type": "boolean"
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"productId",
"unlinkListings",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Delete a canonical product",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}listings.list — List store listings
Live page of marketplace listings. eBay covers Sell Inventory items only. Follow nextCursor even when data is empty.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 8000
},
"sku": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"status": {
"type": "string",
"enum": [
"active",
"draft",
"inactive",
"archived"
]
}
},
"required": [
"storeId",
"limit"
],
"additionalProperties": false
}{
"title": "List store listings",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}listings.get — Get a store listing
Full live listing: status, publication, price, variants, media, category and provider details. productId is null until linked.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
}
},
"required": [
"storeId",
"listingId"
],
"additionalProperties": false
}{
"title": "Get a store listing",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}listings.create — Create a draft listing
Create an unpublished draft with normalized fields plus provider-specific options. Check listingRequirements.get first. Never publishes.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"description": {
"default": "",
"type": "string",
"maxLength": 100000
},
"price": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d{1,4})?$"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
"sku": {
"type": "string",
"maxLength": 100
},
"quantity": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"categoryId": {
"type": "string",
"maxLength": 100
},
"attributes": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 100
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
}
]
}
},
"media": {
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"maxLength": 2000,
"format": "uri"
}
},
"variants": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"sku": {
"type": "string",
"maxLength": 100
},
"price": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d{1,4})?$"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
"quantity": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"options": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 50
},
"additionalProperties": {
"type": "string",
"maxLength": 100
}
},
"barcode": {
"type": "string",
"maxLength": 100
}
},
"additionalProperties": false
}
},
"options": {
"type": "object",
"properties": {
"shopify": {
"type": "object",
"properties": {
"vendor": {
"type": "string",
"maxLength": 255
},
"productType": {
"type": "string",
"maxLength": 255
},
"tags": {
"maxItems": 250,
"type": "array",
"items": {
"type": "string",
"maxLength": 255
}
}
},
"additionalProperties": false
},
"etsy": {
"type": "object",
"properties": {
"whoMade": {
"type": "string",
"enum": [
"i_did",
"someone_else",
"collective"
]
},
"whenMade": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"shippingProfileId": {
"type": "string",
"pattern": "^\\d+$"
},
"returnPolicyId": {
"type": "string",
"pattern": "^\\d+$"
},
"readinessStateId": {
"type": "string",
"pattern": "^\\d+$"
},
"type": {
"default": "physical",
"type": "string",
"enum": [
"physical",
"download"
]
},
"tags": {
"maxItems": 13,
"type": "array",
"items": {
"type": "string",
"maxLength": 20
}
},
"materials": {
"maxItems": 13,
"type": "array",
"items": {
"type": "string",
"maxLength": 45
}
},
"shopSectionId": {
"type": "string",
"pattern": "^\\d+$"
},
"isSupply": {
"type": "boolean"
},
"itemWeight": {
"type": "number",
"exclusiveMinimum": 0
},
"itemWeightUnit": {
"type": "string",
"enum": [
"oz",
"lb",
"g",
"kg"
]
},
"itemLength": {
"type": "number",
"exclusiveMinimum": 0
},
"itemWidth": {
"type": "number",
"exclusiveMinimum": 0
},
"itemHeight": {
"type": "number",
"exclusiveMinimum": 0
},
"itemDimensionsUnit": {
"type": "string",
"enum": [
"in",
"ft",
"mm",
"cm",
"m"
]
}
},
"required": [
"whoMade",
"whenMade",
"type"
],
"additionalProperties": false
},
"ebay": {
"type": "object",
"properties": {
"marketplaceId": {
"type": "string",
"pattern": "^EBAY_[A-Z_]+$"
},
"conditionId": {
"type": "string",
"pattern": "^\\d+$"
},
"condition": {
"type": "string",
"maxLength": 40
},
"fulfillmentPolicyId": {
"type": "string",
"maxLength": 60
},
"paymentPolicyId": {
"type": "string",
"maxLength": 60
},
"returnPolicyId": {
"type": "string",
"maxLength": 60
},
"merchantLocationKey": {
"type": "string",
"maxLength": 36
},
"listingDescription": {
"type": "string",
"maxLength": 500000
},
"quantityLimitPerBuyer": {
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"required": [
"marketplaceId",
"fulfillmentPolicyId",
"paymentPolicyId",
"returnPolicyId",
"merchantLocationKey"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"idempotencyKey": {
"type": "string"
}
},
"required": [
"storeId",
"title",
"description",
"price",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Create a draft listing",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}listings.update — Update a store listing
Update title, description, price, SKU, category, attributes and per-variant fields. Omitted fields are preserved.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"description": {
"type": "string",
"maxLength": 100000
},
"price": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d{1,4})?$"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
"sku": {
"type": "string",
"maxLength": 100
},
"categoryId": {
"type": "string",
"maxLength": 100
},
"attributes": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 100
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
}
]
}
},
"variants": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"sku": {
"type": "string",
"maxLength": 100
},
"price": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d{1,4})?$"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
"quantity": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"options": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 50
},
"additionalProperties": {
"type": "string",
"maxLength": 100
}
},
"barcode": {
"type": "string",
"maxLength": 100
},
"variantId": {
"type": "string",
"minLength": 1,
"maxLength": 600
}
},
"required": [
"variantId"
],
"additionalProperties": false
}
},
"options": {
"type": "object",
"properties": {
"shopify": {
"type": "object",
"properties": {
"vendor": {
"type": "string",
"maxLength": 255
},
"productType": {
"type": "string",
"maxLength": 255
},
"tags": {
"maxItems": 250,
"type": "array",
"items": {
"type": "string",
"maxLength": 255
}
}
},
"additionalProperties": false
},
"etsy": {
"type": "object",
"properties": {
"shippingProfileId": {
"type": "string",
"pattern": "^\\d+$"
},
"returnPolicyId": {
"type": "string",
"pattern": "^\\d+$"
},
"readinessStateId": {
"type": "string",
"pattern": "^\\d+$"
},
"tags": {
"maxItems": 13,
"type": "array",
"items": {
"type": "string",
"maxLength": 20
}
},
"materials": {
"maxItems": 13,
"type": "array",
"items": {
"type": "string",
"maxLength": 45
}
},
"shopSectionId": {
"type": "string",
"pattern": "^\\d+$"
},
"itemWeight": {
"type": "number",
"exclusiveMinimum": 0
},
"itemWeightUnit": {
"type": "string",
"enum": [
"oz",
"lb",
"g",
"kg"
]
},
"itemLength": {
"type": "number",
"exclusiveMinimum": 0
},
"itemWidth": {
"type": "number",
"exclusiveMinimum": 0
},
"itemHeight": {
"type": "number",
"exclusiveMinimum": 0
},
"itemDimensionsUnit": {
"type": "string",
"enum": [
"in",
"ft",
"mm",
"cm",
"m"
]
}
},
"additionalProperties": false
},
"ebay": {
"type": "object",
"properties": {
"conditionId": {
"type": "string",
"pattern": "^\\d+$"
},
"fulfillmentPolicyId": {
"type": "string",
"maxLength": 60
},
"paymentPolicyId": {
"type": "string",
"maxLength": 60
},
"returnPolicyId": {
"type": "string",
"maxLength": 60
},
"merchantLocationKey": {
"type": "string",
"maxLength": 36
},
"listingDescription": {
"type": "string",
"maxLength": 500000
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"idempotencyKey": {
"type": "string"
}
},
"required": [
"storeId",
"listingId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Update a store listing",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}listings.publish — Publish a listing
Make a listing live for sale (Shopify: ACTIVE + Online Store publication; Etsy: state active; eBay: publish offer). Fails with provider validation errors if requirements are missing.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"listingId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Publish a listing",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}listings.unpublish — Take a listing off sale
Take a listing off sale. deactivate keeps it editable (Shopify unpublish, Etsy inactive, eBay withdraw); archive is Shopify-only.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"mode": {
"default": "deactivate",
"type": "string",
"enum": [
"deactivate",
"archive"
]
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"listingId",
"mode",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Take a listing off sale",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}Categories, policies, locations and media
categories.search — Find product categories
Search or browse the provider category taxonomy. Leaf categories are required for eBay and Etsy drafts.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"query": {
"type": "string",
"maxLength": 120
},
"parentId": {
"type": "string",
"maxLength": 100
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 8000
}
},
"required": [
"storeId",
"limit"
],
"additionalProperties": false
}{
"title": "Find product categories",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}listingRequirements.get — Get listing requirements
Required fields, category attributes/aspects and policies needed before a draft can be published.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"categoryId": {
"type": "string",
"maxLength": 100
}
},
"required": [
"storeId"
],
"additionalProperties": false
}{
"title": "Get listing requirements",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}policies.list — List store policies
Shipping/return/payment/processing/legal policies or profiles with provider-specific meanings and IDs for drafts.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"type": {
"type": "string",
"enum": [
"shipping",
"return",
"payment",
"processing",
"legal"
]
}
},
"required": [
"storeId"
],
"additionalProperties": false
}{
"title": "List store policies",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}locations.list — List store locations
Inventory/fulfillment locations (Shopify locations, eBay merchant locations). Etsy has none.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
}
},
"required": [
"storeId"
],
"additionalProperties": false
}{
"title": "List store locations",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}media.attach — Attach a listing image
Attach an image by public HTTPS URL. Etsy re-uploads bounded downloads; Shopify/eBay fetch the URL themselves.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"url": {
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"alt": {
"type": "string",
"maxLength": 500
},
"position": {
"type": "integer",
"minimum": 1,
"maximum": 24
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"listingId",
"url",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Attach a listing image",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}media.remove — Remove a listing image
Remove one image from a listing.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"mediaId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"listingId",
"mediaId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Remove a listing image",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}media.reorder — Reorder listing images
Reorder listing images; pass media IDs in the desired order.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"mediaIds": {
"minItems": 1,
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 600
}
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"listingId",
"mediaIds",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Reorder listing images",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}Inventory
inventory.get — Read inventory
Stock at provider granularity (Shopify variant×location, Etsy offering, eBay SKU pool). null means unknown/untracked, never zero. Each row lists supported writes.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"listingId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Opaque listing ID returned by listings.list/get."
},
"limit": {
"default": 250,
"type": "integer",
"minimum": 1,
"maximum": 2500
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 8000
}
},
"required": [
"storeId",
"listingId",
"limit"
],
"additionalProperties": false
}{
"title": "Read inventory",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}inventory.set — Set inventory quantity
Set an absolute quantity with compare-and-swap. expectedQuantity must equal the last read value (Shopify requires it).
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"inventoryId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"quantity": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"expectedQuantity": {
"default": null,
"anyOf": [
{
"type": "integer",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "null"
}
]
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"inventoryId",
"quantity",
"expectedQuantity",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Set inventory quantity",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}inventory.adjust — Adjust inventory quantity
Apply a signed delta to available stock (Shopify only).
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"inventoryId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"delta": {
"type": "integer",
"minimum": -1000000,
"maximum": 1000000
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"inventoryId",
"delta",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Adjust inventory quantity",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}Orders and fulfillments
orders.list — List store orders
Paginated normalized orders without buyer details. Unsupported filters fail explicitly; inspect itemsComplete.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 8000
},
"createdAfter": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"createdBefore": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"fulfillmentStatus": {
"type": "string",
"enum": [
"unfulfilled",
"partial",
"fulfilled"
]
},
"paymentStatus": {
"type": "string",
"enum": [
"paid",
"unpaid",
"refunded",
"partially_refunded"
]
},
"status": {
"type": "string",
"enum": [
"open",
"completed",
"cancelled"
]
}
},
"required": [
"storeId",
"limit"
],
"additionalProperties": false
}{
"title": "List store orders",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}orders.get — Get an order
One order with items, fulfillable quantities, shipments and refunds. includeBuyer requires the sensitive permission and provider approval.
Permission: read. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"orderId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"includeBuyer": {
"default": false,
"type": "boolean"
}
},
"required": [
"storeId",
"orderId",
"includeBuyer"
],
"additionalProperties": false
}{
"title": "Get an order",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}orders.cancel — Cancel an order
Cancel an order (Shopify only). Requires browser approval; refund and restock are explicit flags, never implied.
Permission: sensitive. Counted action: Yes. Owner browser approval: Required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"orderId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"reason": {
"type": "string",
"enum": [
"customer",
"inventory",
"fraud",
"declined",
"other"
]
},
"restock": {
"default": false,
"type": "boolean"
},
"notifyCustomer": {
"default": false,
"type": "boolean"
},
"refund": {
"default": false,
"type": "boolean"
},
"note": {
"type": "string",
"maxLength": 255
},
"approvalId": {
"description": "Browser approval ID returned after the owner approved this exact request.",
"type": "string",
"maxLength": 100
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"orderId",
"reason",
"restock",
"notifyCustomer",
"refund",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Cancel an order",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}orders.refund — Refund an order
Create a refund for items and/or shipping (Shopify only). Amount checks are enforced. Requires browser approval.
Permission: sensitive. Counted action: Yes. Owner browser approval: Required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"orderId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"amount": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d{1,4})?$"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"required": [
"amount",
"currency"
],
"additionalProperties": false
},
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"orderItemId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"orderItemId",
"quantity"
],
"additionalProperties": false
}
},
"shipping": {
"default": false,
"type": "boolean"
},
"reason": {
"type": "string",
"maxLength": 60
},
"note": {
"type": "string",
"maxLength": 255
},
"notifyCustomer": {
"default": false,
"type": "boolean"
},
"approvalId": {
"description": "Browser approval ID returned after the owner approved this exact request.",
"type": "string",
"maxLength": 100
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"orderId",
"shipping",
"notifyCustomer",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Refund an order",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true
}fulfillments.create — Record a shipment
Record a shipment with carrier and tracking. Shopify supports partial quantities; Etsy marks the whole receipt shipped. Not available for eBay, Square or WooCommerce. No labels are purchased.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"orderId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"carrier": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"trackingNumber": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"trackingUrl": {
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"orderItemId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"orderItemId",
"quantity"
],
"additionalProperties": false
}
},
"notifyCustomer": {
"default": true,
"type": "boolean"
},
"locationId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"orderId",
"carrier",
"trackingNumber",
"notifyCustomer",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Record a shipment",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}fulfillments.updateTracking — Update shipment tracking
Update tracking on an existing fulfillment (Shopify only).
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"description": "Store MCP store ID, not the platform merchant ID."
},
"fulfillmentId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"carrier": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"trackingNumber": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"trackingUrl": {
"type": "string",
"maxLength": 2000,
"format": "uri"
},
"notifyCustomer": {
"default": true,
"type": "boolean"
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"storeId",
"fulfillmentId",
"carrier",
"trackingNumber",
"notifyCustomer",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Update shipment tracking",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}Events and notifications
events.list — List store events
Normalized commerce events (order.created/paid/canceled/shipped/delivered) recorded from provider webhooks, oldest first. Metadata only: fetch details with orders.get using resourceId. system.get lists which events each platform emits.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"type": {
"type": "string",
"enum": [
"order.created",
"order.paid",
"order.canceled",
"order.shipped",
"order.delivered"
]
},
"since": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"until": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 8000
}
},
"required": [
"limit"
],
"additionalProperties": false
}{
"title": "List store events",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}notifications.list — List notification destinations
Notification destinations (generic signed webhook, Slack, Discord, email) with event types, store scope, state and last delivery. Configuration and secrets are managed in the browser only.
Permission: read. Counted action: No. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "List notification destinations",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}notifications.test — Test a notification destination
Deliver a marked test event to one destination now and report the outcome.
Permission: write. Counted action: Yes. Owner browser approval: Not separately required.
Exact input schema and MCP annotations
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"destinationId": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Unique request key. Reuse only for an exact replay; retained at least 30 days."
}
},
"required": [
"destinationId",
"idempotencyKey"
],
"additionalProperties": false
}{
"title": "Test a notification destination",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
}Synthetic read requests
stores.list
{}listings.list
{
"storeId": "store_example",
"limit": 10
}orders.list
{
"storeId": "store_example",
"createdAfter": "2026-09-20T00:00:00Z",
"createdBefore": "2026-09-21T00:00:00Z",
"limit": 25
}inventory.get
{
"storeId": "store_example",
"listingId": "listing_example"
}Synthetic success envelope (activity ID is illustrative):
{
"ok": true,
"data": {
"data": [
{
"id": "inventory_example",
"platformId": "example",
"storeId": "store_example",
"listingId": "listing_example",
"variantId": "variant_example",
"sku": "DEMO-MUG",
"locationId": "location_example",
"available": 8,
"quantityPoolId": "pool_example",
"committed": null,
"tracked": true,
"writes": [
"set"
]
}
],
"nextCursor": null
},
"activityId": 123
}operations.get
{
"idempotencyKey": "demo_stock_001"
}products.get
{
"productId": "product_example"
}Synthetic success envelope (activity ID is illustrative):
{
"ok": true,
"data": {
"id": "product_example",
"title": "Demo mug",
"sku": "DEMO-MUG",
"description": "Synthetic example",
"listings": []
},
"activityId": 123
}categories.search
{
"storeId": "store_example",
"query": "mugs",
"limit": 10
}Synthetic success envelope (activity ID is illustrative):
{
"ok": true,
"data": {
"data": [
{
"id": "category_example",
"name": "Mugs",
"fullName": "Home > Mugs",
"parentId": "category_parent",
"isLeaf": true
}
],
"nextCursor": null
},
"activityId": 123
}locations.list
{
"storeId": "store_example"
}Synthetic success envelope (activity ID is illustrative):
{
"ok": true,
"data": {
"data": [
{
"id": "location_example",
"platformId": "example",
"name": "Demo location",
"active": true,
"fulfillsOnlineOrders": true,
"country": "US"
}
]
},
"activityId": 123
}events.list
{
"storeId": "store_example",
"since": "2026-09-20T00:00:00Z"
}notifications.list
{}