FakeStore MCP

FakeStore MCP

A Model Context Protocol server that enables AI assistants to interact with a complete e-commerce application, providing authentication, product browsing, and shopping cart management through standardized MCP tools.

Category
Visit Server

README

FakeStore MCP - Model Context Protocol E-commerce Demo

🚀 LIVE DEMO: https://fakestore-mcp.vercel.app

🎥 VIDEO EXPLANATION: https://www.youtube.com/watch?v=be9B8M1Ow88

A complete e-commerce application demonstrating Model Context Protocol (MCP) integration with the FakeStore API. Built with Next.js, TypeScript, and the MCP TypeScript SDK.

Setup Instructions

Prerequisites

  • Node.js 18+
  • npm or yarn

Development

# Install dependencies
npm install

# Start development server
npm run dev

The application will be available at http://localhost:3000.

Architecture

UI-First Development

  1. Phase 1: Built working UI with direct FakeStore API integration to explore UX challenges
  2. Phase 2: Added MCP server layer to wrap proven functionality
  3. Result: Working product first, then abstraction layer and refactoring

Key Design Decisions

  • Component Architecture: Modular React components with clear separation
  • State Management: React Context for cart, localStorage for persistence
  • Error Handling: Comprehensive error boundaries and user feedback
  • TypeScript: Strict typing throughout for reliability
  • Optimistic Updates: Instant UI feedback with background sync
  • Desktop Only: Assumed responsive mobile design out of scope for brevity

Tech Stack

  • Frontend: Next.js 15, TypeScript, Tailwind CSS, shadcn/ui, React Context + localStorage
  • MCP Server: MCP TypeScript SDK
  • MCP Client: Manager class to interact with MCP Server
  • API: FakeStore API (only external API used), Token authentication, RESTful endpoints

MCP Server

The MCP server provides all functionality through standardized tools:

Authentication

  • login - User authentication
  • logout - Session termination

Products

  • get_products - Browse with category filtering
  • get_categories - List available categories

Cart Operations

  • add_to_cart - Add products to cart
  • remove_from_cart - Remove products
  • get_cart - View detailed cart contents
  • clear_cart - Empty shopping cart

Cursor IDE Integration

AI Assistant → MCP Client → /api/mcp Endpoint → FakeStore API
                                 ↓
            Tool Response ← Cart State ← Database Update

The MCP server exposes all cart operations as standardized tools, allowing AI assistants to interact with the shopping cart programmatically.

{
  "mcp": {
    "servers": {
      "fakestore": {
        "endpoint": "https://fakestore-mcp.vercel.app/api/mcp",
        "protocol": "http"
      }
    }
  }
}

MCP client should be able to display the tools and ready to consume them:

expected result

Features

Core Functionality

  • ✅ User authentication with session management
  • ✅ Product catalog with category browsing and sorting
  • ✅ Shopping cart with add/remove/quantity management
  • ✅ Optimistic UI updates for instant feedback
  • ✅ Desktop design tested in 1440p

Flow

User Journey

  1. Browse Products - Navigate categories, view product details (no auth required)
  2. Add to Cart - Triggers login modal if not authenticated
  3. Authentication - User logs in with demo credentials when needed
  4. Cart Management - Add/remove items with instant UI feedback
  5. Optimistic Updates - UI updates immediately, syncs in background

Traditionally in e-commerce sites, login is postponed until checkout. Since we have no checkout and carts in API are userId based, this behaviour is moved to cart CTAs.

Since we have no persistency at API level, sessions are retained in MCP level with session management. A hard-refresh (Ctrl+F5) causes session and cart to reset to API values. A logout-login without refreshing the page should persist the cart session. This behaviour is intended.

Technical Flow

User Action → React Component → Cart Context → Optimistic UI Update
                                     ↓
            Background Sync → FakeStore API → State Reconciliation

Demo Credentials

Login dialog contains ready-to-use accounts for easy testing:

login

Extras

  • Product sorting by Rating, Price or Review Count

  • Recommendations:

    Recommendations

Traditionally in e-commerce systems, recommendations are based on sales data. For this demonstration, we are displaying a product that is not in the cart.

Notes

  • As a last minute call, debounce on client side is removed. Each click corresponds to a server action. In a production environment, client actions should be polled and sent as a single action with a debounce time. Due to time constraints, this optimization is reverted.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured