Skip to main content
Glama
sourabhbagda24

E-commerce Order Management MCP Server

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.


Related MCP server: Order Status Server

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.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A paid remote MCP for ShipSwift, built to return verdicts, receipts, usage logs, and audit-ready JSO

  • A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready

  • A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sourabhbagda24/MCP_SERVER'

If you have feedback or need assistance with the MCP directory API, please join our Discord server