Skip to main content
Glama
stardeltapower

Upmind MCP Server

README.md
# Upmind MCP Server

A Model Context Protocol (MCP) server for interacting with the Upmind API. This server provides comprehensive tools for managing products, categories, pricing, bundles, and more within the Upmind platform.

## Features

- **Product Management**: Create, read, update, and delete products
- **Category Management**: Manage product categories
- **Pricing Control**: Set and manage product pricing across different billing cycles
- **Bundle Creation**: Create and manage product bundles/sets
- **Generic API Access**: Direct access to any Upmind API endpoint
- **Environment Variable Configuration**: Secure credential management

## Available Tools

### Product Tools
- `list_products` - List all products for the current brand
- `get_product` - Get a specific product by ID
- `create_product` - Create a new product
- `update_product` - Update an existing product
- `delete_product` - Delete a product by ID

### Category Tools
- `list_categories` - List all product categories
- `get_category` - Get a specific category by ID
- `create_category` - Create a new product category
- `update_category` - Update an existing category
- `delete_category` - Delete a category by ID

### Pricing Tools
- `set_product_pricing` - Set pricing for a product in a pricelist
- `get_product_pricing` - Get pricing for a product from pricelist

### Bundle Tools
- `create_bundle` - Create a product bundle
- `add_products_to_bundle` - Add products to a bundle/set
- `remove_product_from_bundle` - Remove a product from a bundle/set

### Generic API Tools
- `api_get` - Make GET requests to any Upmind API endpoint
- `api_post` - Make POST requests to any Upmind API endpoint
- `api_put` - Make PUT requests to any Upmind API endpoint
- `api_delete` - Make DELETE requests to any Upmind API endpoint

## Installation

1. Clone this repository:
```bash
git clone <repository-url>
cd upmind-mcp
```

2. Install dependencies:
```bash
pip install -r requirements.txt
```

3. Copy the example configuration:
```bash
cp mcp_config.json.example mcp_config.json
```

4. Edit `mcp_config.json` and update the configuration:
```json
{
  "mcpServers": {
    "upmind-api": {
      "command": "python",
      "args": ["/path/to/upmind-mcp/upmind_mcp.py"],
      "env": {
        "UPMIND_API_KEY": "your_upmind_api_key_here",
        "UPMIND_BRAND_ID": "your_brand_id_here"
      }
    }
  }
}
```

5. Add the server to your MCP client configuration (e.g., Claude Desktop)

## Configuration

### Required Environment Variables

Set these in the `env` section of your MCP configuration:

- `UPMIND_API_KEY`: Your Upmind API JWT token
- `UPMIND_BRAND_ID`: Your Upmind brand ID

### Getting Your Credentials

1. **API Key**: Generate a JWT token from your Upmind admin panel
2. **Brand ID**: Found in your Upmind brand settings (UUID format)

## Usage Examples

### Create a Product
```python
# Use the create_product tool
{
  "name": "Web Hosting Plan",
  "category_id": "category-uuid",
  "billing_cycle_months": 1,
  "description": "Premium web hosting with 5GB storage"
}
```

### Set Product Pricing
```python
# Use the set_product_pricing tool
{
  "product_id": "product-uuid",
  "prices": [
    {
      "billing_cycle_months": 1,
      "price": 7.00,
      "currency_id": 1
    },
    {
      "billing_cycle_months": 12,
      "price": 75.60,
      "currency_id": 1
    }
  ]
}
```

### Create a Bundle
```python
# Step 1: Create bundle product
{
  "name": "Annual Hosting Bundle",
  "category_id": "category-uuid",
  "billing_cycle_months": 12
}

# Step 2: Add products to bundle
{
  "bundle_id": "bundle-product-uuid",
  "products": [
    {"product_id": "hosting-product-uuid"},
    {"product_id": "domain-product-uuid"}
  ]
}
```

## API Reference

For complete API documentation, see the Upmind API documentation included in `docs/REST.json`.

## Limitations

- Currently focused on admin/brand-level operations
- Requires valid Upmind API credentials
- Limited to the Upmind API's capabilities and rate limits

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

## License

MIT License - see LICENSE file for details

## Support

For issues related to:
- **This MCP Server**: Open an issue in this repository
- **Upmind API**: Contact Upmind support
- **MCP Protocol**: See [MCP documentation](https://modelcontextprotocol.io/)