Workspace & try-on tools
MCP tools for reading workspace identity, credit balances, store connection status, and aggregate virtual try-on analytics.
Before you read this page
Every tool below is covered by the baseline `mcp:read` scope — none of them need mcp:generate. None of them take a workspaceId argument either: your credential is already scoped to one workspace, so the server resolves it server-side and would reject a client-supplied one anyway.
Every response below is shown unwrapped — just the data value. On the wire it's still inside the standard { notice, data } object, inside the MCP content[0].text string. See Developer overview for the full envelope.
Workspace
epox_workspace_summary
Read connected workspace identity and high-level catalogue totals.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "epox_workspace_summary",
"arguments": {}
}
}Response:
{
"workspace": { "id": "clnt_9f2a1c", "name": "Northwind Home Goods" },
"productCount": 128,
"hasGeneratedAssets": true,
"automationCount": 3
}hasGeneratedAssets is a cheap boolean check, not a count — call `epox_list_assets` for real numbers.
epox_workspace_usage
Read workspace generation and try-on credit balances. This is read-only.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "epox_workspace_usage",
"arguments": {}
}
}Response:
{
"month": "2026-09",
"generationCount": 412,
"credits": {
"plan": "growth",
"balance": 2380,
"lifetimeReserve": 500,
"tryonBalance": 640,
"tryonLifetimeReserve": 0,
"tryonDailyGenerationsUsed": 12
}
}credits is null if the workspace has no quota record yet (a brand-new workspace that hasn't generated anything). balance is consumed first; lifetimeReserve is the reserve pool with no monthly rollover.
epox_store_connection_status
Read the connected store status without credentials.
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "epox_store_connection_status",
"arguments": {}
}
}Response, with a store connected:
{
"storeType": "woocommerce",
"storeName": "Northwind Home Goods",
"status": "connected",
"reauthRequired": false,
"lastSyncAt": "2026-09-29T04:12:07.000Z",
"autoSyncEnabled": true,
"syncOnApproval": true
}With no store connected, the response is just { "connected": false } — never credentials, tokens, or webhook secrets either way.
Try-on analytics
Both tools are privacy-redacted: shopper email, IP address, uploaded images, and prompts never leave the platform. What you get back is aggregate counts and per-session status only.
epox_get_tryon_analytics
Read privacy-safe aggregate virtual try-on usage and credit telemetry.
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "epox_get_tryon_analytics",
"arguments": {}
}
}Response:
{
"byProduct": [
{
"productId": "prod_7a1b2c",
"productName": "Classic Oxford Shirt",
"category": "Apparel",
"sessionCount": 340,
"generationCount": 512,
"creditsSpent": 1024,
"lastUsedAt": "2026-09-28T18:44:02.000Z"
}
],
"byDay": [
{ "date": "2026-09-16", "sessionCount": 41, "generationCount": 63, "creditsSpent": 126 }
],
"dailyUsage": { "used": 12, "resetAt": "2026-09-30T00:00:00.000Z" }
}byDay covers a fixed trailing 14-day window. dailyUsage is null if the workspace has no quota record.
epox_list_tryon_sessions
List privacy-redacted virtual try-on session summaries.
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "epox_list_tryon_sessions",
"arguments": { "status": "completed", "limit": 20 }
}
}status is optional and, when given, one of active, completed, or blocked. limit/cursor follow the standard pagination convention.
Response:
{
"items": [
{
"id": "tryon_4d29ab",
"productId": "prod_7a1b2c",
"status": "completed",
"generationCount": 2,
"creditsSpent": 4,
"resultCount": 2,
"createdAt": "2026-09-28T18:40:11.000Z",
"updatedAt": "2026-09-28T18:44:02.000Z"
}
],
"nextCursor": null
}