README.md•1.53 kB
# Product MCP Server
This project implements a simple **Model Context Protocol (MCP) server** using **FastMCP**, **Pydantic**, and **Uvicorn**.
It exposes three tools:
- **Add Product**
- **Search Product**
- **Get Product by ID**
Products are stored in an **in-memory database**, making this ideal for demos, prototyping, or integrating with an MCP-compatible AI agent.
---
## Features
- FastMCP-based MCP server
- Tool functions to:
- Add a new product
- Search products by name or category
- Retrieve product details by ID
- Simple in-memory storage
- Runs over HTTP using Uvicorn
## Installation
### 1. Create a virtual environment
```bash
python3 -m venv venv
source venv/bin/activate
```
### 2. Install dependencies
```bash
pip install -r requirements.txt
```
## Running the Server
Start the MCP server:
```bash
python main.py
```
The server will start on:
```bash
http://localhost:8000
```
Available Tools
### 1. add_product
Adds a new product to the in-memory catalog.
Input Model (AddProductInput)
```json
{
"name": "Laptop",
"category": "Electronics",
"price": 1299.99,
"stock": 5,
"description": "Powerful gaming laptop"
}
```
### 2. search_product
Searches for products by name or category.
Input Model (SearchInput)
```json
{
"query": "laptop"
}
```
### 3. get_product
Gets a product by its unique ID.
Input Model (GetProductInput)
```json
{
"product_id": "uuid-here"
}
```
## MCP Client Example
Run the client
```bash
python client.py
```