protogrid

Search / com.underpricedai/underpriced-ai

Underpriced AI

R0· no sign-in

Ask what a thrift find sells for. Real eBay sold comps, price range and net after fees.

v1.3.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality90strong
Trust83of 100
Uptime, 30 days100%
Latency p50791 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "underpriced-ai": {
      "type": "http",
      "url": "https://underpricedai.com/api/mcp/directory"
    }
  }
}
claude mcp add --transport http underpriced-ai https://underpricedai.com/api/mcp/directory
[mcp_servers.underpriced-ai]
url = "https://underpricedai.com/api/mcp/directory"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "underpriced-ai": {
      "type": "remote",
      "url": "https://underpricedai.com/api/mcp/directory",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "underpriced-ai": {
      "type": "http",
      "url": "https://underpricedai.com/api/mcp/directory"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=underpriced-ai&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdW5kZXJwcmljZWRhaS5jb20vYXBpL21jcC9kaXJlY3RvcnkifQ%3D%3D"
}
{
  "servers": {
    "underpriced-ai": {
      "type": "http",
      "url": "https://underpricedai.com/api/mcp/directory"
    }
  }
}
{
  "mcpServers": {
    "underpriced-ai": {
      "httpUrl": "https://underpricedai.com/api/mcp/directory"
    }
  }
}
extensions:
  "underpriced-ai":
    enabled: true
    name: "underpriced-ai"
    type: streamable_http
    uri: "https://underpricedai.com/api/mcp/directory"
    timeout: 300

Quality 90 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,496 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes19 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 2,496 tokens to load them all · tool set 0ea9eb2ee975 · tools last changed 2026-10-17 · checked 2026-10-20 18:38 UTC

Tool changes

  • list_on_ebaychangeddescription, input schema
    before

    For a signed-in user: turns a photo scan from price_item (account.scanId) into an inventory item with a draft eBay listing on their Underpriced AI account (title, list price defaulting to the market price, condition, description) and returns the link where they review and publish it in the app, plus whether eBay is connected and the connect link if not (connecting brings them back to the same item). It never publishes anything and only prepares eBay; publishing happens in the app after the user checks the listing, and until then the draft shows on the Sell tab under Not live yet.

    after · 88% of words in common

    For a signed-in user: turns a photo scan from price_item (account.scanId) into an inventory item with a draft eBay listing on their Underpriced AI account (title, list price defaulting to the market price, condition, description) and returns the link where they review and publish it in the app, plus whether eBay is connected and the connect link if not (connecting brings them back to the same item). If the item already has an unpublished eBay draft, it returns that draft unchanged and never overwrites it (draftKept); changes are made in the app. It never publishes anything and only prepares eBay; publishing happens in the app after the user checks the listing, and until then the draft shows on the Sell tab under Not live yet.

  • get_sold_compschangeddescription, input schema
    before

    The most recent real eBay US sales (sold comps) for a search query (brand, model or pattern, a few specific words), with the count, median and quartiles. Use when the user wants to see what actually sold and for how much.

    after · 63% of words in common

    The most recent real eBay US sales (sold comps) for a search query (brand, model or pattern, a few specific words), with the count, median and quartiles. Use when the user wants to see what actually sold and for how much. One search runs: the query as typed (a retail price with "$" in it is left out), with model or part_number appended only when the query does not already name it; with no query, brand plus model, or brand plus part_number.

  • price_itemchangedinput schema
  • list_on_ebaychangedannotations
  • get_scan_resultchangedannotations
  • buy_creditschangedannotations
  • worth_itchangedannotations
  • get_sold_compschangedannotations
  • price_itemchangedannotations
  • buy_creditschangeddescription, input schema
    before

    Ways to pay for Underpriced AI scans. Without a choice it lists the credit packs (5 to 250 scans, from $3; credits never expire) and, for a signed-in user, their balance. PACK_5, PACK_15 and PACK_30 can be bought here: with one it returns a Stripe Checkout link for that user. PAY_AS_YOU_GO is only for a signed-in plan subscriber whose plan scans run out (top-up scans, 25 cents each past the plan); it is listed only when the account can use it. Larger packs and monthly plans (whose unused scans carry over one month) are on the pricing page. Anonymous callers get the pricing page link.

    after · 78% of words in common

    Ways to pay for Underpriced AI scans. Without a choice it lists the credit packs (5 to 250 scans, from $3; credits never expire) and, for a signed-in user, their balance. PACK_5, PACK_15 and PACK_30 can be bought here: with one it returns a Stripe Checkout link for that user. PAY_AS_YOU_GO turns on the meter for a signed-in account: 25 cents for each photo pricing, billed monthly to the card on file; pay per answer with no plan needed, or the top-up past the plan's scans for a plan subscriber. Larger packs and monthly plans (whose unused scans carry over one month) are on the pricing page. Anonymous callers get the pricing page link.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-10d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://underpricedai.com/api/mcp/directory streamable-httpnoneyes100%791 ms2026-07-282026-10-20

Tools (6)

buy_creditsWays to pay for Underpriced AI scans. Without a choice it lists the credit packs (5 to 250 scans, from $3; credits never expire) and, for a signed-in user, their balance. PACK_5, PACK_15 and PACK_30 can be bought here: with one it returns a Stripe Checkout link for that user. PAY_AS_YOU_GO turns on the meter for a signed-in account: 25 cents for each photo pricing, billed monthly to the card on file; pay per answer with no plan needed, or the top-up past the plan's scans for a plan subscriber. Larger packs and monthly plans (whose unused scans carry over one month) are on the pricing page. Anonymous callers get the pricing page link.
get_scan_resultread-onlyFor a signed-in user: the finished result for a scan on their account, in the same shape as price_item, once the sold comps have landed in the background. Call it with the account.scanId a photo price returned when that result said comps were still loading (about 20 seconds later), or to re-read any saved scan.
get_sold_compsread-onlyThe most recent real eBay US sales (sold comps) for a search query (brand, model or pattern, a few specific words), with the count, median and quartiles. Use when the user wants to see what actually sold and for how much. One search runs: the query as typed (a retail price with "$" in it is left out), with model or part_number appended only when the query does not already name it; with no query, brand plus model, or brand plus part_number.
list_on_ebayFor a signed-in user: turns a photo scan from price_item (account.scanId) into an inventory item with a draft eBay listing on their Underpriced AI account (title, list price defaulting to the market price, condition, description) and returns the link where they review and publish it in the app, plus whether eBay is connected and the connect link if not (connecting brings them back to the same item). If the item already has an unpublished eBay draft, it returns that draft unchanged and never overwrites it (draftKept); changes are made in the app. It never publishes anything and only prepares eBay; publishing happens in the app after the user checks the listing, and until then the draft shows on the Sell tab under Not live yet.
price_itemWhat a secondhand item sells for on eBay: a calibrated estimate with a range, the recent real eBay sales behind it (sold comps, linked where the source gives a link), three list prices (fast, market, patient) with the 14-day sell chance, what the seller keeps after eBay fees, and a worth-it verdict when you pass what the user would pay. Description prices are eBay US in USD. A photo price (image_url, a public https link) needs the user signed in through the connector: it runs a real scan on their account, priced in their own eBay marketplace and currency (price.currency). Without sign-in, describe the item; a description works but reads less than a photo.
worth_itread-onlyWhat the seller keeps after eBay fees and a verdict (worth it / thin / pass) for an expected sale price and what the user would pay. Pure arithmetic in USD; use price_item first when the sale price is unknown.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.underpricedai/underpriced-ai",
  "title": "Underpriced AI",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://underpricedai.com/api/mcp/directory",
      "type": "streamable-http"
    }
  ],
  "version": "1.3.0",
  "websiteUrl": "https://underpricedai.com/mcp",
  "description": "Ask what a thrift find sells for. Real eBay sold comps, price range and net after fees."
}