Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Sorsa

REMOTE · SORSA.APP · SCANNED SEP 20

Amazon FBA arbitrage toolkit: product analysis, deal feeds, price alerts and sourcing management.

Available components

0 this week 70 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability76
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 4593 tokens (~82/item across 56 items; 56 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage67
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "get_fba_refunds" implies "refund" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 57 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Sorsa MCP server?

Sorsa is a hosted endpoint at https://sorsa.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · sorsa.app

# add to Claude Code
claude mcp add --transport http app-sorsa-sorsa 'https://sorsa.app/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "app-sorsa-sorsa": {
      "url": "https://sorsa.app/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "app-sorsa-sorsa": {
      "type": "http",
      "url": "https://sorsa.app/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.app-sorsa-sorsa]
url = "https://sorsa.app/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-sorsa-sorsa": {
      "type": "remote",
      "url": "https://sorsa.app/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add app-sorsa-sorsa --url 'https://sorsa.app/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  app-sorsa-sorsa:
    url: "https://sorsa.app/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "app-sorsa-sorsa": {
      "Transport": "http",
      "Url": "https://sorsa.app/mcp"
    }
  }
}
# add to Vellum
assistant mcp add app-sorsa-sorsa -t streamable-http -u 'https://sorsa.app/mcp'
// mcp.json
{
  "mcpServers": {
    "app-sorsa-sorsa": {
      "type": "http",
      "url": "https://sorsa.app/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 24 Aug 26 +1

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

  • 14 Aug 26 0
    • Tool “get_store_results” rewrote its description, which is the text the model reads security
    • “get_store_results” added an optional parameter “page” cosmetic
    • “get_store_results” added an optional parameter “per_page” cosmetic
  • 12 Aug 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • New tool “get_repricer_items” functional
    • New tool “get_repricer_log” functional
    • New tool “get_repricer_settings” functional
    • New tool “get_repricer_stats” functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 7 Aug 26 0
    • The server no longer declares the “experimental” capability functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://sorsa.app/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sorsa.app CN=YE2,O=Let's Encrypt,C=US 26 Aug 2026 24 Nov 2026 ECDSA 256 ECDSA-SHA384 55a6fdaa87ca1e195220ed84fa04f15cf13
SANs: *.sorsa.app, sorsa.app
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of sorsa.app. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
sorsa.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://sorsa.app/mcp Verified 200
http (plaintext) http://sorsa.app/mcp Inconclusive 404
MCP tools · 56 exposed · ~4,512 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_storefront_monitor ~87

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'.

NameTypeReqDescription
storefront_idstringyes

No output schema declared.

No examples provided.

add_to_sourcing_list ~133

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).

NameTypeReqDescription
asin
company
cost
monthly_sales
notes
projected_profit
projected_sale_price
roi
sales_rank
sourced_from
titlestringyes

No output schema declared.

No examples provided.

analyse_product ~103

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.

NameTypeReqDescription
asinstringyes
domainstring

No output schema declared.

No examples provided.

analyse_product_full ~97

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.

NameTypeReqDescription
asinstringyes
domainstring

No output schema declared.

No examples provided.

calculate_profit ~126

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.

NameTypeReqDescription
categorystring
cost_pricenumberyes
domainstring
pick_and_pack_feenumber
referral_fee_pctnumber
sell_pricenumberyes

No output schema declared.

No examples provided.

check_eligibility ~117

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.

NameTypeReqDescription
asinsarrayyes
conditionstring

No output schema declared.

No examples provided.

create_deal_task ~116

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'.

NameTypeReqDescription
category
keepa_drops
max_asin_rank
min_monthly_sales
min_profit
min_roi
source
task_namestringyes

No output schema declared.

No examples provided.

create_price_monitor ~100

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.

NameTypeReqDescription
asinstringyes
sourcestring
target_pricenumberyes

No output schema declared.

No examples provided.

get_a2a_finder_jobs ~40

List the user's recent A2A Finder scan jobs and their status. Call to find a job_id whose results to fetch.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_a2a_finder_status ~68

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).

NameTypeReqDescription
job_idstringyes

No output schema declared.

No examples provided.

get_aged_stock ~109

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_amazon_inventory ~82

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).

NameTypeReqDescription
limitinteger
min_quantity
pageinteger
search

No output schema declared.

No examples provided.

get_amazon_orders ~117

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).

NameTypeReqDescription
date_from
date_to
limitinteger
pageinteger
search
status
timeframe

No output schema declared.

No examples provided.

get_analyse_history ~61

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.

NameTypeReqDescription
limitinteger

No output schema declared.

No examples provided.

get_best_sellers ~90

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.

NameTypeReqDescription
monthsinteger
top_ninteger

No output schema declared.

No examples provided.

get_credits ~46

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_dashboard_summary ~45

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_deal_results ~169

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.

NameTypeReqDescription
asin
category
limitinteger
max_rank
min_profit
min_roi
min_sales
offsetinteger
search_title
sort_directionstring
sort_fieldstring
source

No output schema declared.

No examples provided.

get_deal_tasks ~47

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_fba_refunds ~64

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).

NameTypeReqDescription
limitinteger
pageinteger
search

No output schema declared.

No examples provided.

get_fba_reimbursements ~75

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).

NameTypeReqDescription
limitinteger
pageinteger
reason
search

No output schema declared.

No examples provided.

get_fba_returns ~70

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).

NameTypeReqDescription
disposition
limitinteger
pageinteger
search

No output schema declared.

No examples provided.

get_fba_shipment_items ~61

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.

NameTypeReqDescription
shipment_idstringyes

No output schema declared.

No examples provided.

get_fba_shipments ~70

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).

NameTypeReqDescription
limitinteger
pageinteger
search
status

No output schema declared.

No examples provided.

get_international_prices ~78

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.

NameTypeReqDescription
asinstringyes
domainstring

No output schema declared.

No examples provided.

get_items_purchased ~46

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_items_sourced ~48

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_monthly_pnl ~93

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.

NameTypeReqDescription
monthstringyes
vat_registeredboolean

No output schema declared.

No examples provided.

get_notifications ~64

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'.

NameTypeReqDescription
show_checkedstring

No output schema declared.

No examples provided.

get_oa_deals ~129

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.

NameTypeReqDescription
max_rank
min_monthly_sold
min_profit
min_roi
pageinteger
per_pageinteger
retailer
search
sortstring

No output schema declared.

No examples provided.

get_oa_retailers ~40

List the retailers available in the OA deals feed. Call to know which retailer names are valid filters for get_oa_deals.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_price_monitors ~46

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_product_performance ~89

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.

NameTypeReqDescription
daysinteger

No output schema declared.

No examples provided.

get_product_sellers ~84

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.

NameTypeReqDescription
asinstringyes
domainstring

No output schema declared.

No examples provided.

get_purchase_stats ~54

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?'.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_purchases ~46

The user's logged purchase history. timeframe: all, day, week, month or year. Call when the user asks what they've bought recently.

NameTypeReqDescription
timeframestring

No output schema declared.

No examples provided.

get_reconciliation_claims ~91

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).

NameTypeReqDescription
claim_typestring
limitinteger
pageinteger
statusstring

No output schema declared.

No examples provided.

get_reconciliation_summary ~67

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).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_repricer_items ~173

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.

NameTypeReqDescription
limitinteger
pageinteger
search
status

No output schema declared.

No examples provided.

get_repricer_log ~96

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.

NameTypeReqDescription
limitinteger
pageinteger

No output schema declared.

No examples provided.

get_repricer_settings ~56

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_repricer_stats ~69

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?'.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_restock_suggestions ~113

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.

NameTypeReqDescription
cover_daysinteger
lead_time_daysinteger

No output schema declared.

No examples provided.

get_reverse_source_jobs ~35

List the user's recent Reverse Source scan jobs and their status. Call to find a job_id whose results to fetch.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_reverse_source_status ~62

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).

NameTypeReqDescription
job_idstringyes

No output schema declared.

No examples provided.

get_store_results ~107

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).

NameTypeReqDescription
pageinteger
per_pageinteger
store_id

No output schema declared.

No examples provided.

get_storefront_monitors ~46

List the Amazon storefronts (competitor sellers) the user is monitoring. Call before adding one, or when the user asks which storefronts they track.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_storefront_stats ~38

Summary stats for the user's storefront monitors (stores tracked, result counts). Call for an overview before drilling into get_store_results.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_wholesale_jobs ~34

List the user's recent Wholesale Scanner jobs and their status. Call to find a job_id whose results to fetch.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_wholesale_status ~51

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.

NameTypeReqDescription
job_idstringyes

No output schema declared.

No examples provided.

Common questions

What is the Sorsa MCP server?

Sorsa is an MCP server listed in the public MCP registry as app.sorsa/sorsa. Amazon FBA arbitrage toolkit: product analysis, deal feeds, price alerts and sourcing management. This page covers its hosted endpoint (https://sorsa.app/mcp).

Is the Sorsa MCP server safe to use?

Sorsa scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Sorsa MCP server expose?

Sorsa exposes 56 tools: analyse_product, analyse_product_full, get_product_sellers, get_international_prices, calculate_profit, and 51 more. Their descriptions and schemas cost roughly 4,512 tokens of context every time the server is loaded.

Does the Sorsa MCP server require authentication?

No. We connected to Sorsa without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Sorsa MCP server still maintained?

Sorsa is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.