seller-fees-mcp
You can locally calculate and compare seller fees, payouts, and target prices for Gumroad, Stripe, PayPal, and Etsy (US sellers, USD).
Calculate fee and net for a single sale, with platform-specific options.
Compute per-sale and total payout for multiple units.
Find the lowest price needed to leave at least a target amount after fees.
Compare net results for one price across Gumroad, Stripe, PayPal, and Etsy, best net first.
Look up default rates, available options, and official source pages for each platform.
Calculates Etsy listing, transaction, and payment processing fees, with options for quantity, shipping, sales tax, and offsite ads.
Calculates Gumroad seller fees, payouts, and break-even prices for direct and Gumroad Discover sales, including card processing and high-volume rate options.
Calculates PayPal Checkout, card, and goods & services seller fees and payouts, including international transaction options.
Calculates Stripe seller fees and net payouts, supports extra percentage fees, and compares Stripe pricing against other platforms.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@seller-fees-mcpCompare fees for a $100 sale on Gumroad, Stripe, and Etsy."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
seller-fees-mcp
A free Model Context Protocol (MCP) server that works out seller fees, payouts and break-even prices for Gumroad, Stripe, PayPal and Etsy (US sellers, USD). Everything runs locally: no API key, no account, no network calls.
Tools
Tool | What it does |
| Fee and net for one sale. Gumroad direct includes the 2.9% + $0.30 card processing; options |
| What you keep per sale and in total for |
| Lowest price that leaves at least |
| One price across Gumroad direct, Gumroad Discover, Stripe, PayPal (checkout, card, goods) and Etsy, best net first. |
| Default rates, options and official source pages. |
Default rates are as of Oct 20, 2026. Gumroad direct: 10% + $0.50 plus card processing 2.9% + $0.30 (5% + $0.50 with high_volume); Discover: 30% all-in. Stripe: 2.9% + $0.30. PayPal Checkout: 3.49% + $0.49. Etsy: $0.20 listing, 6.5% transaction, 3% + $0.25 processing. Check each platform's pricing page before relying on a number. Planning estimates only; not tax or accounting advice.
Related MCP server: mQuickCalc Finance MCP Server
Install
Requires Node.js 18 or newer.
npx
npx -y seller-fees-mcpFrom source
git clone https://github.com/NarwhalThePong/seller-fees-mcp.git && cd seller-fees-mcp && npm install && npm test
node src/server.jsDesktop MCP clients
Add to your client's MCP config file:
{
"mcpServers": {
"seller-fees": { "command": "npx", "args": ["-y", "seller-fees-mcp"] }
}
}Cursor
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"seller-fees": { "command": "npx", "args": ["-y", "seller-fees-mcp"] }
}
}For a local checkout, use "command": "node", "args": ["/path/to/seller-fees-mcp/src/server.js"].
Example
fee with { "platform": "gumroad", "amount": 19 } returns a fee of $3.25 ($2.40 Gumroad + $0.85 card processing) and a net of $15.75.
Prefer a web page?
Free Gumroad fee calculator: https://narwhalthepong.github.io/gumroad-license-check/gumroad-fee-calculator.html
Free PayPal and Stripe fee calculator: https://narwhalthepong.github.io/gumroad-license-check/paypal-stripe-fee-calculator.html
Free Etsy fee calculator: https://narwhalthepong.github.io/gumroad-license-check/etsy-fee-calculator.html
Creator Payout Calculator Pro (browser extension, paid): https://paudrudis.gumroad.com/l/ijrzbz
Disclosure: these are our own products. The calculator pages are free; Creator Payout Calculator Pro is a paid product we sell.
Prefer a spreadsheet?
Seller Fee Formulas for Google Sheets, $9: custom functions such as GUMROADFEE, STRIPEFEE, PAYPALFEE and ETSYFEE, plus price solvers for the price you need to keep a target amount, on a whole column at once. Our own paid product (the MCP server stays free).
License
MIT
Available Tools
5 toolscompareCompare platformsA
Fee and net for one price across Gumroad direct, Gumroad Discover, Stripe, PayPal (checkout, card, goods) and Etsy, best net first.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Sale price in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose useful behavior — which payment channels are modeled (Gumroad direct/Discover, Stripe, PayPal checkout/card/goods, Etsy) and that output is sorted best net first — but says nothing about assumptions (currency, fixed vs percentage fees) or whether this is a pure read-only computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the outputs and then the platform scope, with the ordering rule ('best net first') placed at the end where it belongs. Every clause carries information; only the platform enumeration is bulky.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does the necessary work of stating what comes back (fee and net per platform) and how it is ordered. It stops short of describing the response shape or units in detail, but for a one-parameter calculator it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single `amount` parameter is fully documented as 'Sale price in USD'. The description only gestures at it via 'for one price' and adds no format or currency nuance beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact outputs (fee and net), the single input (one price), and enumerates the platforms covered, so an agent knows this is a multi-platform fee/net comparison rather than a single-platform calculation. It implicitly separates itself from the sibling `fee` and `platforms`, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the framing: use it when you want fees and net across all supported platforms, with results ordered by best net. There is no explicit when-to-use/when-not statement and no pointer to siblings like `fee` (single platform) or `price_for_target` for reverse calculation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
feeSeller fee for one saleA
Fee and net amount for one sale on Gumroad, Stripe, PayPal or Etsy (US sellers, USD). Gumroad direct sales include the 2.9% + $0.30 card processing by default.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | Etsy: items in the order | |
| type | No | PayPal payment type (default checkout) | |
| amount | Yes | Sale price in USD (Etsy: item price) | |
| discover | No | Gumroad: sale came through Gumroad Discover (flat 30%, processing included) | |
| platform | Yes | ||
| shipping | No | Etsy: shipping charged to the buyer | |
| extra_pct | No | Stripe: extra % for international cards or currency conversion | |
| gift_wrap | No | Etsy: gift wrap charged | |
| processing | No | Gumroad direct: add card processing 2.9% + $0.30 (default card) | |
| high_volume | No | Gumroad: 5% + $0.50 tier (paid sales this calendar month reached $20,000) | |
| offsite_ads | No | Etsy: Offsite Ads fee (std 15%, low 12%) | |
| international | No | PayPal: international buyer (+1.50%) | |
| sales_tax_pct | No | Etsy: sales tax % on the order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses one real behavioral default (Gumroad direct sales include 2.9% + $0.30 card processing unless overridden via the processing param) plus the US-seller/USD scope. It does not say whether this is a pure, side-effect-free calculation, what happens on invalid platform/param combinations, or whether any auth is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose and platform scope, then the one non-obvious default. No padding or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully names the two return values ('fee and net amount'), which is the key thing a caller needs. For a computation tool with 2 required params and near-full schema coverage this is largely complete; the remaining gaps (error behavior, multi-currency beyond USD) are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 92% and four params are enums, so the schema already explains nearly everything (platform gating, defaults, per-platform semantics). The description only adds currency/region context and restates the Gumroad processing default, which is the correct baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific computation (fee and net amount) for a specific resource (one sale) and enumerates the four supported platforms, so the agent knows exactly what it returns. It does not, however, differentiate itself from siblings like compare or price_for_target, so the agent must infer that 'one sale' means a single-calculation rather than a multi-scenario tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the platform list, the '(US sellers, USD)' qualifier, and the Gumroad default give context for when the tool applies. There is no explicit 'use this instead of X' routing to compare, payout, or price_for_target, and no statement of what happens for unsupported regions/currencies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payoutPayout after feesB
What you keep per sale and in total for a number of units, after platform and processing fees.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | Etsy: items in the order | |
| type | No | PayPal payment type (default checkout) | |
| units | No | Number of sales (default 1) | |
| amount | Yes | Sale price in USD | |
| discover | No | Gumroad: sale came through Gumroad Discover (flat 30%, processing included) | |
| platform | Yes | ||
| shipping | No | Etsy: shipping charged to the buyer | |
| extra_pct | No | Stripe: extra % for international cards or currency conversion | |
| gift_wrap | No | Etsy: gift wrap charged | |
| processing | No | Gumroad direct: add card processing 2.9% + $0.30 (default card) | |
| high_volume | No | Gumroad: 5% + $0.50 tier (paid sales this calendar month reached $20,000) | |
| offsite_ads | No | Etsy: Offsite Ads fee (std 15%, low 12%) | |
| international | No | PayPal: international buyer (+1.50%) | |
| sales_tax_pct | No | Etsy: sales tax % on the order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It usefully discloses the output shape ('per sale and in total'), but omits that the tool is a pure calculation with no side effects, that platform-specific params are optional and conditional, and any defaults beyond what the schema already states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence stating the computation and its unit basis, with no wasted words. Appropriately sized for a calculator-style tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-param, four-platform tool with conditional fields, the description covers the outcome but says nothing about the branching by platform or the absence of an output schema return structure beyond 'per sale and in total'. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 93%, so the schema already documents nearly every parameter including platform-conditional fields. The description adds no parameter syntax, defaults, or examples beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific outcome: net amount kept per sale and in total after platform and processing fees, over a number of units. Distinguishes itself from the 'fee' sibling by framing itself as the net result, but never names the alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of the sibling tools (fee, compare, price_for_target) that an agent could pick instead. The multi-platform, conditionally-parameterized nature (Etsy/Gumroad/PayPal/Stripe) is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platformsRates and sourcesC
Default rates, options and official source pages for each platform.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It implies a static reference read but never states that it is read-only, whether it is cached or live, whether auth is required, or how frequently the 'default rates' change — all of which matter for a pricing-adjacent lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact fragment that front-loads the payload contents with zero filler. It is efficient, though as a bare noun phrase it lacks a framing clause that would make the intent immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of information, and it never defines what a 'platform' is, what 'options' contains, or the shape of the returned records. It covers the broad content categories, which is the minimum viable level, but leaves the agent guessing about the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object, so there is no parameter semantics to document. The baseline of 4 applies; the description cannot add parameter meaning that does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource and its payload (default rates, options, official source pages) but supplies no verb, so it reads as a data dump rather than an action an agent can request. It also does nothing to distinguish itself from siblings like fee, payout, and price_for_target, which plausibly cover overlapping rate/price territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus fee, price_for_target, or compare, and no prerequisites or context are given. The agent must guess from the name alone whether this is a reference lookup or a computation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_for_targetPrice for a target payoutA
Lowest price (rounded up to the cent) that leaves at least the target amount after fees.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | Etsy: items in the order | |
| type | No | PayPal payment type (default checkout) | |
| target | Yes | Amount you want to keep per sale, USD | |
| discover | No | Gumroad: sale came through Gumroad Discover (flat 30%, processing included) | |
| platform | Yes | ||
| shipping | No | Etsy: shipping charged to the buyer | |
| extra_pct | No | Stripe: extra % for international cards or currency conversion | |
| gift_wrap | No | Etsy: gift wrap charged | |
| label_cost | No | Etsy: shipping label cost | |
| processing | No | Gumroad direct: add card processing 2.9% + $0.30 (default card) | |
| high_volume | No | Gumroad: 5% + $0.50 tier (paid sales this calendar month reached $20,000) | |
| offsite_ads | No | Etsy: Offsite Ads fee (std 15%, low 12%) | |
| cost_per_item | No | Etsy: your cost per item | |
| international | No | PayPal: international buyer (+1.50%) | |
| sales_tax_pct | No | Etsy: sales tax % on the order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose a genuinely useful behavior: rounding up to the cent and guaranteeing 'at least' the target (a conservative, never-short result). It does not state that the operation is side-effect free, nor what the output form is, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the core computation and immediately qualified with the rounding/guarantee caveat. Nothing is wasted and nothing important is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool spanning four platforms with conditional fields, the description says nothing about platform-varying fee models, but the schema's per-parameter platform notes carry that load. No output schema exists, yet the description effectively states the returned quantity and its rounding, so the core gap is the absence of cross-platform behavioral framing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 93%, so the schema already documents all 15 parameters, including which platform each applies to. The description adds no parameter meaning beyond that, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific computation — the lowest price that leaves at least the target amount after fees — with a clear rounding policy. This makes it distinguishable in spirit from a forward fee calculator, but it never names or contrasts the siblings (fee, payout) that an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the framing: use this when you have a desired take-home and need the gross price to charge. There is no explicit when-to-use/when-not guidance and no routing against fee, payout, or compare, so the agent must infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
compare - First observed
fee - First observed
payout - First observed
platforms - First observed
price_for_target
TDQS
Scored across 5 tools
Each tool targets a distinct calculation: single-sale fee, multi-unit payout, reference rates, reverse target pricing, and cross-platform comparison. However, fee and payout overlap on the core 'fees and net for a sale' purpose, so an agent could occasionally misselect between them without careful reading.
Names are all lowercase but mix conventions: fee, payout, and platforms are bare nouns, price_for_target uses snake_case, and compare is a bare verb. The set is readable but lacks a predictable pattern.
Five tools is well-scoped for a fee-calculation domain, with each tool earning its place and no redundant filler.
The surface covers the full lifecycle: lookup rates, compute fee/net for one sale, aggregate payout for multiple units, reverse-solve a target price, and compare across platforms. Gaps are minor, such as no regional/non-USD or historical rate support, which is excusable given the stated US/USD scope.
Maintenance
Related MCP Connectors
Exact US seller fees, payout and profit for eBay, Poshmark, Mercari, Etsy, Amazon and 7 more.
True net profit and breakeven price for eBay, Etsy, Poshmark, Mercari, Depop, Whatnot, TikTok Shop.
Hosted Etsy, eBay and Amazon FBA/FBM fee, profit, margin and target-price tools. Pay per result.
Processor fees, charge-to-net, invoice totals and proration. 3 of 6 tools free.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to calculate, compare, and recommend AI API costs from multiple providers, with support for currency conversion and platform fee analysis.1MIT
- AlicenseBqualityCmaintenanceEnables AI agents to calculate Etsy, eBay, and Stripe fees, compare platform fees, and analyze profit margins through MCP tools.141MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to price, package, launch and sustain passive income from digital products through eight deterministic tools covering monetization models, pricing tiers, revenue projections, listing copy, pricing pages, launch checklists, free distribution channels and maintenance cadences. Runs offline with no API keys.MIT
- AlicenseNot gradedqualityDmaintenanceItemises marketplace fees, shipping, and item costs to work out true net profit, margin, and ROI for sales on eBay, Etsy, Poshmark, Mercari, Depop, Whatnot, and TikTok Shop. It also ranks the same item across all seven platforms and finds the lowest list price that still hits a target profit, with dated fee schedules and custom fee overrides.MIT