ListerLeo MCP Server

Manage your warehouse auction operations from AI assistants using the Model Context Protocol.

The ListerLeo MCP server enables AI assistants like Claude to scan items, manage inventory, track warehouse operations, analyze performance, and generate exports through natural language. It implements the Model Context Protocol (MCP) standard.

What is MCP? The Model Context Protocol is an open standard that lets AI assistants interact with external tools and services. The ListerLeo MCP server exposes 31 tools, 7 resources, and 5 prompts.

Installation

pip install listerleo-mcp

This installs the listerleo-mcp command and its dependencies (the official MCP SDK and httpx).

Configuration

Set two environment variables:

export LISTERLEO_API_URL="https://listerleo.com/api"
export LISTERLEO_API_TOKEN="your-sanctum-api-token"

To get an API token, call the login endpoint:

curl -X POST https://listerleo.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "your-password"}'

The response includes a token field — use that as your LISTERLEO_API_TOKEN.

Claude Desktop Setup

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "listerleo": {
      "command": "listerleo-mcp",
      "env": {
        "LISTERLEO_API_URL": "https://listerleo.com/api",
        "LISTERLEO_API_TOKEN": "your-token"
      }
    }
  }
}

Claude Code Setup

Add to your .claude/settings.json:

{
  "mcpServers": {
    "listerleo": {
      "command": "listerleo-mcp",
      "env": {
        "LISTERLEO_API_URL": "https://listerleo.com/api",
        "LISTERLEO_API_TOKEN": "your-token"
      }
    }
  }
}

lookup_barcode

Look up a barcode to get product information — title, brand, description, estimated value, and stock images.

Parameters:

  • barcode (required) — UPC, EAN, or barcode value
  • vendor_id — Optional vendor context
  • lot_id — Optional lot context

scan_item

Scan a barcode and create a new auction item. Requires either lot_id (scan into existing lot) or vendor_id with lot_per_item=true.

Parameters:

  • barcode — Barcode value
  • lot_id — Lot to scan into
  • vendor_id — Vendor (required when lot_per_item is true)
  • auction_id — Auction to associate with
  • lot_per_item — Auto-create a lot per item
  • title, description, condition, quantity, starting_bid, estimated_value, cost — Pre-fill fields
  • location_id — Auto put-away to this location

enrich_item

Trigger AI-powered product enrichment. Auto-fills title, description, images, and market value from product databases.

Parameters: item_id (required)

search_items

Search and filter inventory items with pagination.

Parameters: search, lot_id, vendor_id, auction_id, status (scanned/cataloged/put_away/picked/sold), condition, per_page, page

get_item

Get full details for a specific item — location, pallet, images, who scanned and cataloged it, and timestamps.

Parameters: item_id (required)

update_item

Update fields on an existing item.

Parameters: item_id (required), plus any fields to update: title, description, condition, starting_bid, reserve_price, buy_now_price, estimated_value, cost, status

confirm_item

Confirm an item with final details, transitioning from scanned to cataloged status.

Parameters: item_id, title, condition (all required), plus optional fields

Put-Away Tools

Four tools for warehouse put-away operations:

  • put_away_item_to_location — Place item at a location (auto-creates location if unknown)
  • put_away_item_to_pallet — Place item onto a pallet
  • put_away_pallet_to_location — Move pallet to a location
  • remove_item_from_pallet — Remove item from its pallet

All accept flexible identifiers: serial number, barcode, location code, or database ID.

Pick List Tools

Four tools for order picking with concurrent picker support:

  • list_pick_lists — List available pick lists with progress and active picker info
  • get_pick_list — Get pick list items with warehouse locations
  • claim_pick_items — Claim items (row-level locking prevents duplicate claims)
  • pick_item — Mark item as picked by serial number or barcode

Analytics Tools

  • get_dashboard — Overview KPIs: received, cataloged, put away, picked, sold, revenue
  • get_analytics_report — 8 report types: receiving, put-away, picking, vendor-performance, inventory-aging, revenue, throughput, user-productivity
  • get_filter_options — All available filter values for the organization

Auction Tools

list_auctions, create_auction, update_auction, delete_auction

Reference Data Tools

list_vendors, list_lots, lookup_location, lookup_pallet

Labels & Exports

  • generate_label — Generate ZPL/ESC-POS label for item, shelf, pallet, or login badge
  • create_export — Generate CSV export for HiBid, Proxibid, AuctionZip, or custom templates

Resources

Read-only data accessible via URI:

URIDescription
listerleo://dashboardCurrent dashboard metrics
listerleo://vendorsActive vendor list
listerleo://auctionsAll auctions
listerleo://lotsAll lots
listerleo://pick-listsActive pick lists
listerleo://locationsWarehouse locations
listerleo://settingsOrganization settings

Prompts

PromptDescription
analyze_inventoryInventory health check with stale item detection
daily_operations_summaryDaily ops report (scanning, picking, revenue)
vendor_reportVendor performance with profitability ranking
review_pick_listPick list status with location grouping
item_processing_guideStep-by-step workflow guide

Example Conversations

"How many items did we receive today?"

Uses get_dashboard for counts, then get_analytics_report with report_type=receiving for breakdown by user and vendor.

"Which vendors have the best sell-through rate?"

Uses get_analytics_report with report_type=vendor-performance to rank vendors by sell-through percentage.

"Look up barcode 012345678901 and tell me what it is"

Uses lookup_barcode to find product title, brand, description, and estimated market value.

"What items have been sitting in the warehouse for over 30 days?"

Uses get_analytics_report with report_type=inventory-aging to find stale items in the 30+ day bucket.

"Show me pick list #5 — who's working on it and how far along are they?"

Uses get_pick_list to show items, progress percentage, active picker name, and last pick timestamp.