Sorsa
Amazon FBA arbitrage toolkit: product analysis, deal feeds, price alerts and sourcing management.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"sorsa": {
"url": "https://sorsa.app/mcp"
}
}
}Puntos de conexión remotos
https://sorsa.app/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (56)
⚪analyse_product(asin, domain)
Quick analysis of an Amazon product by ASIN: title, brand, current/90-day pricing, sales rank and estimated monthly sales, FBA fees and profit basics. Call this first whenever the user asks about a specific ASIN. Costs the user 1 analyse credit unless cached. Domain is the Amazon marketplace: GB, US, DE, FR, ES or IT.
Esquema de entrada
{
"type": "object",
"properties": {
"asin": {
"title": "Asin",
"type": "string"
},
"domain": {
"default": "GB",
"title": "Domain",
"type": "string"
}
},
"required": [
"asin"
],
"title": "analyse_productArguments"
}⚪analyse_product_full(asin, domain)
Full analysis of an Amazon product by ASIN — everything in analyse_product plus seller/stock breakdown, buy-box history and variations. Slower and heavier than analyse_product; use when the user wants seller-level or historical detail in one shot. Costs 1 analyse credit unless the ASIN was analysed in the last 24 hours.
Esquema de entrada
{
"type": "object",
"properties": {
"asin": {
"title": "Asin",
"type": "string"
},
"domain": {
"default": "GB",
"title": "Domain",
"type": "string"
}
},
"required": [
"asin"
],
"title": "analyse_product_fullArguments"
}🟢get_product_sellers(asin, domain)
Current sellers and their stock levels for an Amazon ASIN. Call when the user asks who is selling a product, how many sellers there are, or how much stock competitors hold. Costs 1 analyse credit unless the ASIN was analysed in the last 24 hours.
Esquema de entrada
{
"type": "object",
"properties": {
"asin": {
"title": "Asin",
"type": "string"
},
"domain": {
"default": "GB",
"title": "Domain",
"type": "string"
}
},
"required": [
"asin"
],
"title": "get_product_sellersArguments"
}🟢get_international_prices(asin, domain)
Prices for the same ASIN across international Amazon marketplaces. Call when the user asks about cross-market price differences or EU arbitrage opportunities for a product. Costs 1 analyse credit unless the ASIN was analysed in the last 24 hours.
Esquema de entrada
{
"type": "object",
"properties": {
"asin": {
"title": "Asin",
"type": "string"
},
"domain": {
"default": "GB",
"title": "Domain",
"type": "string"
}
},
"required": [
"asin"
],
"title": "get_international_pricesArguments"
}🟢calculate_profit(sell_price, cost_price, referral_fee_pct, pick_and_pack_fee, category, ...)
Calculate Amazon FBA profit and ROI for given sell/cost prices using the full fee engine (tiered referral fees, digital services tax, VAT on fees). Call for what-if questions like 'what would I make selling at £24.99 if I buy at £12?'. Prices are in the marketplace currency.
Esquema de entrada
{
"type": "object",
"properties": {
"sell_price": {
"title": "Sell Price",
"type": "number"
},
"cost_price": {
"title": "Cost Price",
"type": "number"
},
"referral_fee_pct": {
"default": 15,
"title": "Referral Fee Pct",
"type": "number"
},
"pick_and_pack_fee": {
"default": 0,
"title": "Pick And Pack Fee",
"type": "number"
},
"category": {
"default": "",
"title": "Category",
"type": "string"
},
"domain": {
"default": "GB",
"title": "Domain",
"type": "string"
}
},
"required": [
"sell_price",
"cost_price"
],
"title": "calculate_profitArguments"
}⚪lookup_by_ean(code, domain)
Resolve a barcode (EAN/UPC, 8-14 digits) to an Amazon ASIN. Call when the user gives a barcode instead of an ASIN, then feed the returned ASIN into analyse_product.
Esquema de entrada
{
"type": "object",
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"domain": {
"default": "GB",
"title": "Domain",
"type": "string"
}
},
"required": [
"code"
],
"title": "lookup_by_eanArguments"
}🟢search_by_title(title, domain, limit)
Search Amazon by product title via Keepa and return the top matching ASINs with thumbnails. Call when the user names a product without an ASIN or barcode; present the candidates and let them pick before analysing. limit is 1-10.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"title": "Title",
"type": "string"
},
"domain": {
"default": "GB",
"title": "Domain",
"type": "string"
},
"limit": {
"default": 5,
"title": "Limit",
"type": "integer"
}
},
"required": [
"title"
],
"title": "search_by_titleArguments"
}🟢get_credits
The user's remaining monthly analyse and AI credits and the reset date. Call when the user asks about their usage limits, or after a credit-limit error from an analysis tool.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_creditsArguments"
}🟢get_deal_results(min_profit, min_roi, min_sales, max_rank, category, ...)
Search Sorsa's Amazon-to-Amazon (A2A) deal database — products found by the deal monitors with profit, ROI, sales rank and pricing. Call when the user asks for current deals, e.g. 'show me deals over £5 profit and 50% ROI'. Free to call. sort_field: timestamp, profit, roi_percentage, asin_rank or current_price.
Esquema de entrada
{
"type": "object",
"properties": {
"min_profit": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Profit"
},
"min_roi": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Roi"
},
"min_sales": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Sales"
},
"max_rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Rank"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Category"
},
"search_title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search Title"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"asin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asin"
},
"sort_field": {
"default": "timestamp",
"title": "Sort Field",
"type": "string"
},
"sort_direction": {
"default": "desc",
"title": "Sort Direction",
"type": "string"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "get_deal_resultsArguments"
}🟢get_notifications(show_checked)
The user's price-alert notifications from their A2A monitor tasks, grouped by task. Call when the user asks what alerts or notifications they have. show_checked: 'unchecked' (default), 'checked' or 'all'.
Esquema de entrada
{
"type": "object",
"properties": {
"show_checked": {
"default": "unchecked",
"title": "Show Checked",
"type": "string"
}
},
"title": "get_notificationsArguments"
}⚪mark_notification(notification_id, checked)
Mark one of the user's notifications as checked (reviewed) or unchecked. Call after the user says they've dealt with an alert, or to un-mark one.
Esquema de entrada
{
"type": "object",
"properties": {
"notification_id": {
"title": "Notification Id",
"type": "integer"
},
"checked": {
"default": true,
"title": "Checked",
"type": "boolean"
}
},
"required": [
"notification_id"
],
"title": "mark_notificationArguments"
}🟢get_oa_deals(retailer, search, min_roi, min_profit, max_rank, ...)
Profitable online-arbitrage (OA) deals: retail products matched to Amazon listings with profit and ROI. Call when the user asks about OA or retail sourcing opportunities. sort: roi, profit, price, newest, sell, rank, monthly_sold or sellers.
Esquema de entrada
{
"type": "object",
"properties": {
"retailer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Retailer"
},
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"min_roi": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Roi"
},
"min_profit": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Profit"
},
"max_rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Rank"
},
"min_monthly_sold": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Monthly Sold"
},
"sort": {
"default": "roi",
"title": "Sort",
"type": "string"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"per_page": {
"default": 25,
"title": "Per Page",
"type": "integer"
}
},
"title": "get_oa_dealsArguments"
}🟢get_store_results(store_id, page, per_page)
Products found by the user's storefront monitors (tracking other sellers' Amazon storefronts), newest first. Call when the user asks what their storefront monitors have found; optionally filter to one store_id. Paginated — 'total' in the response is the full count, request further pages for more. per_page max 200 (keep small: rows are wide).
Esquema de entrada
{
"type": "object",
"properties": {
"store_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Store Id"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"per_page": {
"default": 25,
"title": "Per Page",
"type": "integer"
}
},
"title": "get_store_resultsArguments"
}🟢get_dashboard_summary
The user's Sorsa dashboard summary — headline stats across their monitors and results. Call for a general 'how's it looking' overview before drilling into specific feeds.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_dashboard_summaryArguments"
}🟢get_price_monitors
List the user's ASIN price monitors (watched products with target prices). Call before creating one to avoid duplicates, or when the user asks what they're watching.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_price_monitorsArguments"
}🟡create_price_monitor(asin, target_price, source)
Watch an ASIN and alert the user when its price drops to the target. Call when the user says things like 'watch this' or 'alert me if it goes below £20'. source is the marketplace: Amazon UK, Amazon DE, Amazon IT, Amazon ES, Amazon FR, Amazon US or Amazon Business UK.
Esquema de entrada
{
"type": "object",
"properties": {
"asin": {
"title": "Asin",
"type": "string"
},
"target_price": {
"title": "Target Price",
"type": "number"
},
"source": {
"default": "Amazon UK",
"title": "Source",
"type": "string"
}
},
"required": [
"asin",
"target_price"
],
"title": "create_price_monitorArguments"
}🟡get_deal_tasks
List the user's A2A deal-monitor tasks (saved filters that generate notifications). Call before creating one, or when the user asks what monitors they have set up.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_deal_tasksArguments"
}🟡create_deal_task(task_name, category, source, min_profit, min_roi, ...)
Create an A2A deal-monitor task: the user gets notified whenever the deal feed finds products matching these filters. Call when the user says e.g. 'notify me about deals over £5 profit and 40% ROI in Toys'.
Esquema de entrada
{
"type": "object",
"properties": {
"task_name": {
"title": "Task Name",
"type": "string"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Category"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"min_profit": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Profit"
},
"min_roi": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Roi"
},
"min_monthly_sales": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Monthly Sales"
},
"max_asin_rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Asin Rank"
},
"keepa_drops": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Keepa Drops"
}
},
"required": [
"task_name"
],
"title": "create_deal_taskArguments"
}🟢get_storefront_monitors
List the Amazon storefronts (competitor sellers) the user is monitoring. Call before adding one, or when the user asks which storefronts they track.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_storefront_monitorsArguments"
}🟡add_storefront_monitor(storefront_id)
Start monitoring another Amazon seller's storefront — new products they list will appear in the user's store results. storefront_id is the Amazon seller ID (e.g. A1B2C3D4E5F6G7, found in the seller page URL). Call when the user says 'track this seller'.
Esquema de entrada
{
"type": "object",
"properties": {
"storefront_id": {
"title": "Storefront Id",
"type": "string"
}
},
"required": [
"storefront_id"
],
"title": "add_storefront_monitorArguments"
}🟢get_storefront_stats
Summary stats for the user's storefront monitors (stores tracked, result counts). Call for an overview before drilling into get_store_results.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_storefront_statsArguments"
}🟢get_items_sourced
The user's sourcing list — products they've found and are considering buying, with cost/profit projections and status. Call when the user asks about their buy list or sourcing pipeline.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_items_sourcedArguments"
}🟡add_to_sourcing_list(title, asin, cost, projected_sale_price, projected_profit, ...)
Add a product to the user's sourcing list (their buy list). Call when the user says 'add this to my buy list' — typically after analysing a product, passing through the numbers from the analysis. sourced_from is where they'd buy it (retailer/site).
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"title": "Title",
"type": "string"
},
"asin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asin"
},
"cost": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Cost"
},
"projected_sale_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Projected Sale Price"
},
"projected_profit": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Projected Profit"
},
"roi": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Roi"
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Company"
},
"sourced_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Sourced From"
},
"sales_rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sales Rank"
},
"monthly_sales": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Monthly Sales"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notes"
}
},
"required": [
"title"
],
"title": "add_to_sourcing_listArguments"
}🟢get_items_purchased
Items the user has actually purchased from their sourcing list, including listing status (SKU, listing errors). Call when the user asks what they've bought or about listing progress.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_items_purchasedArguments"
}🟢get_purchases(timeframe)
The user's logged purchase history. timeframe: all, day, week, month or year. Call when the user asks what they've bought recently.
Esquema de entrada
{
"type": "object",
"properties": {
"timeframe": {
"default": "all",
"title": "Timeframe",
"type": "string"
}
},
"title": "get_purchasesArguments"
}🟢get_purchase_stats
Purchase statistics: total spent, projected profit, items bought and ROI, broken down daily/monthly/yearly and by category and source. Call for questions like 'how much have I spent this month?'.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_purchase_statsArguments"
}🟢get_amazon_inventory(search, min_quantity, page, limit)
The user's live FBA inventory: SKUs, quantities, conditions. Call when the user asks what stock they have or about a specific SKU/product they sell. Requires their Amazon account to be connected (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"min_quantity": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Quantity"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "get_amazon_inventoryArguments"
}🟢get_amazon_orders(search, status, timeframe, date_from, date_to, ...)
The user's Amazon orders with fees and COGS-based profit. Call for questions like 'how are sales today?' or 'show orders for this SKU'. timeframe: today, yesterday, week, month; or use date_from/date_to (YYYY-MM-DD). Requires a connected Amazon account (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
},
"timeframe": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Timeframe"
},
"date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Date From"
},
"date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Date To"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "get_amazon_ordersArguments"
}🟢get_fba_shipments(search, status, page, limit)
The user's inbound FBA shipments with summary stats. Call when the user asks about shipments they've sent to Amazon. Requires a connected Amazon account (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "get_fba_shipmentsArguments"
}🟢get_fba_shipment_items(shipment_id)
The line items inside one FBA shipment (expected vs received quantities). Call after get_fba_shipments when the user asks what was in a specific shipment or whether everything was received.
Esquema de entrada
{
"type": "object",
"properties": {
"shipment_id": {
"title": "Shipment Id",
"type": "string"
}
},
"required": [
"shipment_id"
],
"title": "get_fba_shipment_itemsArguments"
}🟢get_fba_returns(search, disposition, page, limit)
The user's FBA customer returns with dispositions (sellable, damaged, etc). Call when the user asks about returns. Requires a connected Amazon account (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"disposition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disposition"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "get_fba_returnsArguments"
}🟢get_fba_refunds(search, page, limit)
Refunds issued to the user's customers. Call when the user asks about refunds or money returned to buyers. Requires a connected Amazon account (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "get_fba_refundsArguments"
}🟢get_fba_reimbursements(search, reason, page, limit)
Reimbursements Amazon has paid the user (lost/damaged stock etc). Call when the user asks what Amazon has paid them back. Requires a connected Amazon account (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Reason"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "get_fba_reimbursementsArguments"
}🟢get_reconciliation_summary
Totals of reclaimable money Sorsa has detected the user is owed by Amazon, broken down by claim type (shipment shortages, lost inventory, unreturned refunds...). Call for 'how much does Amazon owe me?'. Requires a connected Amazon account (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_reconciliation_summaryArguments"
}🟢get_reconciliation_claims(claim_type, status, page, limit)
Individual reclaim opportunities with evidence — what to claim from Amazon and why. Call after get_reconciliation_summary to list the actual claims. status: open, dismissed, filed or all. Requires a connected Amazon account (closed beta).
Esquema de entrada
{
"type": "object",
"properties": {
"claim_type": {
"default": "all",
"title": "Claim Type",
"type": "string"
},
"status": {
"default": "open",
"title": "Status",
"type": "string"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "get_reconciliation_claimsArguments"
}🟢get_analyse_history(limit)
The user's recent product analyses (ASIN, title, when). Call when the user asks what they looked at recently, or to re-find a product they mention having analysed. limit max 50.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
}
},
"title": "get_analyse_historyArguments"
}🟢get_oa_retailers
List the retailers available in the OA deals feed. Call to know which retailer names are valid filters for get_oa_deals.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_oa_retailersArguments"
}🟢get_restock_suggestions(lead_time_days, cover_days)
What the user should reorder now. Per-SKU sales velocity vs stock on hand -> days of cover left, a suggested reorder quantity and its potential profit. Call for 'what should I restock?' or 'what's running low?'. lead_time_days = how long a resupply takes to land; cover_days = days of stock the reorder should provide. Requires a connected Amazon account.
Esquema de entrada
{
"type": "object",
"properties": {
"lead_time_days": {
"default": 14,
"title": "Lead Time Days",
"type": "integer"
},
"cover_days": {
"default": 30,
"title": "Cover Days",
"type": "integer"
}
},
"title": "get_restock_suggestionsArguments"
}🟢get_aged_stock
Age profile of the user's on-hand FBA stock, bucketed by days on shelf (0-30, 31-90, 91-180, 181-365, 365+), with capital tied up and how much is aged 90+ days (long-term storage-fee risk). Call for 'what stock is old or at risk?' or 'how much capital is stuck in aged inventory?'. Requires a connected Amazon account.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_aged_stockArguments"
}🟢get_monthly_pnl(month, vat_registered)
Per-SKU profit & loss for one calendar month: revenue, Amazon fees, COGS, refunds and net profit, plus account totals. Call for 'what was my profit in <month>?' or 'break down last month's P&L'. month is 'YYYY-MM'. Requires a connected Amazon account.
Esquema de entrada
{
"type": "object",
"properties": {
"month": {
"title": "Month",
"type": "string"
},
"vat_registered": {
"default": false,
"title": "Vat Registered",
"type": "boolean"
}
},
"required": [
"month"
],
"title": "get_monthly_pnlArguments"
}🟢get_product_performance(days)
Per-SKU profitability over the last N days: units, revenue, profit, ROI, return rate, current price vs break-even and a selling-at-a-loss flag. Call for 'which products make or lose me money?' or 'what's selling below break-even?'. days 7-365. Requires a connected Amazon account.
Esquema de entrada
{
"type": "object",
"properties": {
"days": {
"default": 30,
"title": "Days",
"type": "integer"
}
},
"title": "get_product_performanceArguments"
}🟢get_best_sellers(months, top_n)
The user's own top-selling ASINs by net profit for each of the last N months, derived from their sales. Call for 'what are my best sellers?' or 'top products this year'. months up to 24, top_n up to 50. Requires a connected Amazon account.
Esquema de entrada
{
"type": "object",
"properties": {
"months": {
"default": 12,
"title": "Months",
"type": "integer"
},
"top_n": {
"default": 10,
"title": "Top N",
"type": "integer"
}
},
"title": "get_best_sellersArguments"
}🟢check_eligibility(asins, condition)
Check whether the user is allowed to sell (ungated for) one or more ASINs on their Amazon account. Call for 'am I ungated for this?' or 'can I sell these ASINs?'. Returns per-ASIN {state, gated, apply_link}. Uncached ASINs are queued for a fresh check, so re-call shortly for any still pending. Requires a connected Amazon account.
Esquema de entrada
{
"type": "object",
"properties": {
"asins": {
"items": {
"type": "string"
},
"title": "Asins",
"type": "array"
},
"condition": {
"default": "new_new",
"title": "Condition",
"type": "string"
}
},
"required": [
"asins"
],
"title": "check_eligibilityArguments"
}🟢start_a2a_finder_scan(asins, countries)
Start an A2A Finder scan: check a list of ASINs for profitable Amazon-to-Amazon flips across marketplaces (buy on one Amazon country, sell on another). Up to 100 ASINs. Optional `countries` = list of country codes to compare (e.g. ["UK","DE","FR"]); defaults to all. Uses the shared Keepa scan key (counts against the user's daily scan credits). Returns a job_id — poll get_a2a_finder_status(job_id) for results. Premium feature.
Esquema de entrada
{
"type": "object",
"properties": {
"asins": {
"items": {
"type": "string"
},
"title": "Asins",
"type": "array"
},
"countries": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Countries"
}
},
"required": [
"asins"
],
"title": "start_a2a_finder_scanArguments"
}🟢get_a2a_finder_status(job_id)
Status and results of an A2A Finder scan started with start_a2a_finder_scan. Returns progress % and, once complete, the profitable cross-marketplace flips found (per ASIN, per country).
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"title": "Job Id",
"type": "string"
}
},
"required": [
"job_id"
],
"title": "get_a2a_finder_statusArguments"
}🟢get_a2a_finder_jobs
List the user's recent A2A Finder scan jobs and their status. Call to find a job_id whose results to fetch.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_a2a_finder_jobsArguments"
}🟢start_wholesale_scan(products)
Start a Wholesale Scanner run against a supplier price list. Each item in `products` is a dict with 'title', 'price' (cost per unit), and 'ean' (barcode — needed to match, the default scan is EAN-based). Up to 500 items. Matches each product to Amazon and returns profit/ROI. Returns a job_id — poll get_wholesale_status(job_id) for results. Premium feature.
Esquema de entrada
{
"type": "object",
"properties": {
"products": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Products",
"type": "array"
}
},
"required": [
"products"
],
"title": "start_wholesale_scanArguments"
}🟢get_wholesale_status(job_id)
Status and results of a Wholesale Scanner run. Returns progress % and, once complete, each supplier product matched to Amazon with sell price, profit and ROI.
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"title": "Job Id",
"type": "string"
}
},
"required": [
"job_id"
],
"title": "get_wholesale_statusArguments"
}🟢get_wholesale_jobs
List the user's recent Wholesale Scanner jobs and their status. Call to find a job_id whose results to fetch.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_wholesale_jobsArguments"
}🟢start_reverse_source_scan(asins)
Start a Reverse Source scan: for each ASIN, search Google Shopping for a cheaper source than Amazon — i.e. where to buy the product to flip it. Up to 250 ASINs. Uses the shared Keepa scan key (counts against the user's daily scan credits). Returns a job_id — poll get_reverse_source_status(job_id) for results. Premium feature.
Esquema de entrada
{
"type": "object",
"properties": {
"asins": {
"items": {
"type": "string"
},
"title": "Asins",
"type": "array"
}
},
"required": [
"asins"
],
"title": "start_reverse_source_scanArguments"
}🟢get_reverse_source_status(job_id)
Status and results of a Reverse Source scan started with start_reverse_source_scan. Returns progress % and, once complete, the cheapest Google Shopping source found per ASIN (retailer, price, link).
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"title": "Job Id",
"type": "string"
}
},
"required": [
"job_id"
],
"title": "get_reverse_source_statusArguments"
}🟢get_reverse_source_jobs
List the user's recent Reverse Source scan jobs and their status. Call to find a job_id whose results to fetch.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_reverse_source_jobsArguments"
}🟢get_repricer_items(search, status, page, limit)
The user's repricer SKUs with live pricing state: current price, Buy Box price, lowest FBA price, cost/min/max, strategy, computed profit/ROI at the current price, floor price and stock. Call when the user asks what the repricer is doing, whether they hold the Buy Box on something, or why an item isn't repricing. search matches SKU or ASIN. status filters to one of: active, off, out_of_stock, needs_cog, needs_min, awaiting_fees, error, or 'attention' (needs_cog + needs_min + error). limit max 500. Read-only.
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
}
},
"title": "get_repricer_itemsArguments"
}🟢get_repricer_log(page, limit)
Recent repricer price changes, newest first: SKU, old → new price, the reason, the reference price it repriced against (Buy Box / lowest FBA) and whether the floor or ceiling capped the move. Call when the user asks what the repricer changed recently or why a price moved. limit max 500.
Esquema de entrada
{
"type": "object",
"properties": {
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
}
},
"title": "get_repricer_logArguments"
}🟡get_repricer_stats
Repricer dashboard summary: total/active SKU counts, per-status breakdown, Buy Box wins and win %, items matching the Buy Box exactly, units actively repricing and the last update time. Call first for broad questions like 'how's the repricer doing?'.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_repricer_statsArguments"
}🟢get_repricer_settings
The user's global repricer settings: whether repricing is globally enabled, seller ID, default strategy, default minimum ROI, allowed strategies and VAT registration. Read-only — changing settings is web-app only.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "get_repricer_settingsArguments"
}Prompts recomendados
get_product_sellersget_product_sellersadd_to_sourcing_listsearch_by_titlesearch_by_titleComunidad
Evidencia