{"name":"com.underpricedai/underpriced-ai","slug":"underpricedai-underpriced-ai","title":"Underpriced AI","description":"Resale prices for secondhand items from real eBay sold listings, with comps and a worth-it verdict.","url":"https://mcp.market/server/underpricedai-underpriced-ai","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":7,"ok":7,"last_checked_at":"2026-09-21T02:45:57.986Z","last_ok_at":"2026-09-21T02:45:57.986Z","latency_ms":335},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://underpricedai.com/mcp","version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://underpricedai.com/api/mcp"}],"packages":[],"tools":[{"name":"buy_credits","description":"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.","write_action":true,"price_micros":0,"input_schema":{"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"}},{"name":"get_scan_result","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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 USD, for a worth-it verdict.","type":"number","minimum":0,"maximum":100000}},"required":["scan_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_sold_comps","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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"}},{"name":"list_on_ebay","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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 USD. 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"}},{"name":"price_item","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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, in USD, for a worth-it verdict.","type":"number","minimum":0,"maximum":100000}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"worth_it","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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"}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-19T20:28:39.370Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:28:39.301Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 883ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://underpricedai.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":883,"serverInfo":{"name":"underpriced-ai","version":"1.1.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://underpricedai.com/icons/icon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}