makiti-mcp
Search and find the best prices on Amazon.ca, including scraping product search pages to retrieve live prices in CAD.
Search and find the best prices on Newegg.ca, scraping product search results for live prices and deals.
Search and find the best prices on Walmart.ca, scraping product search pages for real-time pricing and current promotions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@makiti-mcp compare iPhone 15 vs Samsung Galaxy S24 under $1000"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
đ Makiti â MCP Shopping Assistant
Makiti est un serveur MCP (Model Context Protocol) qui agit comme assistant shopping intelligent. Il sâappuie sur Hound pour chercher le web et scraper les retailers, et fournit des outils MCP pour :
đ rechercher des produits,
đ·ïž trouver le meilleur prix sur les retailers canadiens,
âïž comparer des items,
đ° trouver les meilleurs deals,
đ estimer lâhistorique de prix.
đ Installation
git clone https://github.com/seasayDev/makiti-mcp.git
cd makiti-mcp
npm installRelated MCP server: Agora MCP
âïž Configuration requise
Dépendance | Description |
Node.js >= 18 | Runtime requis |
Hound MCP | Serveur MCP de recherche web (wrapper Hermes) |
Hermes Agent | Pour consommer les outils Makiti via MCP |
Architecture
Makiti ne parle pas Ă Hound par HTTP : il spawn Hound en sous-processus et
communique en JSON-RPC stdio (protocole MCP), exactement comme le fait Hermes.
Le chemin du wrapper Hound est configurable via la variable d'environnement
HOUND_WRAPPER (défaut : /data/data/com.termux/files/home/.hermes/scripts/hound-wrapper.sh).
[ Agent / Hermes ] ââstdioââ> [ Makiti MCP ] ââspawnââ> [ Hound MCP ] ââ> webđ ïž Outils disponibles
product_search
Rechercher des produits sur le web avec filtres de prix, marque, retailer, condition. Les résultats sont triés du moins cher au plus cher quand un prix est détecté.
{
"query": "iPhone 15",
"max_price": 1200,
"brand": "Apple",
"retailer": "amazon.ca",
"condition": "new",
"limit": 10
}find_best_price â (nouveau)
Scraper directement les pages de recherche des retailers canadiens (Amazon.ca, Walmart.caâŠ)
pour trouver le prix le plus bas réel, lu en direct sur les sites.
Plus fiable que product_search car il lit les pages produits elles-mĂȘmes.
{
"query": "usb flash drive 128gb",
"retailers": ["amazon.ca", "walmart.ca"],
"limit": 5
}Retailers supportés : amazon.ca, walmart.ca, bestbuy.ca, canadiantire.ca, staples.ca, newegg.ca.
â ïž Best Buy Canada bloque le scraping automatisĂ© (HTTP 403) â les erreurs sont listĂ©es dans la rĂ©ponse.
product_compare
Comparer deux produits cĂŽte Ă cĂŽte : specs, prix, verdict.
{
"product_a": "iPhone 15",
"product_b": "Samsung Galaxy S24",
"category": "smartphone",
"budget": 1100
}find_deals
Trouver les deals/promo actifs pour un produit ou une catégorie (filtré sur la région Canada).
{
"query": "Nike running shoes",
"region": "Canada",
"retailer": "amazon.ca",
"limit": 10
}price_history
Suivre/estimer lâhistorique de prix dâun produit sur plusieurs retailers.
{
"product": "PlayStation 5",
"retailers": ["amazon.ca", "bestbuy.ca", "walmart.ca"],
"days_back": 90
}makiti_guide
Obtenir des conseils dâutilisation selon ton scĂ©nario shopping.
{
"scenario": "acheter un laptop sous 800 CAD"
}đ§ Leçons apprises (retour d'expĂ©rience rĂ©el)
Makiti a été mis à l'épreuve sur une vraie recherche (« meilleur prix clé USB 128GB Canada »). Voici ce que cette expérience a révélé, et comment le code a été corrigé.
Leçon 1 â Les filtres site: tuent les recherches Hound
ProblĂšme : product_search gĂ©nĂ©rait des requĂȘtes comme USB flash drive 128GB site:amazon.ca price â
0 résultat sur tous les moteurs de Hound.
Cause : les opĂ©rateurs site: combinĂ©s Ă des requĂȘtes longues font Ă©chouer les moteurs.
Correction :
plus aucun
site:dans les requĂȘtes ;les noms de retailers sont convertis en mots-clĂ©s (
amazon.caâamazon canada) ;les requĂȘtes sont gardĂ©es courtes (
< 8 mots).
Leçon 2 â Fallback automatique des moteurs de recherche
ProblÚme : pendant la session, les moteurs google et brave étaient bloqués
(engine_blocked), donnant 0 résultat pendant plusieurs minutes.
Correction : hound-client.js implémente un fallback en 3 paliers :
google, brave, duckduckgo, yahooduckduckgo, yahoo, qwant, mojeekstartpage, bing
Si un palier renvoie 0 résultat et des moteurs bloqués, on passe au palier suivant.
Leçon 3 â La recherche web seule ne suffit pas : il faut scraper les retailers
ProblÚme : les résultats web donnent des liens de blogs/deals, pas de prix fiables.
La méthode gagnante : le fetch direct des pages de recherche des retailers
(amazon.ca/s?k=..., walmart.ca/en/search?q=...) a donné les vrais prix en CAD,
y compris les promotions en cours (Kingston 64GB Ă 13,97$ Walmart, PNY 128GB Ă 26,08$ Amazon).
Correction : nouvel outil find_best_price qui scrappe Amazon.ca et Walmart.ca en parallĂšle
et extrait (produit, prix) avec une heuristique ligne par ligne.
Leçon 4 â Les rĂ©sultats « deals » partent en vrille gĂ©ographique
ProblÚme : find_deals sur « USB flash drive » renvoyait des deals hotukdeals (UK)
et des sites pakistanais.
Correction : filtrage gĂ©ographique â on garde les hits contenant des indices canadiens
(.ca, Canada, CAD, quĂ©bec, redflagdeals, slickdealsâŠ) et on Ă©limine les indices
Ă©trangers (hotukdeals, .co.uk, pakistan, karachi, indiamartâŠ).
Leçon 5 â Le parsing de prix est un champ de mines
ProblÚme : les pages retailers mélangent prix réels (Now $13.97) et bruit
(You save $6.02, $890 sans décimales, Up to $15, headers markdown ##).
Correction (heuristique actuelle) :
les lignes
You save $Xne fournissent jamais un prix ;on privilégie les prix avec décimales (
$13.97) ;on ignore la navigation, les headers markdown,
More buying choices,List:,You pay;les titres sont nettoyés (
...284.6786 out of 5 stars. 28 reviewsâ nom seul).
Leçon 6 â La fraĂźcheur compte
Les prix bougent vite. Toutes les rĂ©ponses rappellent que les prix sont relevĂ©s Ă l'instant du fetch et doivent ĂȘtre vĂ©rifiĂ©s sur la page produit avant achat (taxes/livraison non incluses).
đșïž Roadmap (amĂ©liorations futures)
Parsing JSON-LD/structured data des pages retailers (au lieu de l'heuristique lignes) pour des prix exacts + URLs produits.
Contournement Best Buy via le browser stealthy de Hound (actions click/form) â actuellement bloquĂ© 403.
price_alertâ outil cron qui surveille un produit et notifie quand le prix passe sous un seuil.Cache prix par produit (TTL court) pour Ă©viter de refrapper les retailers Ă chaque appel.
Support USDâCAD pour les retailers amĂ©ricains (conversion + droits de douane indicatifs).
Détection de taxes/livraison par province depuis les pages produit.
compare_retailersâ outil dĂ©diĂ© qui croise les prix d'un mĂȘme modĂšle sur 4+ retailers.
đŠ Enregistrement dans Hermes
Dans ~/.hermes/config.yaml, ajoute :
mcp_servers:
makiti:
command: node
args: ["/chemin/absolu/vers/makiti-mcp/server.js"]Puis redémarre Hermes :
hermes gateway restart # depuis un shell Termux, pas depuis le chatVérification :
hermes mcp list # makiti doit apparaĂźtre â enabled
hermes mcp test makiti # â Connected + tools discoveredđ§Ș DĂ©veloppement / test
# Vérifier le handshake MCP + un outil réel
printf '%s\n%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"product_search","arguments":{"query":"iPhone 15","limit":3}}}' \
| timeout 100 node server.jsâ ïž Hound dĂ©marre en ~15 s au premier appel (proot Ubuntu). Patience sur le premier
tools/call.
đ§ Scripts npm
npm start # lancer le serveur MCP (alias node server.js)đ License
MIT © seasayDev
Available Tools
6 toolsfind_best_priceA
Scrape Canadian retailer search pages directly (amazon.ca, walmart.ca, etc.) to find the actual lowest price for a product. More accurate than product_search because it reads live retailer pages. Best Buy Canada blocks automated access.
Inputs: query (required), limit, retailers.
find_dealsB
Hunt for active deals, promo codes, and discounts for a product or category.
Inputs: query (required), limit, region, retailer.
makiti_guideB
Get guidance on how to use Makiti tools effectively for shopping decisions.
Inputs: scenario.
price_historyB
Track or estimate price history for a product to determine if current price is a good deal.
Inputs: product (required), days_back, retailers.
product_compareA
Compare two products side-by-side: specs, prices, pros/cons, and verdict.
Inputs: product_a (required), product_b (required), budget, category.
product_searchB
Search for products across the web using shopping-focused queries. Returns product names, prices, retailers, and relevant links.
Inputs: query (required), brand, limit, retailer, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogâŠ
TDQS
Scored across 6 tools
The tools cover distinct shopping functions: broad search, price comparison, deal hunting, price history, and product comparison. product_search and find_best_price both provide pricing but are differentiated by scope and accuracy; descriptions make this clear. Overall, minimal confusion.
Names use a mix of noun-verb (product_compare, product_search), verb-noun (find_best_price, find_deals), and noun-noun (price_history, makiti_guide) patterns. While all use snake_case, the inconsistent verb placement makes the naming less predictable.
Six tools is an appropriate size for a shopping assistant, covering core workflows without being overwhelming. Each tool has a defined role.
The tool set covers search, price comparison, price history, and deals, which are the main shopping decision processes. A guide tool adds helpful meta-navigation. No significant gaps are apparent.
Related MCP Connectors
Shopping MCP for AI agents: search, compare, Amazon buy links. Auto-register.
Shopping infrastructure for AI agents: product search, category price overviews, price checks and seller vetting across US online retail, as structured facts over MCP.
MCP server for real-time product search by barcode (EAN, UPC, GTIN) or keyword on ean-search.org
MCP server for ua_e_commerce_price_tracker_mcp
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol server enabling product searches across e-commerce platforms, price history tracking, and product specification-based searches using natural language prompts.287 PyPI19MIT
- FlicenseAqualityDmaintenanceAn MCP server that connects AI assistants to SearchAgora, enabling users to search for, discover, and purchase products across the web through natural language conversations.63-

sscofficial
AlicenseNot gradedqualityDmaintenanceMCP server for scraping product prices, offers, reviews, and details from Amazon, Google Shopping, Bol.com, and Coolblue via natural language commands, with spend-cap protections.25 npm2MIT- AlicenseBqualityDmaintenanceMCP server for finding, comparing, and ranking the cheapest real offers across eBay, Amazon, Craigslist, OfferUp, and Google Shopping, with tax estimation and exact-model filtering.61MIT