Shop Nobi is an online search engine. Its current public MCP tools search product listings from curated online stores and find existing Shop Nobi product-topic pages. They do not search services or all web offerings. The server is read-only and cannot place orders or take payments.
Connect
Remote Streamable HTTP endpoint:
https://api.nobi.ai/v1/shop/mcpNo Shop Nobi sign-in, API key or OAuth is required. Your MCP client may require its own account and tool approval. Discover the live tool schemas with
tools/list; do not assume this page overrides the server schema. See the setup page.Search products
Call
search_products with a nonblank plain-language query (at most 500 characters). Optional limit is an integer from 1 to 20; the default is 10.For example, ask the client to call
search_products with {"query":"linen dress for a summer wedding under $150","limit":5}. A successful tool result has isError: false and structuredContent.products, an array that may be empty. For text-only MCP clients, content[0].text contains JSON with the same structured data.Each product has:
Field | Meaning |
name | Product name. |
store | Selling store name, or null when unavailable. |
price | Numeric price, or null when unavailable. |
currency | Currency code for the price. |
inStock | Catalog stock signal; verify on the seller's site. |
imageUrl | Image URL, or null. |
url | Nobi click link forwarding to the seller's product page, or null. It is not the raw merchant URL. |
paidLink | Whether the link is an affiliate link. |
linkLabel | Disclosure text when supplied, or null. Show it beside the corresponding link. |
Do not invent a price, seller, image or link for a
null field. Do not claim a result can be bought if url is missing. When paidLink is true, retain the supplied linkLabel beside the link. Price, stock and delivery can change, so confirm them on the seller's site.Parse a search result
This example accepts a structured MCP result or a text-only result. It keeps tool errors and temporary busy responses distinct from a genuine empty search.
function readSearchResult(result) { if (result.isError) throw new Error(result.content?.[0]?.text || "Search failed"); const text = result.content?.find(item => item.type === "text")?.text; const data = result.structuredContent ?? (text ? JSON.parse(text) : null); if (!Array.isArray(data?.products)) throw new Error("Search result has no products array"); if (data.products.length === 0 && data.message) return { status: "unavailable", message: data.message }; return { status: "ok", products: data.products }; }
For each returned product, show only available fields. If a link has a
linkLabel, show it beside that link.Find an existing Shop Nobi page
Call
find_shop_nobi_page with a nonblank product topic of at most 200 characters, for example {"topic":"linen dresses"}. This tool finds an existing page for an exact topic; it does not search products.The structured result has
found and page. If found is false, page is null; do not substitute a broader page. If true, page has title, nullable description, url, and exactMatch: true.Errors and limits
Check
isError before parsing. An error result contains explanatory text and may have no structuredContent; do not treat it as a genuine zero-result search. A busy response may return an empty products array with a message asking you to try later. Avoid repeated rapid calls.The server searches Shop Nobi's current product index, not the general web. Results need independent verification before purchase. Read Shop Nobi's privacy policy for data handling.