loading…
Search for a command to run...
loading…
An MCP server that enables AI agents to manage multi-marketplace e-commerce operations by connecting to the SellerChamp API. It supports inventory reporting, cr
An MCP server that enables AI agents to manage multi-marketplace e-commerce operations by connecting to the SellerChamp API. It supports inventory reporting, cross-listing analysis, order management, and bulk updates across platforms like Amazon, eBay, and Shopify.
FastMCP HTTP server exposing SellerChamp inventory management as Model Context Protocol (MCP) tools. A single daemon process serves multiple Claude clients — Claude Desktop, Claude Code, and OpenClaw — simultaneously over a local HTTP endpoint.
The service uses a hybrid data model designed to balance freshness against rate limits.
MCP Clients (Claude Desktop / Claude Code / OpenClaw)
|
v
HTTP POST 127.0.0.1:18790/mcp
|
v
FastMCP Router (stateless HTTP, JSON responses)
|
+---------+----------+
| |
v v
SQLiteReader SellerChampAPI
(cached reads) (live API)
| |
sellerchamp_ - Single-item lookups
inventory.db - All writes
(updated by - Bulk operations
db-sync job)
Bulk reads — served from a local SQLite database maintained by a companion db-sync service (daily full sync at 3 AM, orders refresh every 2 hours). Tools that default to cached reads accept a source parameter: "cached", "live", or "" (auto).
Single-item lookups and all writes — always routed to the live SellerChamp API.
Rate limiter — sliding window shared with the db-sync service. Interactive calls: 90 req/60s. Bulk calls: 60 req/60s. The server-side limit is 120 req/60s. 429 responses are handled by the pacer, not urllib3 retries, to avoid feedback loops. 5xx errors retry with exponential backoff (up to 3 times).
Confirmation gates — sellerchamp_delete_product requires confirm=True. Bulk update tools require confirm=True for batches larger than 50 items.
24 tools across four categories.
| Tool | Source | Description |
|---|---|---|
sellerchamp_get_marketplace_accounts |
cached | All connected marketplace accounts (Amazon, eBay, Shopify, etc.) with account IDs |
sellerchamp_get_orders |
cached | Paginated orders with filtering by status, marketplace, and date range |
sellerchamp_get_order |
live | Single order by ID with full details, shipping address, and tracking |
sellerchamp_get_products |
cached | Paginated product catalog with filtering by SKU, ASIN, UPC, marketplace, or tag |
sellerchamp_get_products_compact |
cached | Products with essential fields only (SKU, title, price, quantity, status) |
sellerchamp_get_product |
live | Single product by SKU or product ID with variants, images, and inventory locations |
sellerchamp_find_missing_listings |
cached | SKUs present on one marketplace but absent from another |
sellerchamp_find_crosslist_candidates |
cached | Products matching per-marketplace status filters across the full catalog |
sellerchamp_get_variants |
live | All variants (sizes, colors, etc.) for a product |
sellerchamp_get_inventory_locations |
live | Warehouse bin locations for a product |
sellerchamp_get_manifests |
live | Listing collections, optionally filtered by marketplace account |
sellerchamp_sync_status |
cache | Last db-sync timestamp and status |
sellerchamp_pending_shipments |
cache | Unshipped paid orders from the last 14 days with inventory age |
sellerchamp_bad_handling_times |
cache | Amazon FBM listings with handling time under 3 days or missing |
sellerchamp_handling_time_summary |
cache | Handling time distribution across all scanned Amazon listings |
| Tool | Description |
|---|---|
sellerchamp_update_order |
Update tracking number, carrier, or notes on an order |
sellerchamp_acknowledge_order |
Mark an order as received and in processing |
sellerchamp_update_product |
Update pricing, quantity, title, description, condition, or shipping fields by product ID |
sellerchamp_set_product_pricing |
Set min/max/retail/cost price by SKU (resolves product ID automatically) |
sellerchamp_set_product_quantity |
Set available quantity by SKU |
sellerchamp_update_variant |
Update pricing or inventory on a specific product variant |
| Tool | Limit | Description |
|---|---|---|
sellerchamp_bulk_update_products |
1,000 items | Update multiple products in one call; requires confirm=True for batches over 50 |
sellerchamp_bulk_update_inventory |
1,000 items | Update inventory quantities across locations; requires confirm=True for batches over 50 |
| Tool | Description |
|---|---|
sellerchamp_delete_product |
Delete a product permanently; requires confirm=True |
The server binds to 127.0.0.1:18790 and runs as a macOS launchd daemon. Any MCP-compatible client on the same machine can connect with:
{
"mcpServers": {
"sellerchamp": {
"url": "http://127.0.0.1:18790/mcp"
}
}
}
Add this block to Claude Desktop's claude_desktop_config.json or to a Claude Code project's MCP configuration. OpenClaw and other HTTP MCP clients use the same URL.
Prerequisites: Python 3.12+, a SellerChamp account with API access.
git clone https://github.com/WowWashington/sellerchamp-mcp.git
cd sellerchamp-mcp
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Create a .env file (do not commit):
SELLERCHAMP_API_TOKEN=your_token_here
SQLITE_DB_PATH=/path/to/sellerchamp_inventory.db
MCP_HOST=127.0.0.1
MCP_PORT=18790
Run directly:
python server.py
Production (macOS launchd): install a plist at ~/Library/LaunchAgents/com.sellerchamp-mcp.plist pointing to python server.py. Logs land at ~/Library/Logs/sellerchamp-mcp/.
SQLite cache: the SQLITE_DB_PATH database is maintained by a separate sellerchamp-db-sync companion service. Without it, the server falls back to the live API for all reads. The service logs a warning at startup if the cache file is not found.
127.0.0.1 only. No network exposure, no authentication required.confirm=True parameter. A first call without it returns a description of what would happen.PRAGMA query_only=ON prevents accidental writes. WAL mode allows safe concurrent reads while the sync service writes.Run in your terminal:
claude mcp add sellerchamp-mcp-server -- npx CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Security
Low riskAutomated heuristic from public metadata — not a security guarantee.