Velox TriFit

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

我该使用它吗

质量与安全性

A
描述质量
99%
模式完整度
63%
命名质量
97%
投毒风险
100%
权限匹配度
90%
协议合规性
100%

发现(2)

  • LOWTool 'get_partner_access_requirements' name length outside 3-30 range在 get_partner_access_requirements 中
  • LOWTool 'fetch' suggests web access but openWorldHint=false在 fetch 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~8,259token 数(工具定义)
~3.7 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 6.45%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(18)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢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.

输入模式

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

输出模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/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.

输入模式

{
  "type": "object",
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "personal",
        "product"
      ]
    }
  },
  "required": [
    "role"
  ],
  "$schema": "http://json-schema.org/draft-07/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.

输入模式

{
  "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#"
}

输出模式

{
  "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.

输入模式

{
  "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#"
}

输出模式

{
  "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.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/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.

输入模式

{
  "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#"
}

输出模式

{
  "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.

输入模式

{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "enum": [
        "javascript",
        "typescript"
      ]
    }
  },
  "required": [
    "language"
  ],
  "$schema": "http://json-schema.org/draft-07/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.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/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.

输入模式

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

社区

评价此服务器

证据

最近观测

已验证未记录版本18 个工具
已验证未记录版本4 个工具