sellerprofitdoctor-free-tools
https://sellerprofitdoctor.com
Registry code: 43943dd057b0915a
Seller Profit Doctor's free tools work out where an online seller's money goes on Etsy, Shopify or Amazon (platform_supported: etsy, shopify, amazon). sellerprofit_checkup runs the full check-up for any of the three (set platform; etsy is the default) from a few Quiz v1 answers. The grade is a word such as Watch, with level 1 (Healthy) to 5 (Losing money); with too few answers there's no grade yet, and grade.missing lists what to ask. The other tools each answer one question: sellerprofit_etsy_fees (one Etsy sale's fees), sellerprofit_offsite_ads, sellerprofit_shipping_gap,…
- endpoint
- https://sellerprofitdoctor.com/api/mcp
- protocol
- http-sse ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is sellerprofitdoctor-free-tools live?
- Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
- Is sellerprofitdoctor-free-tools free to use?
- Not measured yet.
- What tools does sellerprofitdoctor-free-tools have?
- 9 tools: sellerprofit_offsite_ads, sellerprofit_checkup, sellerprofit_etsy_fees, sellerprofit_shipping_gap, sellerprofit_ads_breakeven, sellerprofit_price_for_margin, sellerprofit_shopify_plan_fit, sellerprofit_amazon_fees, ….
- Is sellerprofitdoctor-free-tools safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 9 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
sellerprofit_offsite_ads unknown never probed
Works out what Etsy's Offsite Ads cost a shop at its share of sales (12% or 15% of an attributed order, at most $100 an order), per order and per month, and the item price that covers the fee. Call it when a seller asks what Offsite Ads cost them, whether to price them in, or whether to opt out. Pass the item price, shipping charged, the shop's Offsite Ads rate (12-percent past $10,000, 15-percent under, or off), orders a month, and the share of sales from Offsite Ads if the seller knows it (else Etsy's typical 10%, flagged). Materials and label cost are optional and add how far orders could fall before the price rise leaves the seller worse off. Returns the fee per attributed order and on average, the monthly and yearly cost, the price fix and its value if orders hold, and when opting out is possible. US dollars; dated Etsy rules with sources. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "itemPrice", "offsiteAds", "orders" ], "properties": { "orders": { "anyOf": [ { "type": "number", "maximum": 100000, "minimum": 1 }, { "enum": [ "1-10", "11-30", "31-75", "76-150", "151-300" ], "type": "string" } ], "description": "Orders in a typical month: a number from 1 to 100,000 (Shop Manager > Stats > Orders), or a band: 1-10, 11-30, 31-75, 76-150, 151-300. Over 300: send the number." }, "itemPrice": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "Typical item price, US dollars, before shipping." }, "labelCost": { "type": "number", "maximum": 1000, "minimum": 0, "description": "Optional: the shipping label, US dollars." }, "materials": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Optional: materials per item, US dollars. With labelCost, adds how far orders could fall before the price fix leaves the seller worse off." }, "packaging": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "enum": [ "mailer", "box", "not-sure" ], "type": "string" } ], "description": "Packaging per order in US dollars, or mailer (about $1), box (about $3) or not-sure. Left out: $1, a weakly sourced typical figure, flagged as a default." }, "offsiteAds": { "enum": [ "12-percent", "15-percent", "off" ], "type": "string", "description": "The shop's Offsite Ads rate: 12-percent (the shop has sold $10,000 or more in any 12 months; for life, no opt-out), 15-percent (under $10,000, Offsite Ads on), or off (opted out)." }, "offsiteShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-5", "5-14", "15-24", "25-plus" ], "type": "string" } ], "description": "Share of sales from Offsite Ads (Marketing > Offsite Ads): a fraction (0.1 is 10%), or under-5, 5-14, 15-24, 25-plus. Left out: Etsy's typical 10% (2020), flagged as a default." }, "shippingCharged": { "type": "number", "default": 0, "maximum": 1000, "minimum": 0, "description": "What the buyer pays for shipping, US dollars (0 if free). Offsite Ads are charged on it too." } }, "additionalProperties": false }arguments 103 linessellerprofit_checkup unknown never probed
Runs the free profit check-up for an Etsy shop, a Shopify store or an Amazon seller. Returns the grade (a word such as Watch, with level 1 Healthy to 5 Losing money), what one order (Amazon: one unit) and the month keep after fees, ads and costs, the loss total, and the top 3 losses, each with its fix and what it's worth a month at the seller's numbers if orders hold. Call it when a seller asks where their money goes, whether their shop is healthy, or what to fix first. Set platform (etsy is the default) and pass that platform's Quiz v1 answers; each field says what it takes. Bands and "not-sure" are fine: every default used is listed (isDefault), so ask for the real number. There may be no grade yet: with too few answers, level is null, word is "Not enough answers yet", and grade.missing lists the answers to get a grade. Ask for them and call again; losses found still show. Amazon: fulfillment, storage and returns dollars are estimates from third-party rate cards (estimate: true, in estimatedLeakTotal, apart from leakTotal); a typed fbaFee from Fee Preview makes that fee the seller's own. Money is US dollars; shares are fractions (0.1 is 10%). Every result carries the dated rates with sources. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "oneOf": [ { "type": "object", "required": [ "orders", "itemPrice", "shippingCharged", "labelCost", "tenK", "etsyAds" ], "properties": { "roas": { "anyOf": [ { "type": "number", "maximum": 100, "minimum": 0 }, { "enum": [ "under-1", "1-1.9", "2-2.9", "3-4.9", "5-plus" ], "type": "string" }, { "type": "string", "const": "not-sure" } ], "description": "Etsy Ads ROAS, last 30 days (Etsy Ads page): a number, a band (under-1, 1-1.9, 2-2.9, 3-4.9, 5-plus), or not-sure. Only when the shop runs ads." }, "tenK": { "enum": [ "yes", "no-offsite-on", "no-opted-out", "not-sure" ], "type": "string", "description": "Has the shop sold $10,000 or more in any 12 months? yes (Offsite Ads 12% for life), no-offsite-on (15%, can opt out), no-opted-out (no Offsite fee), not-sure (estimated from orders × price)." }, "deeper": { "type": "object", "properties": { "refunds": { "type": "object", "required": [ "outcome" ], "properties": { "outcome": { "enum": [ "back-buyer-pays-return", "back-i-pay-return", "buyer-keeps", "mixed" ], "type": "string", "description": "What usually happens on a refund: back-buyer-pays-return, back-i-pay-return, buyer-keeps or mixed." }, "perMonth": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Refunds in a typical month, as a number. Or send frequency." }, "frequency": { "enum": [ "rarely", "sometimes", "often" ], "type": "string", "description": "How often: rarely (1 in 50), sometimes (1 in 20), often (1 in 10). Or send perMonth." } }, "description": "Refunds: send frequency or perMonth, and outcome.", "additionalProperties": false }, "hourlyPay": { "type": "number", "maximum": 1000, "minimum": 0, "description": "The hourly pay the seller wants for their time, US dollars. Needs minutesPerItem." }, "packaging": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "enum": [ "mailer", "box", "not-sure" ], "type": "string" } ], "description": "Packaging per order in US dollars, or mailer (about $1), box (about $3) or not-sure. Left out: $1, a weakly sourced typical figure, flagged as a default." }, "offsiteShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-5", "5-14", "15-24", "25-plus" ], "type": "string" } ], "description": "Share of sales from Offsite Ads (Marketing > Offsite Ads): a fraction, or under-5, 5-14, 15-24, 25-plus. Left out: Etsy's typical 10% (2020), flagged as a default." }, "discountDepth": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "none", "up-to-10", "11-20", "21-30", "over-30" ], "type": "string" } ], "description": "Typical discount: a fraction (0.15), or none, up-to-10, 11-20, 21-30, over-30." }, "discountShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "a-few", "some", "many" ], "type": "string" } ], "description": "Share of orders that use a discount: a fraction, or a-few, some, many. Needed when discountDepth isn't none or 0." }, "minutesPerItem": { "anyOf": [ { "type": "number", "maximum": 6000, "minimum": 1 }, { "enum": [ "under-15", "15-44", "45-90" ], "type": "string" } ], "description": "Minutes to make and pack one item: a number, or under-15, 15-44, 45-90." }, "freeShippingShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "none", "1-in-4", "half", "3-in-4", "all" ], "type": "string" } ], "description": "Share of orders that ship free: a fraction (0.25), or none, 1-in-4, half, 3-in-4, all." } }, "description": "Optional go-deeper answers; each one sharpens the result.", "additionalProperties": false }, "orders": { "anyOf": [ { "type": "number", "maximum": 100000, "minimum": 1 }, { "enum": [ "1-10", "11-30", "31-75", "76-150", "151-300" ], "type": "string" } ], "description": "Orders in a typical month: a number from 1 to 100,000 (Shop Manager > Stats > Orders), or a band: 1-10, 11-30, 31-75, 76-150, 151-300. Over 300: send the number." }, "etsyAds": { "enum": [ "no", "yes", "1-4", "5-14", "15-24", "25-plus" ], "type": "string", "description": "Etsy Ads daily budget: no, a band 1-4, 5-14, 15-24, 25-plus (dollars a day), or yes with adsDailyBudget or adsMonthlySpend. 25-plus needs adsDailyBudget." }, "platform": { "type": "string", "const": "etsy", "default": "etsy", "description": "etsy (the default when left out)." }, "itemPrice": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "Typical item price in US dollars, before shipping (the item sold most)." }, "labelCost": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "type": "string", "const": "not-sure" } ], "description": "What the shipping label costs, US dollars, or not-sure (shipping is then treated as breaking even and shown as couldn't check)." }, "materials": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Materials and supplies for one item, US dollars. Or send materialsShare when the seller isn't sure." }, "adsDailyBudget": { "type": "number", "maximum": 10000, "minimum": 0.01, "description": "Etsy Ads daily budget, US dollars (assumed fully spent, 30 days a month)." }, "materialsShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-20", "20-35", "35-50", "over-50" ], "type": "string" } ], "description": "When the seller isn't sure of materials: the share of the price they take, a fraction or under-20, 20-35, 35-50, over-50." }, "adsMonthlySpend": { "type": "number", "maximum": 300000, "minimum": 0.01, "description": "Exact Etsy Ads spend last 30 days, US dollars. Wins over the daily budget." }, "shippingCharged": { "type": "number", "maximum": 1000, "minimum": 0, "description": "What the buyer pays for shipping on a typical order, US dollars (0 if free)." }, "targetProfitPerOrder": { "type": "number", "maximum": 10000, "minimum": 0, "description": "Profit per order the seller wants on top of costs, US dollars (used by the price fix when orders lose money). Default 0." } }, "additionalProperties": false }, { "type": "object", "required": [ "platform", "orders", "orderValue", "shippingCharged", "labelCost", "plan", "billing", "payments", "ads" ], "properties": { "ads": { "enum": [ "none", "yes", "under-300", "300-999", "1000-2999", "3000-plus" ], "type": "string", "description": "Ads a month (Meta, Google, TikTok): none, a band under-300, 300-999, 1000-2999, 3000-plus (US dollars a month), or yes with adsMonthlySpend. 3000-plus needs adsMonthlySpend." }, "plan": { "enum": [ "basic", "grow", "advanced", "plus", "starter", "not-sure" ], "type": "string", "description": "The plan (Settings > Plan): basic, grow, advanced, plus, starter, or not-sure (plan fit and billing then can't be checked)." }, "roas": { "anyOf": [ { "type": "number", "maximum": 100, "minimum": 0 }, { "enum": [ "under-1.5", "1.5-2.49", "2.5-3.99", "4-plus" ], "type": "string" }, { "type": "string", "const": "not-sure" } ], "description": "Sales from Shopify (not Ads Manager) ÷ ad spend, last 30 days: a number, a band (under-1.5, 1.5-2.49, 2.5-3.99, 4-plus), or not-sure. Only when the store runs ads." }, "deeper": { "type": "object", "properties": { "appBill": { "anyOf": [ { "type": "number", "maximum": 100000, "minimum": 0 }, { "enum": [ "under-50", "50-149", "150-299" ], "type": "string" } ], "description": "The monthly app bill: US dollars, or under-50, 50-149, 150-299. $300 or more: send the dollars." }, "refunds": { "type": "object", "required": [ "outcome" ], "properties": { "outcome": { "enum": [ "back-buyer-pays-return", "back-i-pay-return", "buyer-keeps", "mixed" ], "type": "string", "description": "What usually happens on a refund: back-buyer-pays-return, back-i-pay-return, buyer-keeps or mixed." }, "perMonth": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Refunds in a typical month, as a number. Or send frequency." }, "frequency": { "enum": [ "rarely", "sometimes", "often" ], "type": "string", "description": "How often: rarely (1 in 50), sometimes (1 in 20), often (1 in 10). Or send perMonth." }, "returnLabel": { "type": "number", "maximum": 1000, "minimum": 0, "description": "What a return label costs the store, US dollars. Default: what the outbound label costs." }, "unsellablePerMonth": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Returned items a month that can't be resold." } }, "description": "Refunds and returns: send frequency or perMonth, and outcome.", "additionalProperties": false }, "packaging": { "type": "number", "maximum": 1000, "minimum": 0, "description": "Packaging per order, US dollars. Left out: not counted, and flagged." }, "appsUnproven": { "anyOf": [ { "type": "number", "maximum": 100000, "minimum": 0 }, { "type": "string", "const": "not-sure" } ], "description": "Of the app bill, US dollars a month for apps the seller can't tie to sales or time saved, or not-sure. Needs appBill." }, "foreignShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "none", "under-5", "5-14", "15-24", "25-plus" ], "type": "string" } ], "description": "Share of sales paid in another currency: a fraction, or none, under-5, 5-14, 15-24, 25-plus." }, "freeShippingShareOver": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "none", "1-in-4", "half", "3-in-4", "all" ], "type": "string" } ], "description": "Share of orders at or over the threshold: a fraction, or none, 1-in-4, half, 3-in-4, all." }, "freeShippingThreshold": { "type": "number", "maximum": 10000, "minimum": 0, "description": "The free-shipping threshold, US dollars. Needs freeShippingShareOver." }, "chargebacksLostPerMonth": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Chargebacks lost in a typical month." } }, "description": "Optional go-deeper answers; each one sharpens the result and adds a check.", "additionalProperties": false }, "orders": { "anyOf": [ { "type": "number", "maximum": 100000, "minimum": 1 }, { "enum": [ "1-30", "31-100", "101-300", "301-1000" ], "type": "string" } ], "description": "Orders in a typical month (Analytics > Orders): a number, or a band 1-30, 31-100, 101-300, 301-1000. Over 1,000: send the number." }, "billing": { "enum": [ "monthly", "yearly", "not-sure" ], "type": "string", "description": "How the plan is paid: monthly, yearly, or not-sure." }, "payments": { "enum": [ "shopify-payments", "another", "both", "not-sure" ], "type": "string", "description": "How card payments arrive (Settings > Payments): shopify-payments, another (for example Stripe or Square), both, or not-sure (the third-party fee checks then can't run)." }, "platform": { "type": "string", "const": "shopify", "description": "shopify, for a store on the seller's own Shopify site." }, "labelCost": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "type": "string", "const": "not-sure" } ], "description": "What the shipping label costs, US dollars, or not-sure (shipping is then treated as breaking even and shown as couldn't check)." }, "orderValue": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "A typical order before shipping and tax, US dollars (average order value)." }, "productCost": { "type": "number", "maximum": 100000, "minimum": 0, "description": "What the products in that order cost the seller (COGS), US dollars. Or send productCostShare when not sure." }, "targetMargin": { "type": "number", "maximum": 0.9, "minimum": 0, "description": "The margin the seller wants on each order after every cost, a fraction (0.2 is 20%), for the target price." }, "adsMonthlySpend": { "type": "number", "maximum": 1000000, "minimum": 0.01, "description": "Ad spend a month, US dollars. Wins over the band." }, "shippingCharged": { "type": "number", "maximum": 1000, "minimum": 0, "description": "What the buyer pays for shipping on a typical order, US dollars (0 if free)." }, "productCostShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-20", "20-35", "35-50", "over-50" ], "type": "string" } ], "description": "When the seller isn't sure of product cost: its share of the order, a fraction or under-20, 20-35, 35-50, over-50." }, "otherProcessorCents": { "type": "number", "maximum": 500, "minimum": 0, "description": "The other card company's fixed fee per sale, in cents (30 is 30¢). Send with otherProcessorPercent." }, "shopifyPaymentsShare": { "type": "number", "maximum": 1, "minimum": 0, "description": "With both: the share of sales Shopify Payments handles (Shop Pay, local methods), a fraction. Left out: half, flagged." }, "otherProcessorPercent": { "type": "number", "maximum": 20, "minimum": 0, "description": "The other card company's rate as a percent (2.9 is 2.9%). Send with otherProcessorCents. Left out: 2.9% + 30¢, flagged." } }, "additionalProperties": false }, { "type": "object", "required": [ "platform", "units", "price", "category", "fulfillment", "plan", "ppc" ], "properties": { "ppc": { "enum": [ "none", "yes", "under-500", "500-1999", "2000-4999", "5000-plus" ], "type": "string", "description": "Sponsored Products a month: none, a band under-500, 500-1999, 2000-4999, 5000-plus (US dollars a month), or yes with ppcMonthlySpend. 5000-plus needs ppcMonthlySpend." }, "acos": { "anyOf": [ { "type": "number", "maximum": 10, "exclusiveMinimum": 0 }, { "enum": [ "under-20", "20-34", "35-49", "50-plus" ], "type": "string" }, { "type": "string", "const": "not-sure" } ], "description": "ACoS, last 30 days (Campaign Manager): a fraction (0.3 is 30%), a band (under-20, 20-34, 35-49, 50-plus), or not-sure. Only when the seller runs Sponsored Products." }, "plan": { "enum": [ "professional", "individual", "not-sure" ], "type": "string", "description": "professional ($39.99 a month), individual ($0.99 an item), or not-sure." }, "price": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "The selling price on Amazon, US dollars." }, "today": { "type": "string", "pattern": "^20(2[6-9]|[3-9]\\d)-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$", "maxLength": 10, "description": "Today's date, YYYY-MM-DD: picks the storage season and the peak window (October 15 to January 14). Default: the rates' as-of date, October 13, 2026." }, "units": { "anyOf": [ { "type": "number", "maximum": 1000000, "minimum": 1 }, { "enum": [ "1-40", "41-150", "151-500", "501-1500", "1501-5000" ], "type": "string" } ], "description": "Units sold in a typical month (Business Reports > Sales Dashboard > Units Ordered): a number, or a band 1-40, 41-150, 151-500, 501-1500, 1501-5000. Over 5,000: send the number." }, "deeper": { "type": "object", "properties": { "packed": { "type": "object", "required": [ "lengthIn", "widthIn", "heightIn", "weightOz" ], "properties": { "widthIn": { "type": "number", "maximum": 200, "description": "Width, inches, packed.", "exclusiveMinimum": 0 }, "heightIn": { "type": "number", "maximum": 200, "description": "Height, inches, packed.", "exclusiveMinimum": 0 }, "lengthIn": { "type": "number", "maximum": 200, "description": "Length, inches, packed.", "exclusiveMinimum": 0 }, "weightOz": { "type": "number", "maximum": 4800, "description": "Weight, ounces, packed (16 oz is 1 lb).", "exclusiveMinimum": 0 } }, "description": "The packed size and weight, as Amazon measures it: makes the FBA estimate and the size and weight checks exact to the rate card.", "additionalProperties": false }, "coupons": { "type": "object", "required": [ "runsPerMonth", "discount", "share" ], "properties": { "share": { "type": "number", "maximum": 1, "minimum": 0, "description": "Share of units sold with the coupon." }, "discount": { "type": "number", "maximum": 1, "minimum": 0, "description": "The coupon discount, a fraction of the price." }, "runsPerMonth": { "type": "number", "maximum": 100, "minimum": 0, "description": "Coupon runs a month." } }, "description": "Coupons.", "additionalProperties": false }, "inbound": { "type": "object", "required": [ "split" ], "properties": { "split": { "enum": [ "minimal", "partial", "optimized" ], "type": "string", "description": "minimal, partial or optimized." }, "extraFreightPerUnit": { "type": "number", "maximum": 1000, "minimum": 0, "description": "Extra freight per unit an optimized split costs, US dollars, if quoted." } }, "description": "Inbound placement choice.", "additionalProperties": false }, "returns": { "type": "object", "required": [ "rate" ], "properties": { "rate": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-3", "3-6", "6-10", "10-15", "over-15" ], "type": "string" } ], "description": "Share of units returned: a fraction, or under-3, 3-6, 6-10, 10-15, over-15 (bands are our assumption)." }, "unsellableShare": { "type": "number", "maximum": 1, "minimum": 0, "description": "Share of returns that come back unsellable. Default 0." } }, "description": "Returns: the rate, and the unsellable share.", "additionalProperties": false }, "fbaShare": { "type": "number", "maximum": 1, "minimum": 0, "description": "With fulfillment both: the share of units Amazon ships, a fraction. Left out: half, flagged." }, "cubicFeet": { "type": "number", "maximum": 1000, "description": "Cubic feet per packed unit, when the dimensions aren't known (storage).", "exclusiveMinimum": 0 }, "inventory": { "type": "object", "properties": { "agedBand": { "enum": [ "181-270", "271-365", "over-365" ], "type": "string", "description": "How old those units are: 181-270, 271-365, over-365. Default 181-270." }, "agedUnits": { "type": "number", "maximum": 1000000, "minimum": 0, "description": "Units older than 6 months (181+ days)." }, "daysOfSupply": { "type": "number", "maximum": 3650, "minimum": 0, "description": "Days of supply on hand (Amazon's low-inventory measure)." }, "unitsAtAmazon": { "type": "number", "maximum": 1000000, "minimum": 0, "description": "Units in Amazon's warehouses. Default: one month of sales." } }, "description": "Stock at Amazon.", "additionalProperties": false }, "packaging": { "type": "number", "maximum": 1000, "minimum": 0, "description": "Packaging per unit the seller ships, US dollars. Left out: $1 typical, flagged." }, "peakUnits": { "type": "number", "maximum": 10000000, "minimum": 0, "description": "Units shipped October 15 to January 14 (the peak season), for the whole season." }, "sourcingCostEntered": { "type": "boolean", "description": "True when the seller has entered sourcing costs in Manage Your Sourcing Cost." } }, "description": "Optional go-deeper answers; each one sharpens the result. packed (the packed size) makes the FBA estimate and the size and weight checks exact to the rate card.", "additionalProperties": false }, "fbaFee": { "type": "number", "maximum": 1000, "minimum": 0.01, "description": "FBA or both: the FBA fee per unit from Fee Preview or the Revenue Calculator, US dollars, all-in. Turns the estimate into the seller's own number. Or send sizeBand and weightBand." }, "category": { "enum": [ "beauty-health", "baby", "grocery", "clothing", "home-kitchen", "toys", "sports-outdoors", "pet", "electronics-accessories", "media", "jewelry", "furniture", "everything-else", "amazon-device-accessories", "compact-appliances", "full-size-appliances", "automotive", "base-power-tools", "backpacks-handbags-luggage", "business-industrial-scientific", "computers", "consumer-electronics", "eyewear", "footwear", "gift-cards", "lawn-garden", "mattresses", "musical-instruments", "office", "tires", "tools", "video-games", "video-game-consoles", "watches", "not-sure" ], "type": "string", "description": "The Amazon category (sets the referral fee): beauty-health, baby, grocery, clothing, home-kitchen, toys, sports-outdoors, pet, electronics-accessories, media, jewelry, furniture, everything-else, or another row of Amazon's referral table (amazon-device-accessories, compact-appliances, full-size-appliances, automotive, base-power-tools, backpacks-handbags-luggage, business-industrial-scientific, computers, consumer-electronics, eyewear, footwear, gift-cards, lawn-garden, mattresses, musical-instruments, office, tires, tools, video-games, video-game-consoles, watches), or not-sure (15%, flagged)." }, "platform": { "type": "string", "const": "amazon", "description": "amazon, for a seller on Amazon's US marketplace." }, "sizeBand": { "enum": [ "small-flat", "standard-box", "bigger" ], "type": "string", "description": "FBA or both, when the FBA fee isn't known: small-flat (fits 15 × 12 × 0.75 in), standard-box (up to 18 × 14 × 8 in), bigger. Send with weightBand." }, "labelCost": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "type": "string", "const": "not-sure" } ], "description": "FBM or both: what the label costs per unit, US dollars, or not-sure." }, "landedCost": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Landed cost per unit (product + freight + duties + prep, to Amazon's door), US dollars. Or send landedCostShare when not sure." }, "weightBand": { "enum": [ "under-8oz", "8oz-1lb", "1-2lb", "2-3lb", "over-3lb" ], "type": "string", "description": "FBA or both, when the FBA fee isn't known: under-8oz, 8oz-1lb, 1-2lb, 2-3lb, over-3lb. Send with sizeBand." }, "fulfillment": { "enum": [ "fba", "fbm", "both" ], "type": "string", "description": "Who ships: fba (Amazon), fbm (the seller), or both." }, "targetMargin": { "type": "number", "maximum": 0.9, "minimum": 0, "description": "The margin the seller wants after every cost, a fraction of the price (0.2 is 20%), for the repricing fixes. Default 0: break-even." }, "landedCostShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-20", "20-35", "35-50", "over-50" ], "type": "string" } ], "description": "When the seller isn't sure of landed cost: its share of the price, a fraction or under-20, 20-35, 35-50, over-50." }, "ppcMonthlySpend": { "type": "number", "maximum": 1000000, "minimum": 0.01, "description": "Sponsored Products spend a month, US dollars. Wins over the band." }, "shippingCharged": { "type": "number", "maximum": 1000, "minimum": 0, "description": "FBM or both: what the buyer pays for shipping per unit, US dollars (0 if free)." } }, "additionalProperties": false } ], "$schema": "https://json-schema.org/draft/2020-12/schema" }arguments 1080 linessellerprofit_etsy_fees unknown never probed
Works out Etsy's fees on one sale, line by line: the $0.20 listing fee, the 6.5% transaction fee, the 3% + $0.25 payment processing fee (also charged on sales tax), the 2.5% currency conversion when it applies, and the Offsite Ads fee (12% or 15%, at most $100) when the sale came from an Offsite Ad. Call it when a seller asks what Etsy takes from a sale, or what they keep from it before costs. Pass the item price and shipping charged; optionally the sales tax rate, whether it was an Offsite Ads sale and at which rate, and a currency mismatch. Returns each fee, the total, its share of the order and what's left, in US dollars, with the dated Etsy rules and their sources. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "itemPrice" ], "properties": { "itemPrice": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "The item price on this sale, US dollars, before shipping." }, "offsiteAds": { "enum": [ "none", "12-percent", "15-percent" ], "type": "string", "default": "none", "description": "Did this sale come from an Offsite Ad? none, or the rate the shop pays: 12-percent (the shop has sold $10,000 or more in any 12 months) or 15-percent (under $10,000). Default none." }, "salesTaxRate": { "type": "number", "default": 0, "maximum": 0.2, "minimum": 0, "description": "The sales tax rate the buyer paid, as a fraction (0.07 is 7%). Etsy charges its 3% processing fee on the tax too. Default 0." }, "shippingCharged": { "type": "number", "default": 0, "maximum": 1000, "minimum": 0, "description": "What the buyer paid for shipping, US dollars (0 if free)." }, "currencyMismatch": { "type": "boolean", "default": false, "description": "True when the listing's currency differs from the payment account's (Etsy adds 2.5%). Default false." } }, "additionalProperties": false }arguments 45 linessellerprofit_shipping_gap unknown never probed
Works out the shipping gap for an Etsy shop: what the label and packaging cost beyond what the buyer pays, per order and per month, and the fixes: the item price that covers the gap with shipping kept under Etsy's $6 search line, calculated shipping, and (for free-shipping shops) building shipping into items of $35 and up, each worth so much a month if orders hold. Call it when a seller charges less for shipping than the label costs, offers free shipping, or asks how to price shipping on Etsy. Pass the item price, shipping charged, label cost and orders a month; packaging (else $1 typical, flagged), the share of orders shipping free, the Offsite Ads rate and share, and materials are optional and sharpen the fix. Returns the gap, the fix price, every fix's monthly value and how far orders could fall before it leaves the seller worse off. US dollars; dated Etsy rules with sources. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "itemPrice", "shippingCharged", "labelCost", "orders" ], "properties": { "orders": { "anyOf": [ { "type": "number", "maximum": 100000, "minimum": 1 }, { "enum": [ "1-10", "11-30", "31-75", "76-150", "151-300" ], "type": "string" } ], "description": "Orders in a typical month: a number from 1 to 100,000 (Shop Manager > Stats > Orders), or a band: 1-10, 11-30, 31-75, 76-150, 151-300. Over 300: send the number." }, "itemPrice": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "Typical item price, US dollars, before shipping." }, "labelCost": { "type": "number", "maximum": 1000, "minimum": 0, "description": "What the shipping label costs, US dollars (Shop Manager > Finances > Payment account > Shipping)." }, "materials": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Optional: materials per item, US dollars. Adds how far orders could fall before each fix leaves the seller worse off." }, "packaging": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "enum": [ "mailer", "box", "not-sure" ], "type": "string" } ], "description": "Packaging per order in US dollars, or mailer (about $1), box (about $3) or not-sure. Left out: $1, a weakly sourced typical figure, flagged as a default." }, "offsiteAds": { "enum": [ "12-percent", "15-percent", "off" ], "type": "string", "description": "Optional: the shop's Offsite Ads rate (12-percent, 15-percent or off). Fees on the higher price depend on it. Left out: estimated from orders × price, flagged." }, "offsiteShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-5", "5-14", "15-24", "25-plus" ], "type": "string" } ], "description": "Optional: share of sales from Offsite Ads. Left out: Etsy's typical 10%, flagged." }, "shippingCharged": { "type": "number", "maximum": 1000, "minimum": 0, "description": "What the buyer pays for shipping on an order that isn't free, US dollars (0 if shipping is always free)." }, "freeShippingShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "none", "1-in-4", "half", "3-in-4", "all" ], "type": "string" } ], "description": "Share of orders that ship free: a fraction (0.25), or none, 1-in-4, half, 3-in-4, all. Default none." } }, "additionalProperties": false }arguments 123 linessellerprofit_ads_breakeven unknown never probed
Works out the ROAS at which an Etsy shop's Etsy Ads pay for themselves (break-even ROAS = order ÷ what an ad order keeps after Etsy's fees and costs), the most an ad can cost per sale, and, with the shop's ROAS, what the ads gain or lose a month. Call it when a seller asks whether Etsy Ads are worth it, what ROAS they need, or whether to turn ads off. Pass the item price, shipping charged, materials, label cost, and the daily budget or exact monthly spend; packaging is optional ($1 typical, flagged) and ROAS from the Etsy Ads page adds the monthly gain or loss and the fix. Returns the margin, break-even ROAS, ad sales and earnings, the monthly gain or loss and, when the ads lose money, the fix and what it's worth. US dollars; dated Etsy rules with sources. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "itemPrice", "materials", "labelCost" ], "properties": { "roas": { "type": "number", "maximum": 100, "minimum": 0, "description": "Return on ad spend, last 30 days (Etsy Ads page): ad revenue ÷ ad spend, such as 1.5. Left out: only the break-even is returned." }, "itemPrice": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "Typical item price, US dollars, before shipping." }, "labelCost": { "type": "number", "maximum": 1000, "minimum": 0, "description": "The shipping label, US dollars." }, "materials": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Materials and supplies per item, US dollars." }, "packaging": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "enum": [ "mailer", "box", "not-sure" ], "type": "string" } ], "description": "Packaging per order in US dollars, or mailer (about $1), box (about $3) or not-sure. Left out: $1, a weakly sourced typical figure, flagged as a default." }, "adsDailyBudget": { "type": "number", "maximum": 10000, "minimum": 0.01, "description": "Etsy Ads daily budget, US dollars (assumed fully spent, 30 days a month). Or send adsMonthlySpend." }, "adsMonthlySpend": { "type": "number", "maximum": 300000, "minimum": 0.01, "description": "Exact Etsy Ads spend last 30 days, US dollars. Or send adsDailyBudget." }, "shippingCharged": { "type": "number", "default": 0, "maximum": 1000, "minimum": 0, "description": "What the buyer pays for shipping, US dollars (0 if free)." } }, "additionalProperties": false }arguments 73 linessellerprofit_price_for_margin unknown never probed
Works out the item price at which one Etsy order keeps a target profit after Etsy's fees (listing, 6.5% transaction, 3% + $0.25 processing), the average Offsite Ads fee, Etsy Ads spread over orders, materials, packaging and the label. The target is dollars per order or a share of the order; with neither, it returns the break-even price. Call it when a seller asks what to charge, how to price for a profit, or what their break-even price is on Etsy. Pass materials, label cost, shipping charged and the shop's Offsite Ads rate (12-percent, 15-percent or off); packaging, the Offsite share, ad spend with orders, and targetProfitPerOrder or targetMargin are optional. Returns the price, the order at that price line by line, the break-even price and what each extra dollar keeps. US dollars; dated Etsy rules with sources. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "materials", "labelCost", "offsiteAds" ], "properties": { "orders": { "type": "number", "maximum": 100000, "minimum": 1, "description": "Orders a month. Needed only with adsMonthlySpend." }, "labelCost": { "type": "number", "maximum": 1000, "minimum": 0, "description": "The shipping label, US dollars." }, "materials": { "type": "number", "maximum": 100000, "minimum": 0, "description": "Materials and supplies per item, US dollars." }, "packaging": { "anyOf": [ { "type": "number", "maximum": 1000, "minimum": 0 }, { "enum": [ "mailer", "box", "not-sure" ], "type": "string" } ], "description": "Packaging per order in US dollars, or mailer (about $1), box (about $3) or not-sure. Left out: $1, a weakly sourced typical figure, flagged as a default." }, "offsiteAds": { "enum": [ "12-percent", "15-percent", "off" ], "type": "string", "description": "The shop's Offsite Ads rate: 12-percent (past $10,000 in any 12 months), 15-percent (under $10,000, on), or off." }, "offsiteShare": { "anyOf": [ { "type": "number", "maximum": 1, "minimum": 0 }, { "enum": [ "under-5", "5-14", "15-24", "25-plus" ], "type": "string" } ], "description": "Share of sales from Offsite Ads: a fraction, or under-5, 5-14, 15-24, 25-plus. Left out: Etsy's typical 10%, flagged." }, "targetMargin": { "type": "number", "maximum": 0.85, "minimum": 0, "description": "The profit one order should keep as a share of the order (item + shipping), such as 0.25. Or send targetProfitPerOrder." }, "adsMonthlySpend": { "type": "number", "maximum": 300000, "minimum": 0, "description": "Optional: Etsy Ads spend a month, US dollars, spread over orders. Needs orders." }, "shippingCharged": { "type": "number", "default": 0, "maximum": 1000, "minimum": 0, "description": "What the buyer pays for shipping, US dollars (0 if free)." }, "targetProfitPerOrder": { "type": "number", "maximum": 10000, "minimum": 0, "description": "The profit one order should keep after every cost, US dollars. Or send targetMargin. Neither: the break-even price." } }, "additionalProperties": false }arguments 101 linessellerprofit_shopify_plan_fit unknown never probed
Works out which Shopify plan (Basic, Grow, Advanced) costs least at a store's card sales: each plan's price plus the card fees that change with the plan (or Shopify's third-party fee on sales through another processor), the card sales above which each move up pays for itself, on monthly and yearly billing, and what yearly billing takes off the price. Call it when a seller asks whether to upgrade or downgrade their Shopify plan, whether yearly billing is worth it, or why a bigger plan costs them more. Pass monthly card sales (US dollars), the current plan, billing and processor; with both processors, the share Shopify Payments handles. Returns every plan's cost, the cheapest plan on the current billing and on either billing, the break-even sales, and the yearly-billing difference, with the dated Shopify rates and sources. A move's value holds at these sales; below the break-even the bigger plan costs more. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "monthlyCardSales", "currentPlan", "billing", "processor" ], "properties": { "billing": { "enum": [ "monthly", "yearly" ], "type": "string", "description": "How the plan is paid now: monthly or yearly." }, "processor": { "enum": [ "shopify-payments", "another", "both" ], "type": "string", "description": "How card payments arrive (Settings > Payments): shopify-payments, another (Stripe, Square and others; Shopify then adds its third-party fee), or both." }, "currentPlan": { "enum": [ "basic", "grow", "advanced" ], "type": "string", "description": "The store's plan (Settings > Plan): basic, grow or advanced. Plus is priced per store and Starter's figures aren't on Shopify's pricing page, so neither is compared here." }, "monthlyCardSales": { "type": "number", "maximum": 10000000, "minimum": 0.01, "description": "Online card sales a month, US dollars (order totals with shipping): what the card fees are charged on." }, "premiumCardShare": { "type": "number", "maximum": 1, "minimum": 0, "description": "Share of card sales on premium cards (Amex, business cards), which pay a higher rate on every plan. Default 0." }, "shopifyPaymentsShare": { "type": "number", "maximum": 1, "minimum": 0, "description": "With both: the share of sales Shopify Payments handles, a fraction. Left out: half, flagged." } }, "additionalProperties": false }arguments 57 linessellerprofit_amazon_fees unknown never probed
Works out Amazon's fees on one unit at a price: the referral fee for the category (official, with the $0.30 minimum), the $1.80 media closing fee (official), and for FBA an estimate of the fulfillment fee from third-party 2026 rate cards by size tier and weight, with the 3.5% fuel and logistics surcharge, and the peak-season fee from October 15 to January 14. Call it when a seller asks what Amazon takes on a sale, what FBA costs for an item, or whether a price sits just over a fee line. Pass the price, category, fba or fbm, and for FBA the packed size and weight bands (or the packed dimensions); for FBM, the shipping the buyer pays. Returns each fee, the total outside and in peak, what's left, and the price lines where a fee steps; a line whose reading Amazon doesn't confirm is marked verified: false. The FBA figure is estimate: true: say "about", and point the seller to Fee Preview for their real fee. Dated rates with sources. Free, no sign-in. Takes numbers only; nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "price", "category", "fulfillment" ], "properties": { "price": { "type": "number", "maximum": 100000, "minimum": 0.01, "description": "The selling price on Amazon, US dollars." }, "packed": { "type": "object", "required": [ "lengthIn", "widthIn", "heightIn", "weightOz" ], "properties": { "widthIn": { "type": "number", "maximum": 200, "description": "Width, inches, packed.", "exclusiveMinimum": 0 }, "heightIn": { "type": "number", "maximum": 200, "description": "Height, inches, packed.", "exclusiveMinimum": 0 }, "lengthIn": { "type": "number", "maximum": 200, "description": "Length, inches, packed.", "exclusiveMinimum": 0 }, "weightOz": { "type": "number", "maximum": 4800, "description": "Weight, ounces, packed (16 oz is 1 lb).", "exclusiveMinimum": 0 } }, "description": "The packed size and weight, as Amazon measures it: makes the FBA estimate and the size and weight checks exact to the rate card.", "additionalProperties": false }, "category": { "enum": [ "beauty-health", "baby", "grocery", "clothing", "home-kitchen", "toys", "sports-outdoors", "pet", "electronics-accessories", "media", "jewelry", "furniture", "everything-else", "amazon-device-accessories", "compact-appliances", "full-size-appliances", "automotive", "base-power-tools", "backpacks-handbags-luggage", "business-industrial-scientific", "computers", "consumer-electronics", "eyewear", "footwear", "gift-cards", "lawn-garden", "mattresses", "musical-instruments", "office", "tires", "tools", "video-games", "video-game-consoles", "watches", "not-sure" ], "type": "string", "description": "The Amazon category (sets the referral fee): beauty-health, baby, grocery, clothing, home-kitchen, toys, sports-outdoors, pet, electronics-accessories, media, jewelry, furniture, everything-else, amazon-device-accessories, compact-appliances, full-size-appliances, automotive, base-power-tools, backpacks-handbags-luggage, business-industrial-scientific, computers, consumer-electronics, eyewear, footwear, gift-cards, lawn-garden, mattresses, musical-instruments, office, tires, tools, video-games, video-game-consoles, watches, or not-sure (Everything Else, 15%, flagged)." }, "sizeBand": { "enum": [ "small-flat", "standard-box", "bigger" ], "type": "string", "description": "FBA: small-flat (fits 15 × 12 × 0.75 in), standard-box (up to 18 × 14 × 8 in) or bigger. Send with weightBand, or send packed." }, "weightBand": { "enum": [ "under-8oz", "8oz-1lb", "1-2lb", "2-3lb", "over-3lb" ], "type": "string", "description": "FBA: under-8oz, 8oz-1lb, 1-2lb, 2-3lb, over-3lb (the top of the band is used). Send with sizeBand." }, "fulfillment": { "enum": [ "fba", "fbm" ], "type": "string", "description": "fba (Amazon ships; adds the FBA fee estimate) or fbm (the seller ships)." }, "shippingCharged": { "type": "number", "maximum": 1000, "minimum": 0, "description": "FBM: what the buyer pays for shipping, US dollars (0 if free). The referral fee is charged on price + shipping. Default 0." } }, "additionalProperties": false }arguments 130 linessellerprofit_rates unknown never probed
Returns one platform's fee table, the one this server's numbers use: every fee and rule with its value, a plain label, its source link and the day it was checked, whether it's official or a third-party estimate, and both values where sources disagree, plus when the table is due for its next check. Etsy: listing, transaction, processing, Offsite Ads, Etsy Ads minimums, shipping lines, Etsy Plus, tax facts. Shopify: plan prices on both billings, card rates, the third-party processor fee, currency, chargebacks, Shopify Tax. Amazon: plans, referral by category and the media closing fee (official), and FBA, storage, returns, peak and coupon fees (third-party estimates: Amazon's own tables sit behind the Seller Central login). Call it to cite a platform's fees, to answer what a fee is, or to check how current the numbers are. Takes no figures; platform defaults to etsy. Free, no sign-in. Nothing is stored.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "platform": { "enum": [ "etsy", "shopify", "amazon" ], "type": "string", "default": "etsy", "description": "Whose fee table: etsy (the default), shopify or amazon." } }, "additionalProperties": false }arguments 17 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id43943dd057b0915a.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/43943dd057b0915a/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/43943dd057b0915a?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.