Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:3f85954a229bacf2a478cfe7f3599005a1f2ca84c31e2b4838307b5781537a80
What it is
What a remote MCP server returned when asked what it offers: 7 tools

The blob, as servednamed by its sha256

{ "instructions": "Tintin Tryon: AI product photography for fashion sellers. Start with the zero-signup tools — audit_store(store_url) finds stale and off-season listing photos on any Shopify store and returns ready-to-run fixes; get_seasonal_guide shows which retail shoot windows are open now. Generation tools need a free account API key (https://tintin-x.com/mcp).", "tools": [ { "description": "Audit a Shopify store's listing photos (no account needed). Scans the public product sitemap for stale photos (≥180 days), season mismatches (e.g. winter items with summer-shot photos), and upcoming retail-calendar windows. Returns work orders with pre-filled create_tryon_job fixes and estimated credit costs.", "inputSchema": { "properties": { "store_url": { "description": "Store domain or URL, e.g. examplestore.com", "type": "string" } }, "required": [ "store_url" ], "type": "object" }, "name": "audit_store", "outputSchema": { "additionalProperties": true, "properties": { "error": { "description": "Machine-readable error code (only present on failures)", "type": "string" }, "message": { "description": "Human-readable explanation of the failure", "type": "string" }, "next_steps": { "description": "Suggested follow-up actions", "type": "string" }, "scanned_listings": { "description": "Number of products found in the sitemap", "type": "integer" }, "seasonal_context": { "description": "Retail shoot windows currently open or urgent", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "store": { "description": "Normalized store host that was audited", "type": "string" }, "summary": { "additionalProperties": true, "description": "Issue counts: stale_photos, season_mismatches, calendar_opportunities, total_work_orders, estimated_credits_to_fix_all", "type": "object" }, "work_orders": { "description": "Per-listing findings with a pre-filled create_tryon_job fix block", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "work_orders_truncated": { "description": "True when more work orders exist than shown", "type": "boolean" } }, "type": "object" } }, { "description": "ONE free on-model preview per store, no account needed. Pass the store and one of its listing photo URLs (from an audit_store work order) to generate a free 2K on-model try-on photo — the taste before buying credits. Poll with get_preview_status.", "inputSchema": { "properties": { "garment_image_url": { "description": "A listing photo URL from that store (audit work order image_url)", "type": "string" }, "model": { "description": "Preset model (default woman)", "enum": [ "man", "woman" ], "type": "string" }, "product_type": { "description": "Top | Bottom | Dress | Full-body (default Top)", "type": "string" }, "store_url": { "description": "The store the photo belongs to (same as audit_store)", "type": "string" } }, "required": [ "store_url", "garment_image_url" ], "type": "object" }, "name": "create_preview_job", "outputSchema": { "additionalProperties": true, "properties": { "error": { "description": "Machine-readable error code (only present on failures)", "type": "string" }, "message": { "description": "Human-readable explanation of the failure", "type": "string" }, "poll": { "description": "How to retrieve the result", "type": "string" }, "preview_id": { "description": "Preview job UUID — poll with get_preview_status", "type": "string" }, "status": { "description": "Initial job state (usually queued)", "type": "string" }, "store": { "description": "Normalized store host the preview belongs to", "type": "string" } }, "type": "object" } }, { "description": "Generate an on-model try-on photo from a garment/product image URL (e.g. straight from an audit_store work order). Charges 1 credit (2K) or 2 credits (4K) from the account's studio credits. Requires an API key.", "inputSchema": { "properties": { "api_key": { "description": "API key if the client can't send an Authorization header", "type": "string" }, "aspect_ratio": { "description": "Output aspect ratio, e.g. 3:4 (default)", "type": "string" }, "garment_image_url": { "description": "Public URL of the garment/product photo", "type": "string" }, "model": { "description": "Preset model (default woman)", "enum": [ "man", "woman" ], "type": "string" }, "model_image_url": { "description": "Optional: custom model reference photo URL", "type": "string" }, "product_type": { "description": "Top | Bottom | Dress | Full-body (default Top)", "type": "string" }, "prompt": { "description": "Optional styling instructions", "type": "string" }, "resolution": { "description": "Output resolution: 2K costs 1 credit, 4K costs 2", "enum": [ "2K", "4K" ], "type": "string" } }, "required": [ "garment_image_url" ], "type": "object" }, "name": "create_tryon_job", "outputSchema": { "additionalProperties": true, "properties": { "credits_charged": { "description": "Studio credits debited for this generation", "type": "number" }, "error": { "description": "Machine-readable error code (only present on failures)", "type": "string" }, "job_id": { "description": "Generation job UUID — poll with get_job_status", "type": "string" }, "message": { "description": "Human-readable explanation of the failure", "type": "string" }, "poll": { "description": "How to retrieve the result", "type": "string" }, "resolution": { "description": "Output resolution the job will render at", "type": "string" }, "status": { "description": "Initial job state (usually queued)", "type": "string" } }, "type": "object" } }, { "description": "Studio credit balance and top-up link. Requires an API key.", "inputSchema": { "properties": { "api_key": { "description": "API key if the client can't send an Authorization header", "type": "string" } }, "type": "object" }, "name": "get_credits_balance", "outputSchema": { "additionalProperties": true, "properties": { "credits": { "description": "Available studio credits (subscription + bonus)", "type": "number" }, "error": { "description": "Machine-readable error code (only present on failures)", "type": "string" }, "message": { "description": "Human-readable explanation of the failure", "type": "string" }, "note": { "description": "What one credit buys", "type": "string" }, "topup_url": { "description": "Where to buy more credits", "type": "string" } }, "type": "object" } }, { "description": "Poll a generation job. When succeeded, returns presigned output image URLs (valid 1h). Requires an API key.", "inputSchema": { "properties": { "api_key": { "description": "API key if the client can't send an Authorization header", "type": "string" }, "job_id": { "description": "Job UUID returned by create_tryon_job", "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "get_job_status", "outputSchema": { "additionalProperties": true, "properties": { "error": { "description": "Machine-readable error code (only present on failures)", "type": "string" }, "error_message": { "description": "Failure detail when status is failed", "type": "string" }, "job_id": { "description": "Generation job UUID", "type": "string" }, "message": { "description": "Human-readable explanation of the failure", "type": "string" }, "output_urls": { "description": "Presigned result image URLs (present when succeeded)", "items": { "type": "string" }, "type": "array" }, "output_urls_expire_in": { "description": "Seconds until output_urls expire (3600)", "type": "integer" }, "status": { "description": "Job state: queued | running | succeeded | failed", "type": "string" } }, "type": "object" } }, { "description": "Poll a free preview. When succeeded, returns the preview image URL (valid 1h). No account needed.", "inputSchema": { "properties": { "preview_id": { "description": "Preview UUID returned by create_preview_job", "type": "string" } }, "required": [ "preview_id" ], "type": "object" }, "name": "get_preview_status", "outputSchema": { "additionalProperties": true, "properties": { "error": { "description": "Machine-readable error code (only present on failures)", "type": "string" }, "error_message": { "description": "Failure detail when status is failed", "type": "string" }, "job_id": { "description": "Generation job UUID", "type": "string" }, "message": { "description": "Human-readable explanation of the failure", "type": "string" }, "output_urls": { "description": "Presigned result image URLs (present when succeeded)", "items": { "type": "string" }, "type": "array" }, "output_urls_expire_in": { "description": "Seconds until output_urls expire (3600)", "type": "integer" }, "status": { "description": "Job state: queued | running | succeeded | failed", "type": "string" } }, "type": "object" } }, { "description": "Retail shoot calendar for fashion sellers (no account needed): which shoot windows (Labor Day, Halloween, Fall/Winter drop, Black Friday, Holiday) are open or urgent right now, deadlines, and links to per-category shoot guides with recommended shots.", "inputSchema": { "properties": { "category": { "description": "Optional: limit guide links to one category", "enum": [ "womenswear", "swim", "lingerie" ], "type": "string" } }, "type": "object" }, "name": "get_seasonal_guide", "outputSchema": { "additionalProperties": true, "properties": { "error": { "description": "Machine-readable error code (only present on failures)", "type": "string" }, "events": { "description": "Shoot windows with event, name, peak, shoot_deadline, window_open, state (open|urgent|closed|upcoming), days_to_deadline, note, and guide links", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "how_to_act": { "description": "How to use the open windows", "type": "string" }, "message": { "description": "Human-readable explanation of the failure", "type": "string" }, "today": { "description": "Current date (ISO 8601)", "type": "string" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:3f85954a229bacf2a478cfe7f3599005a1f2ca84c31e2b4838307b5781537a80 | sha256sum