E-commerce Order Management MCP Server
Remote MCP server for fetching order status and checking refund eligibility, built with FastMCP, FastAPI, and MySQL.
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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.