Metadata-Version: 2.4
Name: ai-boutique-assit-mcp
Version: 1.0.0
Summary: MCP Server for Online Boutique AI Assistant - exposing microservices via Model Context Protocol
Author-email: Arjun Prabhulal <code.aicloudlab@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/arjunprabhulal/ai-boutique-assit-mcp
Project-URL: Documentation, https://github.com/arjunprabhulal/ai-boutique-assit-mcp/blob/main/README.md
Project-URL: Repository, https://github.com/arjunprabhulal/ai-boutique-assit-mcp
Project-URL: Bug Reports, https://github.com/arjunprabhulal/ai-boutique-assit-mcp/issues
Keywords: mcp,model-context-protocol,microservices,grpc,kubernetes,gke,e-commerce,google-adk
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: uvicorn>=0.32.0
Requires-Dist: requests>=2.32.0
Requires-Dist: grpcio==1.75.0
Requires-Dist: grpcio-tools==1.75.0
Requires-Dist: protobuf<7.0.0,>=6.31.1
Requires-Dist: google-adk==1.14.1
Requires-Dist: starlette>=0.37.2
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: mcp==1.12.1
Dynamic: license-file

# Online Boutique AI Assistant MCP Server

**Model Context Protocol (MCP) Server for Online Boutique AI Assistant**

Expose microservices through the standardized Model Context Protocol, enabling any MCP client to access complete e-commerce functionality.

## Table of Contents

1. [Features](#features)
2. [Architecture](#architecture)
3. [Installation](#installation)
4. [Usage](#usage)
5. [Available Functions](#available-functions)
6. [Configuration](#configuration)
7. [Development](#development)
8. [Requirements](#requirements)
9. [Use Cases](#use-cases)
10. [Contributing](#contributing)
11. [License](#license)

## Features

- **Complete E-commerce**: 18 microservice functions for products, cart, checkout, payments, shipping
- **Standard MCP Protocol**: Works with any MCP client (Claude, ChatGPT, custom tools)
- **Google ADK Integration**: Built using Google Agent Development Kit patterns
- **Dynamic Configuration**: Environment variable based configuration
- **Production Ready**: Comprehensive logging and error handling

## Architecture

```
┌─────────────────┐    ┌──────────────────┐    ┌─────────────────────┐
│   MCP Client    │────│  MCP Server      │────│  Microservices      │
│ (Any LLM/Agent) │    │ (This Package)   │    │ (Online Boutique)   │
└─────────────────┘    └──────────────────┘    └─────────────────────┘
```

```bash
pip install ai-boutique-assit-mcp
```

## Usage

### 1. Start MCP Server

```bash
# Standalone HTTP server
botiq-mcp-server --port 8080
```

### 2. Connect with ADK Agent

```python
from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset, SseConnectionParams

agent = Agent(
    name="boutique_assistant",
    model="gemini-2.0-flash",
    instruction="You are a helpful e-commerce assistant.",
    tools=[
        McpToolset(
            connection_params=SseConnectionParams(
                url="http://localhost:8080/mcp"
            )
        )
    ]
)
```

## Available Functions

The MCP server exposes 18 e-commerce functions:

### Products & Catalog
- `list_products()` - Browse all products
- `search_products(query)` - Search product catalog  
- `get_product(product_id)` - Get product details
- `get_product_with_image(product_id)` - Product with image
- `filter_products_by_price(max_price_usd)` - Price filtering

### Shopping Cart
- `add_item_to_cart(user_id, product_id, quantity)` - Add to cart
- `get_cart(user_id)` - View cart contents
- `empty_cart(user_id)` - Clear cart

### Checkout & Orders
- `place_order(user_id, currency, address, email, credit_card)` - Complete purchase
- `initiate_checkout()` - Start checkout process

### Shipping & Logistics
- `get_shipping_quote(address, items)` - Calculate shipping
- `ship_order(address, items)` - Arrange shipping

### Payment & Currency
- `charge_card(amount, credit_card)` - Process payment
- `get_supported_currencies()` - Available currencies
- `convert_currency(from_amount, to_currency)` - Currency conversion

### Communication
- `send_order_confirmation(email, order)` - Email confirmations

### Marketing
- `get_ads(context_keys)` - Promotional content
- `list_recommendations(user_id, product_ids)` - Product suggestions

## Configuration

### Environment Variables

Override microservice endpoints:

```bash
export PRODUCT_CATALOG_SERVICE="localhost:3550"
export CART_SERVICE="localhost:7070"
export RECOMMENDATION_SERVICE="localhost:8080"
export SHIPPING_SERVICE="localhost:50052"
export CURRENCY_SERVICE="localhost:7000"
export PAYMENT_SERVICE="localhost:50051"
export EMAIL_SERVICE="localhost:5000"
export CHECKOUT_SERVICE="localhost:5050"
export AD_SERVICE="localhost:9555"
```


## Development

### Local Development

```bash
# 1. Clone the repository
git clone https://github.com/arjunprabhulal/ai-boutique-assit-mcp.git
cd ai-boutique-assit-mcp

# 2. Install dependencies
pip install -r requirements.txt

# 3. Start MCP server
python -m ai_boutique_assit_mcp.mcp_server --port 8081

# 4. Test with ADK
adk run ai_boutique_assit_mcp
```

### Build and Publish

```bash
# Build package
python -m build

# Publish to PyPI
python -m twine upload dist/*
```

## Requirements

- **Python**: 3.9 or higher
- **Google ADK**: For MCP integration
- **gRPC**: For microservice communication
- **Target microservices**: Compatible gRPC services

## Use Cases

- **AI Agents**: Connect any LLM to e-commerce microservices
- **API Gateway**: Unified access to distributed services  
- **Testing**: Mock or test e-commerce workflows
- **Integration**: Standard protocol for microservice access
- **Multi-platform**: Use from Python, Node.js, any MCP client

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

**Repository**: [https://github.com/arjunprabhulal/ai-boutique-assit-mcp](https://github.com/arjunprabhulal/ai-boutique-assit-mcp)

1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

## License

MIT License - see LICENSE file for details.

