Velox TriFit

DressMe API docs and SDK guidance; OAuth account/guest photo upload and virtual try-on tools.

Should I use this

Quality & Safety

A
Description quality
99%
Schema completeness
63%
Naming quality
97%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_partner_access_requirements' name length outside 3-30 rangein get_partner_access_requirements
  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~8,259Tokens (tool definitions)
~3.7 KBTypical response size
Significant attention impact (6.45% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "velox-trifit-developer": {
      "url": "https://studio.v3lox.com/partner/docs/mcp"
    }
  }
}

Remote endpoints

https://studio.v3lox.com/partner/docs/mcpstreamable-http
https://studio.v3lox.com/partner/trifit/mcpstreamable-http

What it can do

Tool inventory

Tools (18)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒get_trifit_account

Identify whether this verified connection is a guest session or a personal TriFit account before choosing tools. Does not link, switch, create an account or trust a conversational email hint.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "environment": {
      "type": "string",
      "const": "production"
    },
    "quotaSource": {
      "type": "string",
      "enum": [
        "trifit-account",
        "shared-hosted-demo"
      ]
    }
  },
  "required": [
    "id",
    "name",
    "environment",
    "quotaSource"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_trifit_profile

Read the stable profile represented by this connection. No account creation, switching, uploads or generation. Use get_trifit_account for connection mode and allowance source.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S"
    },
    "name": {
      "type": "string"
    },
    "nickname": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "nickname"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_trifit_allowance

Read the same daily, weekly and monthly allowances as the TriFit website. Does not create, reset or spend credits.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "environment": {
      "type": "string",
      "const": "production"
    },
    "quotaSource": {
      "type": "string",
      "const": "trifit-account"
    },
    "checkedAt": {
      "type": "string"
    },
    "stages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "policy": {
            "type": "string"
          },
          "remaining": {
            "type": [
              "number",
              "null"
            ]
          },
          "canRequest": {
            "type": "boolean"
          },
          "activeRequests": {
            "type": "number"
          },
          "reconciliationPending": {
            "type": "number"
          },
          "daily": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "number"
              },
              "used": {
                "type": "number"
              },
              "remaining": {
                "type": "number"
              },
              "resetsAt": {
                "type": "string"
              }
            },
            "required": [
              "limit",
              "used",
              "remaining",
              "resetsAt"
            ],
            "additionalProperties": false
          },
          "weekly": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "number"
              },
              "used": {
                "type": "number"
              },
              "remaining": {
                "type": "number"
              },
              "resetsAt": {
                "type": "string"
              }
            },
            "required": [
              "limit",
              "used",
              "remaining",
              "resetsAt"
            ],
            "additionalProperties": false
          },
          "monthly": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "number"
              },
              "used": {
                "type": "number"
              },
              "remaining": {
                "type": "number"
              },
              "resetsAt": {
                "type": "string"
              }
            },
            "required": [
              "limit",
              "used",
              "remaining",
              "resetsAt"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "kind",
          "policy",
          "remaining",
          "canRequest",
          "activeRequests",
          "reconciliationPending"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "environment",
    "quotaSource",
    "checkedAt",
    "stages"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒list_trifit_library(kind, offset, limit)

Read metadata for your saved personal photos, products, looks and DressMe requests. No image bytes or guest history transfer.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "photos",
        "products",
        "looks",
        "requests"
      ]
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "environment": {
      "type": "string",
      "const": "production"
    },
    "librarySource": {
      "type": "string",
      "const": "trifit-account"
    },
    "total": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "mediaAvailability": {
            "type": "string"
          },
          "personalAssetId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "productAssetId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "resultAssetId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          }
        },
        "required": [
          "id",
          "type",
          "status",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "environment",
    "librarySource",
    "total",
    "nextOffset",
    "items"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟑prepare_trifit_upload(clientImportId, role, permissionConfirmed)

For a user-selected local file in Codex, with explicit permission: create a private, one-use upload URL valid for at most five minutes. PUT only that JPEG/PNG/WebP file as raw bytes, with its image Content-Type, no API/OAuth headers and no redirects. Do not print or share the URL. The PUT saves/resizes the image in the connected account library and selects its website photo/product slot; product images use cached description preparation. Preserve clientImportId and the returned assetId. Never retry an uncertain upload automatically. Preparing does not upload or generate.

Input Schema

{
  "type": "object",
  "properties": {
    "clientImportId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Stable UUID for this user-approved import. Never replace after an uncertain upload."
    },
    "role": {
      "type": "string",
      "enum": [
        "personal",
        "product"
      ]
    },
    "permissionConfirmed": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "clientImportId",
    "role",
    "permissionConfirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "uploadUrl": {
      "type": "string",
      "format": "uri"
    },
    "method": {
      "type": "string",
      "const": "PUT"
    },
    "maxBytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "expiresAt": {
      "type": "string"
    },
    "clientImportId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "role": {
      "type": "string",
      "enum": [
        "personal",
        "product"
      ]
    },
    "environment": {
      "type": "string",
      "const": "production"
    }
  },
  "required": [
    "uploadUrl",
    "method",
    "maxBytes",
    "expiresAt",
    "clientImportId",
    "role",
    "environment"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟑upload_trifit_image(clientImportId, role, permissionConfirmed, file)

With explicit permission, import the selected personal or clothing image into the connected TriFit account. Resizes automatically, saves it in the website library and selects its photo/product slot. Product images also use the existing cached description preparation. Never import arbitrary URLs or retry an uncertain import automatically.

Input Schema

{
  "type": "object",
  "properties": {
    "clientImportId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "New UUID for this user-approved import. Preserve it; never replace it after an uncertain outcome."
    },
    "role": {
      "type": "string",
      "enum": [
        "personal",
        "product"
      ]
    },
    "permissionConfirmed": {
      "type": "boolean",
      "const": true
    },
    "file": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "minLength": 1,
          "maxLength": 8192
        },
        "file_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 512
        },
        "mime_type": {
          "type": "string",
          "enum": [
            "image/png",
            "image/jpeg",
            "image/webp"
          ]
        },
        "file_name": {
          "type": "string",
          "maxLength": 512
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "clientImportId",
    "role",
    "permissionConfirmed",
    "file"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "assetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "role": {
      "type": "string",
      "enum": [
        "personal",
        "product"
      ]
    },
    "status": {
      "type": "string",
      "const": "available"
    },
    "environment": {
      "type": "string",
      "const": "production"
    },
    "librarySource": {
      "type": "string",
      "const": "trifit-account"
    },
    "reused": {
      "type": "boolean"
    }
  },
  "required": [
    "assetId",
    "role",
    "status",
    "environment",
    "librarySource",
    "reused"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
πŸ”΄create_trifit_try_on(requestId, personalAssetId, productAssetId, permissionConfirmed)

Only after explicit user approval, submit one DressMe request using two existing account image IDs. Uses the website queue and existing account allowance, not the guest demo. The attempt can consume allowance. Never automatically retry, replace the request ID or claim that a timeout means it did not run. Check the original receipt.

Input Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "New stable UUID for this approved request. Do not change it or replay after an uncertain response."
    },
    "personalAssetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "productAssetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "permissionConfirmed": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "requestId",
    "personalAssetId",
    "productAssetId",
    "permissionConfirmed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "jobId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "status": {
      "type": "string"
    },
    "environment": {
      "type": "string",
      "const": "production"
    },
    "quotaSource": {
      "type": "string",
      "const": "trifit-account"
    },
    "acceptanceUnknown": {
      "type": "boolean"
    },
    "retryAllowed": {
      "type": "boolean",
      "const": false
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "elapsedSeconds": {
      "type": "number",
      "minimum": 0
    },
    "progressPercent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "timing": {
      "type": "object",
      "properties": {
        "resultUrlReceivedAt": {
          "type": "number"
        },
        "resultDownloadedAt": {
          "type": "number"
        },
        "apiClientMs": {
          "type": "number"
        },
        "userTotalMs": {
          "type": "number"
        },
        "downloadMs": {
          "type": "number"
        }
      },
      "required": [
        "resultUrlReceivedAt",
        "resultDownloadedAt",
        "apiClientMs",
        "userTotalMs",
        "downloadMs"
      ],
      "additionalProperties": false
    },
    "resultAssetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "environment",
    "quotaSource",
    "acceptanceUnknown",
    "retryAllowed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_trifit_try_on(requestId, jobId)

Read the status, recorded duration and result ID of an existing account DressMe request without generating or replaying. A missing receipt means acceptance is uncertain, not that it never ran.

Input Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "jobId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "jobId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "status": {
      "type": "string"
    },
    "environment": {
      "type": "string",
      "const": "production"
    },
    "quotaSource": {
      "type": "string",
      "const": "trifit-account"
    },
    "acceptanceUnknown": {
      "type": "boolean"
    },
    "retryAllowed": {
      "type": "boolean",
      "const": false
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "elapsedSeconds": {
      "type": "number",
      "minimum": 0
    },
    "progressPercent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "timing": {
      "type": "object",
      "properties": {
        "resultUrlReceivedAt": {
          "type": "number"
        },
        "resultDownloadedAt": {
          "type": "number"
        },
        "apiClientMs": {
          "type": "number"
        },
        "userTotalMs": {
          "type": "number"
        },
        "downloadMs": {
          "type": "number"
        }
      },
      "required": [
        "resultUrlReceivedAt",
        "resultDownloadedAt",
        "apiClientMs",
        "userTotalMs",
        "downloadMs"
      ],
      "additionalProperties": false
    },
    "resultAssetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "environment",
    "quotaSource",
    "acceptanceUnknown",
    "retryAllowed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒show_trifit_try_on(requestId, jobId)

Show a completed account DressMe image inside the conversation. Requires separate private-image permission. Uses only the existing result; no generation, upload, public share or new allowance is used.

Input Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "jobId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "jobId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "status": {
      "type": "string"
    },
    "environment": {
      "type": "string",
      "const": "production"
    },
    "quotaSource": {
      "type": "string",
      "const": "trifit-account"
    },
    "acceptanceUnknown": {
      "type": "boolean"
    },
    "retryAllowed": {
      "type": "boolean",
      "const": false
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "elapsedSeconds": {
      "type": "number",
      "minimum": 0
    },
    "progressPercent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "timing": {
      "type": "object",
      "properties": {
        "resultUrlReceivedAt": {
          "type": "number"
        },
        "resultDownloadedAt": {
          "type": "number"
        },
        "apiClientMs": {
          "type": "number"
        },
        "userTotalMs": {
          "type": "number"
        },
        "downloadMs": {
          "type": "number"
        }
      },
      "required": [
        "resultUrlReceivedAt",
        "resultDownloadedAt",
        "apiClientMs",
        "userTotalMs",
        "downloadMs"
      ],
      "additionalProperties": false
    },
    "resultAssetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "message": {
      "type": "string"
    },
    "accountRequestStatus": {
      "type": "string"
    },
    "durationSeconds": {
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "status",
    "environment",
    "quotaSource",
    "acceptanceUnknown",
    "retryAllowed",
    "accountRequestStatus"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_guest_demo_status

Read the current private guest-session allowance and its perSessionLimit denominator. Does not upload images or generate anything.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "environment": {
      "type": "string"
    },
    "dailyLimit": {
      "type": "number"
    },
    "remainingToday": {
      "type": "number"
    },
    "timeZone": {
      "type": "string"
    },
    "perSessionLimit": {
      "type": "number"
    },
    "sessionRemaining": {
      "type": "number"
    },
    "requestId": {
      "type": [
        "string",
        "null"
      ]
    },
    "busy": {
      "type": "boolean"
    },
    "queuePaused": {
      "type": "boolean"
    },
    "queueMode": {
      "type": "string"
    },
    "minimumStartGapSeconds": {
      "type": "number"
    },
    "sessionExpiresAt": {
      "type": "string"
    }
  },
  "required": [
    "environment",
    "dailyLimit",
    "remainingToday",
    "timeZone",
    "perSessionLimit",
    "sessionRemaining",
    "requestId",
    "busy",
    "minimumStartGapSeconds",
    "sessionExpiresAt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟑prepare_guest_upload(role)

For Codex/local files: reserve one single-use HTTPS PUT upload for a personal photo or product image. Upload the user-selected file bytes to the returned URL; do not disclose that capability. Server resizes JPEG, PNG or WebP automatically. At most one upload per role per guest session. This does not generate a try-on.

Input Schema

{
  "type": "object",
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "personal",
        "product"
      ]
    }
  },
  "required": [
    "role"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "uploadUrl": {
      "type": "string"
    },
    "method": {
      "type": "string",
      "const": "PUT"
    },
    "maxBytes": {
      "type": "number"
    },
    "expiresInSeconds": {
      "type": "number"
    },
    "role": {
      "type": "string"
    }
  },
  "required": [
    "uploadUrl",
    "method",
    "maxBytes",
    "expiresInSeconds",
    "role"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
πŸ”΄create_try_on(personal_image, garment_image, personal_asset_id, product_asset_id, consent)

Generate a DressMe virtual try-on from the user’s personal photo and clothing reference only after their explicit request and permission. In ChatGPT pass both attached image files; in Codex pass the two asset IDs returned by completed private uploads. Use one method, not both. Consumes one session attempt and one shared daily attempt. One attempt per guest session, ten per day across all guests. Do not automatically retry or bypass limits. Returns a receipt; get_try_on retrieves its status/result.

Input Schema

{
  "type": "object",
  "properties": {
    "personal_image": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "maxLength": 8192,
          "format": "uri"
        },
        "file_id": {
          "type": "string",
          "maxLength": 512
        },
        "mime_type": {
          "type": "string",
          "maxLength": 128
        },
        "file_name": {
          "type": "string",
          "maxLength": 255
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false
    },
    "garment_image": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "maxLength": 8192,
          "format": "uri"
        },
        "file_id": {
          "type": "string",
          "maxLength": 512
        },
        "mime_type": {
          "type": "string",
          "maxLength": 128
        },
        "file_name": {
          "type": "string",
          "maxLength": 255
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false
    },
    "personal_asset_id": {
      "type": "string",
      "maxLength": 128
    },
    "product_asset_id": {
      "type": "string",
      "maxLength": 128
    },
    "consent": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "consent"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "jobId": {
      "type": "string"
    },
    "resultAssetId": {
      "type": "string"
    },
    "durationSeconds": {
      "type": "number"
    },
    "timing": {
      "type": "object",
      "properties": {
        "resultUrlReceivedAt": {
          "type": "number"
        },
        "resultDownloadedAt": {
          "type": "number"
        },
        "apiClientMs": {
          "type": "number"
        },
        "userTotalMs": {
          "type": "number"
        },
        "downloadMs": {
          "type": "number"
        }
      },
      "required": [
        "resultUrlReceivedAt",
        "resultDownloadedAt",
        "apiClientMs",
        "userTotalMs",
        "downloadMs"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    },
    "failureStage": {
      "type": "string"
    },
    "failureCode": {
      "type": "string"
    },
    "failureHttpStatus": {
      "type": "number"
    },
    "submissionAttempted": {
      "type": "boolean"
    },
    "queuePosition": {
      "type": [
        "number",
        "null"
      ]
    },
    "queuePaused": {
      "type": "boolean"
    },
    "minimumStartGapSeconds": {
      "type": "number"
    }
  },
  "required": [
    "requestId",
    "status",
    "createdAt",
    "updatedAt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_try_on(request_id, include_image)

Read only an existing request belonging to this authenticated guest session. With include_image=true, shows the completed image in a result card in ChatGPT and an inline image in other MCP clients. Does not create/retry a generation. Poll no more often than once every five seconds. A needs_review result must not be replayed.

Input Schema

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "include_image": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": [
    "request_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "jobId": {
      "type": "string"
    },
    "resultAssetId": {
      "type": "string"
    },
    "durationSeconds": {
      "type": "number"
    },
    "timing": {
      "type": "object",
      "properties": {
        "resultUrlReceivedAt": {
          "type": "number"
        },
        "resultDownloadedAt": {
          "type": "number"
        },
        "apiClientMs": {
          "type": "number"
        },
        "userTotalMs": {
          "type": "number"
        },
        "downloadMs": {
          "type": "number"
        }
      },
      "required": [
        "resultUrlReceivedAt",
        "resultDownloadedAt",
        "apiClientMs",
        "userTotalMs",
        "downloadMs"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    },
    "failureStage": {
      "type": "string"
    },
    "failureCode": {
      "type": "string"
    },
    "failureHttpStatus": {
      "type": "number"
    },
    "submissionAttempted": {
      "type": "boolean"
    },
    "queuePosition": {
      "type": [
        "number",
        "null"
      ]
    },
    "queuePaused": {
      "type": "boolean"
    },
    "minimumStartGapSeconds": {
      "type": "number"
    }
  },
  "required": [
    "requestId",
    "status",
    "createdAt",
    "updatedAt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒search(query)

Find official Velox DressMe virtual try-on integration documentation, authentication, SDK languages, upload, polling and recovery guidance. Searches only the deployed public documentation corpus.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒fetch(id)

Read the full public document for an ID returned by search, with an official source URL and deployed content checksum. Does not fetch arbitrary URLs or private files.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "enum": [
        "getting-started",
        "sdk-catalog",
        "sdk-reference",
        "walkthrough",
        "hosting",
        "offline-example",
        "typescript-types",
        "security"
      ]
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "format": "uri"
    },
    "sha256": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url",
    "sha256"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_integration_example(language)

Retrieve the runnable offline JavaScript/Node.js integration example or accompanying TypeScript declarations. Other language SDKs are not released. The example uses dummy local responses, with no cloud calls or generation charges.

Input Schema

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "enum": [
        "javascript",
        "typescript"
      ]
    }
  },
  "required": [
    "language"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string"
    },
    "simulated": {
      "type": "boolean"
    },
    "repository": {
      "type": "string",
      "format": "uri"
    },
    "setup": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "example": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "sha256": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "text",
        "url",
        "sha256"
      ],
      "additionalProperties": false
    },
    "declarations": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "sha256": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "text",
        "url",
        "sha256"
      ],
      "additionalProperties": false
    },
    "productionGuidance": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "sha256": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "text",
        "url",
        "sha256"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "language",
    "simulated",
    "repository",
    "setup",
    "example",
    "productionGuidance"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_partner_access_requirements

Explain how to apply for manually provisioned Velox Partner API access and keep the scoped application key on a backend. Does not create accounts, issue keys, send an application or promise a universal free allowance.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "applicationUrl": {
      "type": "string",
      "format": "uri"
    },
    "applicationTopic": {
      "type": "string"
    },
    "provisioning": {
      "type": "string"
    },
    "shopperAuthentication": {
      "type": "string"
    },
    "allowance": {
      "type": "string"
    },
    "credentials": {
      "type": "string"
    },
    "source": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "sha256": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "text",
        "url",
        "sha256"
      ],
      "additionalProperties": false
    },
    "sdkReference": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "applicationUrl",
    "applicationTopic",
    "provisioning",
    "shopperAuthentication",
    "allowance",
    "credentials",
    "source",
    "sdkReference"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟒get_partner_application_guide

Read the official in-chat Partner API application workflow: [email protected], sender confirmation, optional project details, draft preview, send approval and actual reply verification. Public guidance only; this tool does not send email, inspect a mailbox, submit a form, issue keys or change access. No TriFit account is required.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded18 tools
verifiedversion not recorded4 tools