Underpriced AI

Real eBay sold prices by photo or description. Signed-in photo scans: your currency and eBay drafts.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
97%
命名の品質
90%
ポイズニングのリスク
60%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(3)

  • HIGHTool poisoning patterns detected
  • LOWTool description contains role marker that could confuse chat modelsget_scan_result 内
  • LOWTool description contains role marker that could confuse chat modelslist_on_ebay 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,378トークン数(ツール定義)
~1.4 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.08%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "underpriced-ai": {
      "url": "https://underpricedai.com/api/mcp"
    }
  }
}

リモートエンドポイント

https://underpricedai.com/api/mcpstreamable-http

できること

ツール一覧

ツール(6)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢price_item(description, image_url, condition, cost)

What a secondhand item sells for on eBay US: a calibrated estimate with a range, the recent real sold comps behind it, three list prices (fast, market, patient) with the 14-day sell chance, the net after eBay fees, and a worth-it verdict when you pass what the user would pay. Give image_url (a public https link to a photo) whenever one exists; a description alone works but reads less.

入力スキーマ

{
  "type": "object",
  "properties": {
    "description": {
      "description": "What the item is: brand, model or pattern, size, any marks, completeness.",
      "type": "string",
      "minLength": 3,
      "maxLength": 1200
    },
    "image_url": {
      "description": "Public https URL of a photo of the item. Preferred over description alone.",
      "type": "string",
      "maxLength": 2000,
      "format": "uri"
    },
    "condition": {
      "description": "Condition as the user states it.",
      "type": "string",
      "enum": [
        "New",
        "Like New",
        "Good",
        "Fair",
        "Poor"
      ]
    },
    "cost": {
      "description": "What the user paid or would pay for it, for a worth-it verdict: in USD, or in the seller's own currency for a photo scan on a signed-in account.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_sold_comps(query)

The most recent real eBay US sales 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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "3 to 6 specific words, brand and model first, like an eBay search."
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢worth_it(expected_sale_price, cost)

Net after eBay fees and a verdict (worth it / thin / pass) for an expected sale price and what the user would pay. Pure arithmetic; use price_item first when the sale price is unknown.

入力スキーマ

{
  "type": "object",
  "properties": {
    "expected_sale_price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000,
      "description": "Expected eBay sale price in USD."
    },
    "cost": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000,
      "description": "What the user would pay for the item in USD."
    }
  },
  "required": [
    "expected_sale_price",
    "cost"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢buy_credits(pack)

Ways to pay for Underpriced AI scans. Without a choice it lists the credit packs (credits never expire), pay as you go ($0.25 per photo scan on a monthly bill, no cap), and for a signed-in user their balance. With a pack it returns a Stripe Checkout link for that user; with PAY_AS_YOU_GO it returns the link that puts a card on file so scans just run from then on. Anonymous callers get the pricing page link.

入力スキーマ

{
  "type": "object",
  "properties": {
    "pack": {
      "description": "A pack to buy, or PAY_AS_YOU_GO. Leave empty to see the options and the balance first.",
      "type": "string",
      "enum": [
        "PACK_5",
        "PACK_15",
        "PACK_30",
        "PAY_AS_YOU_GO"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_scan_result(scan_id, cost)

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

入力スキーマ

{
  "type": "object",
  "properties": {
    "scan_id": {
      "type": "string",
      "minLength": 8,
      "maxLength": 200,
      "description": "The account.scanId from a signed-in price_item, or the saved-scan link."
    },
    "cost": {
      "description": "What the user would pay, in the scan's currency (price.currency), for a worth-it verdict.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "required": [
    "scan_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡list_on_ebay(scan_id, price, condition, title)

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. It never publishes anything; publishing happens in the app after the user checks the listing.

入力スキーマ

{
  "type": "object",
  "properties": {
    "scan_id": {
      "type": "string",
      "minLength": 8,
      "maxLength": 200,
      "description": "The account.scanId that price_item returned for a photo scan on this account (the saved-scan link works too)."
    },
    "price": {
      "description": "List price in the scan's currency (price.currency from price_item). Leave empty for the scan's market list price.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "condition": {
      "description": "Overrides the condition read from the photo.",
      "type": "string",
      "enum": [
        "New",
        "Like New",
        "Good",
        "Fair",
        "Poor"
      ]
    },
    "title": {
      "description": "Overrides the generated listing title (80 characters, eBay's limit).",
      "type": "string",
      "minLength": 3,
      "maxLength": 80
    }
  },
  "required": [
    "scan_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 6 件
検証済みバージョンは記録されていませんツール 6 件