Command Palette

Search for a command to run...

UnylyUnyly
Browse all

ShopBot AI Server

FreeNot checked

AI customer support MCP server with order status lookup and RAG-powered knowledge base search for e-commerce stores.

GitHubEmbed

About

AI customer support MCP server with order status lookup and RAG-powered knowledge base search for e-commerce stores.

README

ShopBot AI is an e-commerce support chatbot I built to explore how far you can push LLMs when they’re connected to real systems like databases and retrieval pipelines.

Instead of relying only on prompt-based answers, the bot can actually:

  • check real orders stored in MySQL
  • search a knowledge base using embeddings (FAISS)
  • decide when it should use tools vs when it should just answer normally

The idea was simple:
a chatbot that doesn’t hallucinate when it matters (like order status).

🔗 Live demo: https://shopbot-ai-os4z.onrender.com


Why I built this

Most chatbot demos feel impressive at first, but break down quickly when you ask:

  • “Where is my order?”
  • “What exactly is your refund policy?”
  • “Is this product in stock?”

They usually respond confidently… even when they shouldn’t.

I wanted to build something closer to how a real support system should behave:

  • if it’s factual → query a database
  • if it’s semantic → search knowledge base
  • otherwise → let the model respond normally

This pushed me into combining RAG, tool calling, and routing logic in one system.


How it works

User message ↓ Flask API ↓ Gemini decides intent (route query) ↓ MCP tool layer ├── MySQL tool → order / customer data └── FAISS tool → FAQ / policy retrieval ↓ ↓ Final response to user


Key design choices (and why I made them)

MCP instead of direct function calls

I used MCP because I didn’t want tool logic mixed directly into the LLM layer. It keeps things modular, so adding a new tool later doesn’t require rewriting the whole routing logic.


FAISS instead of a hosted vector DB

I went with FAISS mainly because I wanted everything to run locally without extra infrastructure costs. It keeps the project self-contained and easier to demonstrate.


Gemini for routing

Gemini is only used to decide what kind of question this is, not to store any “truth.” That separation was intentional to reduce hallucination risk.


Flask instead of FastAPI

This started as a prototype, so Flask was simply faster to iterate with. I prioritized building the system over framework perfection.


What I learned from building this

  • Tool use matters more than prompt engineering for real-world reliability
  • RAG alone isn’t enough unless retrieval is well scoped
  • A simple routing layer improves accuracy more than expected
  • Most “AI chatbot problems” are actually system design problems

from github.com/hayamot0/shopbot-ai

Installing ShopBot AI Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/hayamot0/shopbot-ai

FAQ

Is ShopBot AI Server MCP free?

Yes, ShopBot AI Server MCP is free — one-click install via Unyly at no cost.

Does ShopBot AI Server need an API key?

No, ShopBot AI Server runs without API keys or environment variables.

Is ShopBot AI Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install ShopBot AI Server in Claude Desktop, Claude Code or Cursor?

Open ShopBot AI Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare ShopBot AI Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs