-
Notifications
You must be signed in to change notification settings - Fork 65
Add BuyWhere — Product Search & Price Comparison MCP plugin #68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
BuyWhere
wants to merge
5
commits into
cursor:main
Choose a base branch
from
BuyWhere:add-buywhere-plugin
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| { | ||
| "name": "buywhere", | ||
| "displayName": "BuyWhere — Product Search & Price Comparison", | ||
| "version": "1.0.0", | ||
| "description": "Search 1.5M+ products across Shopee, Lazada, Amazon, Walmart, FairPrice, Carousell, and 20+ Southeast Asia and US e-commerce platforms. Compare prices, discover deals, and find best prices directly from Cursor.", | ||
| "author": { | ||
| "name": "BuyWhere", | ||
| "email": "hello@buywhere.ai" | ||
| }, | ||
| "homepage": "https://github.com/BuyWhere/buywhere", | ||
| "repository": "https://github.com/BuyWhere/buywhere", | ||
| "license": "MIT", | ||
| "keywords": [ | ||
| "shopping", | ||
| "price-comparison", | ||
| "ecommerce", | ||
| "southeast-asia", | ||
| "product-search", | ||
| "deals", | ||
| "mcp", | ||
| "singapore", | ||
| "lazada", | ||
| "shopee", | ||
| "amazon" | ||
| ], | ||
| "category": "productivity", | ||
| "tags": [ | ||
| "shopping", | ||
| "ecommerce", | ||
| "price-comparison", | ||
| "mcp-server" | ||
| ], | ||
| "skills": "./skills/" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| # BuyWhere — Product Search & Price Comparison | ||
|
|
||
| Search 1.5M+ products across Shopee, Lazada, Amazon, Walmart, FairPrice, Carousell, and 20+ Southeast Asia and US e-commerce platforms — directly from Cursor. | ||
|
|
||
| ## Installation | ||
|
|
||
| ``` | ||
| /add-plugin buywhere | ||
| ``` | ||
|
|
||
| ## MCP Server | ||
|
|
||
| Connects to the BuyWhere MCP endpoint at `https://api.buywhere.ai/mcp`, providing tools for: | ||
|
|
||
| - **search_products** — full-text search across 20+ platforms by keyword, category, price range, and location | ||
| - **get_deals** — find current deals and discounts | ||
| - **list_categories** — browse product categories | ||
| - **find_best_price** — compare prices across platforms for a given product | ||
|
|
||
| ## Quick start | ||
|
|
||
| Once installed, ask Cursor: | ||
|
|
||
| - "Find the best price for AirPods Pro in Singapore" | ||
| - "Show me deals on laptops under $800 on Lazada and Shopee" | ||
| - "Compare prices for Sony WH-1000XM5 across all platforms" | ||
| - "What are the top deals in electronics today?" | ||
|
|
||
| ## Coverage | ||
|
|
||
| | Market | Platforms | | ||
| |--------|-----------| | ||
| | Singapore | Shopee SG, Lazada SG, FairPrice, Carousell | | ||
| | US | Amazon, Walmart | | ||
| | Malaysia | Shopee MY, Lazada MY | | ||
| | Thailand | Shopee TH, Lazada TH | | ||
| | Vietnam | Shopee VN, Lazada VN | | ||
|
|
||
| ## Links | ||
|
|
||
| - [GitHub](https://github.com/BuyWhere/buywhere) | ||
| - [API Docs](https://api.buywhere.ai/openapi.json) | ||
| - [Website](https://buywhere.ai) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| { | ||
| "mcpServers": { | ||
| "buywhere": { | ||
| "url": "https://api.buywhere.ai/mcp" | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| --- | ||
| name: product-search | ||
| description: Search products, compare prices, and find deals across Shopee, Lazada, Amazon, Walmart, and 20+ Southeast Asia and US e-commerce platforms. Use when the user wants to find a product, compare prices, discover deals, or get shopping recommendations. | ||
| --- | ||
|
|
||
| # Product Search | ||
|
|
||
| ## Trigger | ||
|
|
||
| User wants to find a product, compare prices across platforms, find deals or discounts, or get shopping recommendations. | ||
|
|
||
| ## Workflow | ||
|
|
||
| 1. Identify the product, category, and target market (SG, US, MY, TH, VN). | ||
| 2. Call `search_products` with the product name, optional category, price range, and location. | ||
| 3. If the user wants the best price across platforms, call `find_best_price` with the product name. | ||
| 4. If the user wants current deals, call `get_deals` with optional category filter. | ||
| 5. Present results ranked by price, rating, or relevance as appropriate. | ||
| 6. Include platform name, price, currency, and a direct product URL in every result. | ||
|
|
||
| ## UTM Tracking | ||
|
|
||
| Append `?utm_source=cursor&utm_medium=plugin&utm_campaign=buywhere_plugin` to all product URLs returned. | ||
|
|
||
| ## Output Format | ||
|
|
||
| - List top 5 results with: platform, product name, price (with currency), rating, and URL | ||
| - Highlight the best price option | ||
| - Note any active deals or discounts | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UTM append instruction breaks URLs with existing params
Low Severity · Logic Bug
The UTM tracking instruction tells the agent to always append
?utm_source=cursor&utm_medium=plugin&utm_campaign=buywhere_pluginto product URLs. E-commerce URLs almost always already contain query parameters (e.g., item IDs, tracking tokens). Using a hardcoded?delimiter on those URLs produces malformed URLs with two?characters. The instruction needs to account for whether the URL already has a query string and use&accordingly.Reviewed by Cursor Bugbot for commit 7850f6b. Configure here.