Profitlee-MCP Server
ProfitLee MCP is an MCP server for analyzing ecommerce and marketplace profitability. It helps users calculate net profit, profit margin, ROI, breakeven price, and fee-adjusted outcomes from product cost, selling price, shipping, ads, platform fees, and tax inputs. It also supports reusable profit scenarios so users can compare pricing and cost assumptions more easily.
Documentation
profitlee-mcp
An MCP server for Profitlee — compute country-accurate Amazon FBA/FBM and TikTok Shop profit margins, and manage saved scenarios, from any MCP client (Claude Desktop, Claude Code, Cursor, …).
calculate_profit is free and needs no token. The scenario tools require a Profitlee Pro API token.
MCP registry name:
io.github.AronLEEdev/profitlee-mcp
Quick start
Add to your MCP client config:
{
"mcpServers": {
"profitlee": {
"command": "npx",
"args": ["-y", "profitlee-mcp"],
"env": {
"PROFITLEE_API_TOKEN": "eck_live_xxx"
}
}
}
}
PROFITLEE_API_TOKEN is optional — omit the whole env block to use calculate_profit only. Create a token on your Profitlee account page to unlock the scenario tools.
Requires Node.js 20+.
Tools
| Tool | Auth | Description |
|---|---|---|
calculate_profit | none | Full per-unit cost stack, gross/net margin, and monthly P&L. |
list_scenarios | Pro token | List your saved scenarios. |
get_scenario | Pro token | Read one scenario (inputs + outputs) by id. |
save_scenario | Pro token | Save a named scenario from calculator inputs. |
update_scenario | Pro token | Rename and/or replace a scenario's inputs. |
delete_scenario | Pro token | Delete a scenario by id. |
calculate_profit inputs
Pick a platform + mode, give the product's physical and cost details, and Profitlee folds every fee into a single net margin. Rates are 0–1 decimals (e.g. 0.15 = 15%). US uses inches + pounds; DE/JP use cm + kg.
| Field | Notes |
|---|---|
platform | amazon (default) or tiktok_shop. |
region | us, de, or jp. |
mode | amazon: fba | fbm. tiktok_shop: fbt | self_fulfilled. |
L, W, H, weight | Dimensions + unit weight. |
fob, headShip, duty | Unit cost, inbound freight/unit, import duty/unit. |
price | Selling price (gross; VAT-inclusive for DE/JP). |
ppcAcos, returnRate | Ad ACoS and return rate (0–1). |
monthlyVolume | Units/month (scales the P&L). |
referralPct | Referral fee (0–1). Preferred over referralCategory. |
isApparel | Affects some fees. |
| mode-specific | FBA: inboundOption, storageMonths, storageSeason. FBM / TikTok self-fulfilled: outboundShipPerUnit, pickPackPerUnit, monthly3plStorage. TikTok FBT: storageMonthsPastFree. |
The Profitlee API is the source of truth for validation — incomplete or out-of-range inputs come back as a clear error listing the offending fields. Full field reference: https://profitlee.com/docs/api.
Environment variables
| Var | Required | Default | Purpose |
|---|---|---|---|
PROFITLEE_API_TOKEN | No | — | Pro token (eck_live_…); needed only for the scenario tools. |
PROFITLEE_BASE_URL | No | https://profitlee.com | Override the API origin (testing). |
How it works
The server is a thin wrapper over Profitlee's public HTTP API:
calculate_profit→POST /api/v1/calculate(public, no token).- scenario tools →
/api/v1/scenarios*(require the Pro token; the server fails fast with a clear message if it's missing).
No fee logic is reimplemented here, so results always match the live Profitlee calculator and current fee tables.
Development
npm install
npm test # vitest (27 tests)
npm run build # tsc -> dist/
npm run dev # run from source with tsx
Releasing
Maintainers: see PUBLISHING.md for npm publish + MCP registry steps. The registry manifest lives in server.json.