SkuVault MCP Server

SkuVault MCP Server

Enables interaction with the SkuVault inventory management system API for product management, inventory control, warehouse operations, and analytics through natural language.

Category
Visit Server

README

SkuVault MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with the SkuVault inventory management system API. Built for production use with enterprise-grade features.

๐Ÿš€ Features

Core Functionality

  • Product Management: Create, read, update products individually or in batches
  • Inventory Control: Add, remove, and set inventory quantities across warehouses
  • Warehouse Operations: List warehouses and manage inventory by location
  • Smart Analytics: Active/inactive products, low stock alerts, inventory summaries

Production-Ready

  • โœ… Rate Limiting: Dynamic rate limit learning with exponential backoff
  • โœ… Caching: Intelligent response caching to minimize API calls
  • โœ… Safety: Confirmation requirements for all mutating operations
  • โœ… Validation: Comprehensive input validation for all operations
  • โœ… Performance: Connection pooling and request queuing

๐Ÿ“ฆ Installation

  1. Clone the repository:
git clone https://github.com/dbankscard/skuvault-mcp-server.git
cd skuvault-mcp-server
  1. Install dependencies:
pip install -e .
  1. Set up authentication:
cp .env.example .env
# Edit .env and add your SkuVault credentials

๐Ÿ”ง Configuration

For Claude Desktop

Add to your Claude Desktop config file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "skuvault": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/skuvault-mcp-server",
      "env": {
        "SKUVAULT_TENANT_TOKEN": "your_tenant_token",
        "SKUVAULT_USER_TOKEN": "your_user_token"
      }
    }
  }
}

Troubleshooting: PYTHONPATH Configuration

If you encounter import errors when running the server, you may need to set the PYTHONPATH environment variable. This is necessary because:

  1. Module Structure: The server uses absolute imports (e.g., from src.auth import SkuVaultAuth) which require Python to know where to find the src module.
  2. MCP Integration: When Claude Desktop launches the server, it may not automatically include the project root in Python's module search path.

To fix this, add PYTHONPATH to your configuration:

{
  "mcpServers": {
    "skuvault": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/skuvault-mcp-server",
      "env": {
        "PYTHONPATH": "/path/to/skuvault-mcp-server",
        "SKUVAULT_TENANT_TOKEN": "your_tenant_token",
        "SKUVAULT_USER_TOKEN": "your_user_token"
      }
    }
  }
}

Note: The PYTHONPATH should point to the root directory of the project (where the src folder is located), not to the src folder itself.

๐Ÿ› ๏ธ Available Tools

Product Operations

  • get_product(sku) - Get product details
  • get_products(page_number, page_size, skus, get_all, active_only) - List products
  • create_product(...) - Create new product
  • update_product(...) - Update product
  • batch_update_products(updates) - Update multiple products efficiently

Inventory Management

  • get_inventory_by_location(...) - Get inventory with filtering
  • add_inventory(...) - Add inventory
  • remove_inventory(...) - Remove inventory
  • set_item_quantity(...) - Set exact quantity

Analytics

  • get_all_active_products() - All active products with pagination
  • get_all_inactive_products() - All inactive products
  • get_low_stock_products(threshold) - Products at/below reorder point
  • get_product_summary_report() - Comprehensive statistics

System Tools

  • get_cache_stats() - Cache performance metrics
  • clear_cache(pattern) - Clear cached data
  • get_rate_limits() - View current rate limits
  • call_api_endpoint(endpoint, **params) - Access any SkuVault API endpoint

๐Ÿ“š Documentation

๐Ÿ’ก Example Questions You Can Ask

๐Ÿ“ฆ Product Management

  • "Show me details for SKU ABC123"
  • "Get all active products"
  • "Find all inactive products"
  • "List products with SKUs ABC123, DEF456, and GHI789"
  • "Show me all products from brand XYZ"
  • "Create a new product with SKU NEW001, description 'Test Product', cost $10"
  • "Update the price of SKU ABC123 to $29.99"
  • "Update the cost to $15 for SKUs ABC123, DEF456, and GHI789"
  • "Change the description of SKU XYZ789 to 'Updated Product Name'"

๐Ÿ“Š Inventory Analysis

  • "What's my current inventory for SKU ABC123?"
  • "Show inventory by location for warehouse 1"
  • "Get inventory for location A1 in warehouse 2"
  • "Show me all products that are low on stock"
  • "Which products are at or below their reorder point?"
  • "Show me inventory summary for all warehouses"
  • "What products have zero quantity?"
  • "List all inventory in warehouse 1, location B2"

๐Ÿ“ˆ Analytics & Reports

  • "Give me a product summary report"
  • "Show product breakdown by brand"
  • "How many active vs inactive products do I have?"
  • "Show me inventory value by warehouse"
  • "Which locations have the most inventory?"
  • "Get product statistics including total value"
  • "Show me products that need reordering"

โž• Add Inventory

  • "Add 50 units of SKU ABC123 to warehouse 1, location A1"
  • "Receive 100 units of SKU XYZ789 into warehouse 2"
  • "Add inventory for SKU DEF456 with a note about the shipment"

โž– Remove Inventory

  • "Remove 10 units of SKU ABC123 from warehouse 1, location A1"
  • "Remove 5 units of SKU XYZ789 for order fulfillment"
  • "Deduct inventory for damaged items"

๐Ÿ”ง Set Exact Quantities

  • "Set the quantity of SKU ABC123 to exactly 100 units in warehouse 1"
  • "Update SKU XYZ789 to have 0 units in location B2"
  • "Correct the inventory count for SKU DEF456 to 75 units"

๐Ÿญ Warehouse Operations

  • "List all warehouses"
  • "Show me warehouse details"
  • "Which warehouses do we have?"

๐Ÿ” Advanced Queries

  • "Get the first 10 products"
  • "Show me products on page 3 with 50 items per page"
  • "Find all products and get complete details"
  • "Check inventory across all locations for SKU ABC123"

๐Ÿ’ป System Operations

  • "Show cache statistics"
  • "Clear the product cache"
  • "Show current rate limits"
  • "Clear all cached data"
  • "Show queue statistics"

๐ŸŒ Generic API Access

  • "Call the getSuppliers endpoint"
  • "Use the getBrands API endpoint"
  • "Call getSales endpoint with date range parameters"

๐Ÿ“ Natural Language Understanding

The MCP server understands natural variations of these questions:

  • "What's in stock for ABC123?" โ†’ Gets inventory
  • "I need to update prices for multiple products" โ†’ Batch update
  • "Show me what needs to be reordered" โ†’ Low stock report
  • "Fix the quantity for this SKU" โ†’ Set item quantity

๐Ÿ”’ Safety Features

All operations that modify data require explicit confirmation:

  • Clear summary of what will be changed
  • Visual warnings for destructive operations
  • Explicit "yes" or "confirm" required to proceed

To bypass for automation, set confirm=True parameter.

๐Ÿ—๏ธ Architecture

skuvault-mcp-server/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ server.py          # Main MCP server
โ”‚   โ”œโ”€โ”€ api_client.py      # SkuVault API client
โ”‚   โ”œโ”€โ”€ models/            # Pydantic models
โ”‚   โ”œโ”€โ”€ tools/             # Analytics tools
โ”‚   โ””โ”€โ”€ utils/             # Utilities (cache, rate limiter, validators)
โ”œโ”€โ”€ api_schema_complete.json  # Complete API specification
โ”œโ”€โ”€ pyproject.toml         # Package configuration
โ””โ”€โ”€ README.md              # This file

๐Ÿงช Testing

Run the test suite:

python test_server.py

๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ”— Resources

โšก Quick Start

  1. Clone โ†’ 2. Install โ†’ 3. Configure โ†’ 4. Add to Claude Desktop โ†’ 5. Start using!
# Clone and install
git clone https://github.com/dbankscard/skuvault-mcp-server.git
cd skuvault-mcp-server
pip install -e .

# Configure
cp .env.example .env
# Add your tokens to .env

# Test
python test_server.py

# Add to Claude Desktop and start using!

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured