E-commerce Order Management MCP Server

E-commerce Order Management MCP Server

Remote MCP server for fetching order status and checking refund eligibility, built with FastMCP, FastAPI, and MySQL.

Category
Visit Server

README

MCP_SERVER – E-commerce Order Management using FastMCP

Overview

This project demonstrates how to build a Remote MCP (Model Context Protocol) Server and Client using FastAPI and FastMCP.

The MCP Server exposes tools for:

  • Fetching order status
  • Checking refund eligibility

The FastAPI Client communicates with the MCP Server and exposes REST APIs that can be consumed by external applications.


Architecture

User
  │
  ▼
FastAPI Client Service
  │
  ▼
FastMCP Client
  │
  ▼
Remote MCP Server
  │
  ▼
MySQL Database

Features

  • Remote MCP Server using FastMCP
  • FastAPI Client Service
  • MySQL Database Integration
  • Order Status Retrieval
  • Refund Eligibility Check
  • Tool-based MCP Communication
  • Clean Service-Oriented Architecture

Project Structure

MCP_SERVER/
│
├── client.py
├── server.py
├── requirements.txt
├── README.md
└── database/
    └── orders.sql

Technologies Used

  • Python
  • FastAPI
  • FastMCP
  • MySQL
  • PyMySQL
  • Uvicorn

Database Schema

orders Table

Column Type
order_id VARCHAR
customer_name VARCHAR
product_name VARCHAR
status VARCHAR
order_date DATE

Example:

CREATE TABLE orders (
    order_id VARCHAR(20) PRIMARY KEY,
    customer_name VARCHAR(100),
    product_name VARCHAR(100),
    status VARCHAR(50),
    order_date DATE
);

Installation

Clone Repository

git clone https://github.com/sourabhbagda24/MCP_SERVER.git
cd MCP_SERVER

Create Virtual Environment

python -m venv venv

Activate:

Windows

venv\Scripts\activate

Linux / Mac

source venv/bin/activate

Install Dependencies

pip install -r requirements.txt

Configure Database

Update MySQL credentials inside the server file:

orders_db = pymysql.connect(
    host="localhost",
    user="root",
    password="your_password",
    database="MCP"
)

Run MCP Server

python server.py

Server starts at:

http://localhost:8001/mcp

Run FastAPI Client

uvicorn client:app --reload --port 8000

Client API:

http://localhost:8000

Available APIs

Get Order Status

GET /order/{order_id}

Example:

GET /order/ORD001

Response:

{
  "order_id": "ORD001",
  "customer_name": "John",
  "product_name": "Laptop",
  "status": "Delivered",
  "order_date": "2026-08-01"
}

Check Refund Eligibility

GET /order/{order_id}/refund-check

Example:

GET /order/ORD001/refund-check

Response:

{
  "order_id": "ORD001",
  "eligible": true,
  "days_since_order": 2,
  "reason": "Delivered within 7 days"
}

MCP Tools

get_order_status

Returns complete order information.

Input:

{
  "order_id": "ORD001"
}

check_refund_eligibility

Checks whether an order qualifies for a refund.

Input:

{
  "order_id": "ORD001"
}

Learning Outcomes

Through this project you will learn:

  • MCP (Model Context Protocol)
  • Remote MCP Communication
  • FastMCP Tool Development
  • FastAPI Integration
  • MySQL Connectivity
  • Service-Based Architecture
  • API Development

Author

Sourabh Sharma

GitHub: https://github.com/sourabhbagda24

LinkedIn: https://www.linkedin.com/in/sourabh-sharma-90758232b


⭐ If you found this project useful, consider giving it a star.

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