Uneed (uneed.best) for agents: Products for sale; Community rankings; Recent launches; Search products — through Unbrowse's scoped MCP for uneed.best (unofficial), which replays uneed.best's own...
Uneed as tools for your agent. Unofficial: not affiliated with or endorsed by uneed.best. Unbrowse compiled these from uneed.best's own requests: each call replays the site's first-party API server-side and returns a verified result. No scraping of rendered pages, no browser on your side, no uneed.best API key.
This server is a tool scope holding only uneed.best: its compiled tools plus the Unbrowse tools that run them, so the agent's tool list stays small and every call stays on uneed.best.
uneed.best also runs its own MCP server: https://mcp.uneed.best/mcp (open; its read-only tools are among the tools below). For anything that changes your uneed.best data, use that server directly.
claude mcp add --transport http uneed-best https://unbrowse.ai/mcp/uneed.best
codex mcp add uneed-best --url https://unbrowse.ai/mcp/uneed.best && codex mcp login uneed-best
{"mcpServers":{"uneed-best":{"url":"https://unbrowse.ai/mcp/uneed.best"}}}
The first connect signs in to Unbrowse with OAuth (free tier, only verified results count). For scripts, send Authorization: Bearer $UNBROWSE_API_KEY (key from https://unbrowse.ai/app/keys; keep it in a secret manager, never in config you commit).
If none of the tools below are in this session's tool list, the server is not connected or not signed in: say so and stop. Do not fetch uneed.best some other way and present it as this skill's result.
mcp_uneed_best__mcp_list_products_for_sale — Products for saleUse this when the user wants to buy a SaaS, micro SaaS or side project, or asks which businesses are for sale. Lists products their makers put up for acquisition on uneed.best, newest listing first, with asking price and trailing twelve-month revenue and profit when the maker disclosed them. Optionally filter by category, maximum price or minimum revenue, and include recently sold ones for comparables. Use get_product on a slug for the full profile; buyers contact the seller from the product page on uneed.best. The site's own MCP tool list_products_for_sale (https://mcp.uneed.best/mcp). Inputs: include_sold (optional) e.g. false; limit (optional) e.g. 20. Returns listings. Read-only on mcp.uneed.best.
include_sold (boolean) — Also return recently sold products (price and listing date only, no financials) as comparableslimit (integer)select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{"include_sold":"{\"include_sold\":false,\"limit\":20}","limit":20}
mcp_uneed_best__mcp_get_trending — Community rankingsUse this when the user asks what is trending, popular or winning on uneed.best. Returns the community-voted rankings for a period: 'daily' | 'weekly' | 'monthly' | 'yearly'. Rankings cover products LAUNCHED in the period, ordered purely by summed community vote value — paid placement is not a factor; weeks are ISO weeks (Monday-Sunday) anchored to America/Los_Angeles, the launch timezone. Pass date (YYYY-MM-DD) to get the period containing that date (e.g. a past week's winners); omit it for the current period. Each entry's rank is its position in the leaderboard. The site's own MCP tool get_trending (https://mcp.uneed.best/mcp). Inputs: period e.g. "daily"; limit (optional) e.g. 20. Returns period, date, ranking. Read-only on mcp.uneed.best.
period (string, required)limit (integer)select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{"period":"{\"period\":\"daily\",\"limit\":20}","limit":20}
mcp_uneed_best__mcp_get_recent_launches — Recent launchesUse this when the user asks what is new or what launched recently. Lists the most recent product launches on uneed.best, newest first, optionally filtered by category (slug or name, see list_categories) and/or tag slug. Ordered strictly by launch date — paid placement is not a factor. Combine with get_trending to know which of them the community voted up. The site's own MCP tool get_recent_launches (https://mcp.uneed.best/mcp). Inputs: limit (optional) e.g. 20. Returns launches. Read-only on mcp.uneed.best.
limit (integer)select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{"limit":"{\"limit\":20}"}
mcp_uneed_best__mcp_search_products — Search productsUse this when the user is looking for a digital tool or product by need, keyword or name. Searches uneed.best's directory of thousands of tools (SaaS, AI, dev, design, marketing...) with full-text and typo-tolerant matching over names, descriptions and tags. Results are ordered by relevance and popularity only — paid placement never affects the order here. premium: true on a result means that product pays for featured placement on the Uneed website; surface it as a disclosure, not as a quality signal. Use a result's slug with get_product for the full profile, deals and community stats. The site's own MCP tool search_products (https://mcp.uneed.best/mcp). Inputs: query e.g. "email marketing"; limit (optional) e.g. 10. Returns query, results. Read-only on mcp.uneed.best.
query (string, required) — Search terms, e.g. "email marketing" or a product namelimit (integer)select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{"query":"{\"query\":\"email marketing\",\"limit\":10}","limit":10}
mcp_uneed_best__mcp_list_deals — Active dealsUse this when the user asks about discounts, promo codes or deals on digital products. Lists the active offers published by makers on uneed.best, each attached to the product it applies to (name, slug, URL, category). Optionally filter by category. Use get_product on a deal's slug for the full product profile. The site's own MCP tool list_deals (https://mcp.uneed.best/mcp). No inputs. Returns deals. Read-only on mcp.uneed.best.
select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{}
mcp_uneed_best__mcp_list_categories — List categoriesUse this when you need the valid category values before filtering, or when the user asks what Uneed covers. Lists uneed.best's product categories with their slug, description and number of listed products. Feed the slug or name to the get_recent_launches and list_deals filters. The site's own MCP tool list_categories (https://mcp.uneed.best/mcp). No inputs. Returns categories. Read-only on mcp.uneed.best.
select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{}
uneed_best__get_posts — Read the latest product launchesRead the latest product launches. No inputs. Returns data. Read-only on uneed.best.
select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{}
uneed_best__read_page — Read a uneed.best tool pageRead a uneed.best tool page. Inputs: tool. Returns the page's title, readable text and links. Read-only on uneed.best.
tool (string, required)select (array) — Keep only these parts of the result: dots walk keys, [] maps over a list, a final {a,b} keeps several keys (e.g. "results[].{title,url}"). Unmatched paths come back in selectMissing.{"tool":"<tool>"}
Always there too: unbrowse.run (a task on uneed.best in plain words), unbrowse.inspect, unbrowse.resume, unbrowse.scrape and unbrowse.map (any page on uneed.best), and the recorded cloud browser unbrowse.browse.open → unbrowse.browse.act → unbrowse.browse.finish. Hosts that reject dotted names show them with _ (unbrowse_run).
status. succeeded carries the verified result. input_required is not a failure: answer the open fields with unbrowse.resume {runId, answers} on the same run.unbrowse.run {task}. It fails with no_capability when nothing is compiled for that yet: do it once with unbrowse.browse.open on uneed.best → unbrowse.browse.act → unbrowse.browse.finish, which compiles a new tool this server lists next time. Anything off uneed.best is refused here (not_in_scope): use the general Unbrowse server for that.unbrowse.browse.act with action: "autofill" fills uneed.best's login from their Unbrowse password manager.succeeded result says. outcome_unknown means a change may have happened: check before retrying. Posting, buying, sending or deleting needs the user's go-ahead.Every tool is also a REST call:
curl -s https://unbrowse.ai/api/v1/sites/mcp.uneed.best/call/mcp_uneed_best__mcp_list_products_for_sale \
-H "authorization: Bearer $UNBROWSE_API_KEY" -H "content-type: application/json" \
-d '{"include_sold":"{\"include_sold\":false,\"limit\":20}","limit":20}'
OpenAPI: https://unbrowse.ai/api/v1/sites/mcp.uneed.best/openapi.json. Every other site: the general Unbrowse skill (https://github.com/unbrowse-ai/unbrowse) and https://unbrowse.ai/mcp.