# io.github.AronLEEdev/profitlee-mcp (npm · profitlee-mcp)

MCP server for the Profitlee ecommerce profit calculator (Amazon FBA/FBM + TikTok Shop).

- Trust score: 67/100 (medium)
- Change this week: −9
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `profitlee-mcp`: 67/100 (this document), [markdown](https://verifymcp.io/servers/aronleedev-profitlee-mcp/profitlee-mcp.md), [page](https://verifymcp.io/servers/aronleedev-profitlee-mcp/profitlee-mcp)

## Channel facts

- Registry: `npm`
- Package: `profitlee-mcp`
- Version: `0.2.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 38 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1122 tokens (~160/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add aronleedev-profitlee-mcp -- npx -y profitlee-mcp
```

### Codex

```bash
codex mcp add aronleedev-profitlee-mcp -- npx -y profitlee-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "aronleedev-profitlee-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "profitlee-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add aronleedev-profitlee-mcp --command npx --arg -y --arg profitlee-mcp
```

### Hermes

```yaml
mcp_servers:
  aronleedev-profitlee-mcp:
    command: "npx"
    args: ["-y", "profitlee-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "aronleedev-profitlee-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "profitlee-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 66, +33)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional] Licence: MIT

### 2026-07-31 (score 33, −25)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 58, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 76)

First indexed and scored.

## MCP tools (7)

### `calculate_profit` (~636 tokens)

Calculate profit

Calculate ecommerce profit for one product on Amazon FBA, Amazon FBM, TikTok Shop FBT, or TikTok Shop self-fulfilled. Returns per-unit fees, landed cost, gross margin, net margin after ads/returns/storage, and monthly P&L. Free to use; no Profitlee API token required.

Input parameters:

- `H` (number, required): Height. US: inches; DE/JP: cm.
- `L` (number, required): Length. US: inches; DE/JP: cm.
- `W` (number, required): Width. US: inches; DE/JP: cm.
- `adSalesShare` (number): Ad-attributed share of sales, 0-1. Omit to default to 1.
- `duty` (number, required): Import duty per unit.
- `fob` (number, required): Unit manufacturing / FOB cost in the marketplace currency.
- `headShip` (number, required): Inbound freight cost allocated per unit.
- `inboundOption` (string): Amazon FBA only: inbound placement option.
- `isApparel` (boolean, required): Whether the product is apparel (affects some fees).
- `mode` (string, required): Fulfillment mode. amazon: fba or fbm. tiktok_shop: fbt or self_fulfilled.
- `monthly3plStorage` (number): FBM or TikTok self_fulfilled: total monthly 3PL storage.
- `monthlyVolume` (integer, required): Units sold per month.
- `outboundShipPerUnit` (number): FBM or TikTok self_fulfilled: outbound shipping per unit.
- `pickPackPerUnit` (number): FBM or TikTok self_fulfilled: pick & pack per unit.
- `platform` (string): Sales platform. Default: amazon.
- `ppcAcos` (number, required): Advertising ACoS as a 0-1 decimal (0.15 = 15%).
- `price` (number, required): Selling price per unit (gross; VAT-inclusive for DE/JP).
- `referralCategory` (string|null): Advanced: a category slug that overrides referralPct. Leave unset and use referralPct.
- `referralPct` (number, required): Referral/commission fee as a 0-1 decimal (0.15 = 15%). Preferred.
- `region` (string, required): Marketplace. US uses inches+pounds; DE/JP use cm+kg.
- `returnRate` (number, required): Return rate as a 0-1 decimal (0.05 = 5%).
- `storageMonths` (number): Amazon FBA only: number of months in storage.
- `storageMonthsPastFree` (number): TikTok fbt only: months stored past the 60-day free window (0 if shipped before it ends).
- `storageSeason` (string): Amazon FBA only: storage season (octDec is the Q4 peak).
- `unsellableReturnRate` (number): Unsellable share of returned units, 0-1. Omit to default to 1.
- `weight` (number, required): Unit weight. US: pounds; DE/JP: kg.

Output parameters:

- `result`: Profit calculation result from Profitlee, including fee breakdowns, landed cost, gross/net margin, and monthly P&L fields.

### `list_scenarios` (~52 tokens)

List saved scenarios

List saved Profitlee profit scenarios for the authenticated Pro account. Use this before get_scenario, update_scenario, or delete_scenario when you need a scenario id. Requires PROFITLEE_API_TOKEN.

Output parameters:

- `response`: Profitlee API response containing the caller's saved scenarios and their scenario metadata.

### `get_scenario` (~60 tokens)

Get a scenario

Fetch one saved Profitlee scenario by id, including the original calculator inputs and the computed profit output. Requires PROFITLEE_API_TOKEN.

Input parameters:

- `id` (string, required): Saved Profitlee scenario id returned by list_scenarios or save_scenario.

Output parameters:

- `response`: Profitlee API response for one saved scenario, including scenario inputs and computed outputs.

### `save_scenario` (~79 tokens)

Save a scenario

Create a saved Profitlee scenario from a scenario name and calculator inputs. Profitlee validates the inputs and computes outputs server-side. Requires PROFITLEE_API_TOKEN.

Input parameters:

- `inputs` (object, required): Calculator inputs using the same field meanings and units as calculate_profit.
- `name` (string, required): Human-readable scenario name, up to 120 characters.

Output parameters:

- `response`: Profitlee API response confirming the saved scenario create, update, or delete operation.

### `update_scenario` (~106 tokens)

Update a scenario

Update an existing Profitlee scenario by id. Pass name to rename it, inputs to replace calculator inputs and recompute outputs, or both. Requires PROFITLEE_API_TOKEN.

Input parameters:

- `id` (string, required): Saved Profitlee scenario id returned by list_scenarios or save_scenario.
- `inputs` (object): Optional replacement calculator inputs using the same field meanings and units as calculate_profit.
- `name` (string): Optional new scenario name, up to 120 characters.

Output parameters:

- `response`: Profitlee API response confirming the saved scenario create, update, or delete operation.

### `delete_scenario` (~61 tokens)

Delete a scenario

Delete one saved Profitlee scenario by id. This permanently removes the saved scenario from the authenticated Pro account. Requires PROFITLEE_API_TOKEN.

Input parameters:

- `id` (string, required): Saved Profitlee scenario id returned by list_scenarios or save_scenario.

Output parameters:

- `response`: Profitlee API response confirming the saved scenario create, update, or delete operation.

### `copy_scenario` (~128 tokens)

Copy a scenario

Duplicate an existing Profitlee scenario into a new one. Profitlee reads the source inputs server-side and recomputes outputs, so the copy reflects the current fee tables. The new name defaults to "Copy of <source name>" unless you pass name. Counts against the saved-scenario limit. Requires PROFITLEE_API_TOKEN.

Input parameters:

- `id` (string, required): Saved Profitlee scenario id returned by list_scenarios or save_scenario.
- `name` (string): Optional name for the copy, up to 120 characters. Defaults to "Copy of <source name>".

Output parameters:

- `response`: Profitlee API response confirming the saved scenario create, update, or delete operation.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/aronleedev-profitlee-mcp/profitlee-mcp#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 66
- 2026-08-01: 33
- 2026-07-31: 33
- 2026-07-30: 58
- 2026-07-28: 76
- 2026-07-27: 76

## Links

- npm package: https://www.npmjs.com/package/profitlee-mcp
- Socket report: https://socket.dev/npm/package/profitlee-mcp
- Repository: https://github.com/AronLEEdev/profitlee-mcp
- Changelog RSS feed: https://verifymcp.io/servers/aronleedev-profitlee-mcp/profitlee-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/aronleedev-profitlee-mcp/profitlee-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/aronleedev-profitlee-mcp/profitlee-mcp
