Skip to main content
Glama
PravinrajV

ShopTrueProfit Fee & Profit MCP

by PravinrajV

Etsy profit and margin

etsy_profit
Read-onlyIdempotent

Calculate profit, margin, and break-even price for an Etsy order using fees, item and shipping costs, ads, discounts, and tax. Returns an itemized fee breakdown with assumptions and sources.

Instructions

Calculate profit, margin and break-even price for an Etsy order from price, quantity, shipping, item cost, label/packaging cost and ads (Offsite Ads rate plus any Etsy Ads spend you attribute to the order). Margin = profit / seller revenue (sales tax excluded). Percent arguments (*_pct) are percents: 8.25 means 8.25%. Money is in whole cents. Uses the same fee engine as the free calculators on shoptrueprofit.com. Returns an itemized fee breakdown, the assumptions used, the fee table version and date, official source URLs and a link to the matching free calculator. Inputs are validated strictly: invalid or unknown arguments are rejected with a message naming the field, never silently adjusted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
priceYesItem price per unit, before any discount, in the shop's region currency (USD for "us").
regionNoSeller's Etsy Payments region, which sets the payment processing rate and currency. Default "us". See list_etsy_regions.us
ad_spendNoAd spend you attribute to this order (e.g. Etsy Ads cost-per-click budget per sale). Not an Etsy fee; counted as a cost. Default 0.
discountNoTotal discount on the order (coupon or sale), in currency, not percent. Default 0.
quantityNoUnits in the order (same item). Default 1.
gift_wrapNoGift wrap charge paid by the buyer. Default 0.
item_costNoYour cost per unit (materials, product, packaging per item). Default 0.
sales_tax_pctNoSales tax / VAT rate the buyer pays on items + shipping (Etsy collects it; it is not seller income, but payment processing is charged on it). Default 0.
offsite_ads_pctNoEtsy Offsite Ads fee if this order came from an Offsite Ad: 15 (shops under $10k/yr sales), 12 (over $10k/yr), or 0 (not an Offsite Ads sale). Default 0. Capped at 100 per order.
shipping_chargedNoShipping the buyer pays for the whole order. Default 0.
shipping_label_costNoWhat you pay for the shipping label and packaging for the whole order. Default 0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
feesNo
toolYes
costsNo
inputsYes
profitNo
detailsNo
pricingNo
revenueNo
sourcesYes
summaryYes
currencyYes
warningsYes
fee_tableYes
comparisonNo
disclaimerYes
assumptionsYes
marketplaceYes
calculator_urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe, idempotent, non-destructive read. The description adds genuinely new behavioral facts: strict input validation that rejects invalid/unknown arguments naming the field, never silently adjusting them, and that output includes assumptions, fee-table version/date, and source URLs. It does not disclose rate limits or latency, but that is minor for a pure computation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then the formula, units, provenance, and validation contract in a tight block with no filler sentences. The shoptrueprofit.com reference and 'matching free calculator' link are mildly promotional but still informative about the return payload.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, 12-region calculator with an output schema, the description covers what it computes, the conventions for percent and cents inputs, the return shape (itemized breakdown, assumptions, fee-table version), and the error contract. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds cross-cutting conventions the schema states only per-field: percent arguments are true percents (8.25 = 8.25%) and money is in whole cents. It also pins down the margin denominator (profit / seller revenue, sales tax excluded), which removes ambiguity in how inputs are combined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Calculate profit, margin and break-even price for an Etsy order' plus the input factors it consumes. An agent immediately knows this is a profitability calculator, though the description never names or contrasts siblings like etsy_fees or etsy_target_price, so the differentiation is implied rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the scenario ('for an Etsy order') and the listed inputs, and it names list_etsy_regions indirectly via the region parameter description. However, there is no explicit when-to-use / when-not guidance and no routing to etsy_fees or etsy_target_price, which overlap on fee breakdown and break-even price respectively.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.