shopino-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHOPINO_MCP_PROXY | No | HTTP proxy for every request, e.g. http://user:pass@host:port. System proxy variables are ignored on purpose; set this if you need a proxy. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sh_searchA | Search products across all shops by keyword: price to pay, discount, stock, selling shop. Use first for "price of X" / "where to buy X". Cheapest matches as one flat list: sh_find_cheapest. Variants (size, color, stock): sh_product. Next page: pass next_cursor back as cursor. |
| sh_find_cheapestA | Find the cheapest in-stock products for a keyword across all shops, one flat list sorted by price to pay. Use for the lowest price of X. Drops loose matches (match_all_words) and unpriced items. Price is the
cheapest variant: check size / color with sh_product. complete=false: more matches past |
| sh_browseA | List products of a category, shop, tag or curated listing, with sort, price range and filters. Use for "cheapest manteau in size L under 2,000,000 Toman", "newest of shop X", "biggest discounts in bags" (discounted_only + biggest_discount). With no category / shop / tag / listing it browses all shops. Ids: sh_categories, sh_shops, sh_brands; sizes: sh_filters. Next page: pass next_cursor back as cursor. |
| sh_filtersA | List the filter values sh_search / sh_browse accept: size systems and sizes, sorts, courier cities, and (with category_id) a category's sub-categories. Use before filtering by size or city. Price range is free (Toman); brand ids: sh_brands. No color filter works. |
| sh_categoriesA | List the category tree with ids, URL paths and levels, plus total product and shop counts. Use to get a category_id for sh_search / sh_browse / sh_find_cheapest. Without a query only levels up to max_level are listed; with a query every level is searched. |
| sh_brandsA | Without shop_id: featured official brand shops (browse one with sh_browse(shop_id=...)). With shop_id: the brands that shop sells, with ids for the brand_id filter of sh_browse (watch shops only). |
| sh_dealsA | List today's home-page deals (flash sale with end time, best sellers, themed rows), biggest discount first, plus running campaigns and shop discount codes. Use for "what's on sale". Open a campaign: sh_campaign(slug); a category's discounts: sh_browse(discounted_only=true, sort='biggest_discount'). |
| sh_campaignA | Open a campaign or landing page: its product rows (with prices) and tabs. A tab's source: |
| sh_productA | Get one product's full record: price, every color / size variant with its own price and stock, size guide, description, tags, the selling shop with trust signals, and the shop-site link. Use when the user picks a product, to check their size / color is in stock and the shop is trustworthy. Same item elsewhere: sh_similar. More from the shop: sh_browse(shop_id=...). Related: sh_browse(tag=...). |
| sh_similarA | Find products like this one at other shops (itself left out). Use when it is out of stock or too expensive, or to find the same item cheaper (kind='visual', sort='cheapest'). |
| sh_blog_searchA | Search the style blog (guides and model galleries), newest first; no query = latest posts. Use for what is in fashion or which model to choose; read a post with sh_blog_post(slug), then sh_search. |
| sh_blog_postA | Read one blog post as plain text, with its category id for sh_browse (after sh_blog_search). |
| sh_shopsA | Find shops by name, category group, gender or courier city, with rating, surveys, followers and product count. Use to get a shop_id for sh_shop / sh_browse / sh_search, or "best-known women's clothing shops in Tehran" (order='most_followed'). |
| sh_shopA | Get a shop's profile: ratings, buyer survey %, followers, product count, main categories, courier city, contacts and website. Use to judge whether a shop is trustworthy. Its products: sh_browse(shop_id=...) or sh_search(shop_id=...); its brands (watch shops): sh_brands. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose: keyword search, cheapest products, category/shop/tag browsing, filter metadata, categories, brands, deals, campaigns, product detail, similar products, blog search, blog post, shop search, and shop profile. The descriptions explicitly cross-reference related tools and give 'Use for' guidance that resolves any potential overlap between search, browse, and find_cheapest.
All tools share a consistent sh_ prefix and snake_case formatting, which is predictable and readable. However, the pattern is not strictly verb_noun: several tools are noun-based (sh_shop, sh_product, sh_campaign) while others use verbs (sh_search, sh_browse), so it falls short of perfect consistency.
14 tools are well-scoped for a shopping discovery server covering products, shops, deals, campaigns, and blog content. Each tool serves a distinct role without redundancy, and the count sits comfortably within the typical 3–15 range.
The surface covers core discovery workflows: product search, cheapest finding, filtered browsing, metadata lookups, product details, similar items, shops, deals, and blog content. Minor gaps remain, such as no explicit review or Q&A retrieval for products, but these are not critical for the primary discovery purpose.