Skip to main content
Glama
markswendsen-code

@striderlabs/mcp-poshmark

@striderlabs/mcp-poshmark

MCP server for automating Poshmark fashion resale marketplace using Playwright and Browserbase.

Tools

Tool

Description

search_listings

Search fashion items by brand, category, size, price

get_listing_details

Get full details of a specific listing

get_my_closet

List items in a user's closet

create_listing

Create a new listing with photos and description

get_offers

View offers received or sent

accept_offer

Accept an offer on a listing

Setup

Environment Variables

# Required for authenticated actions (get_my_closet, create_listing, get_offers, accept_offer)
POSHMARK_EMAIL=your@email.com
POSHMARK_PASSWORD=yourpassword

# Optional: Browserbase CDP URL for cloud browser (falls back to local Playwright)
BROWSERBASE_CDP_URL=wss://connect.browserbase.com?apiKey=YOUR_KEY

# Optional: set to "false" to show browser window during local development
HEADLESS=true

Installation

npm install -g @striderlabs/mcp-poshmark

MCP Configuration

Add to your MCP client configuration (e.g., Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "poshmark": {
      "command": "mcp-poshmark",
      "env": {
        "POSHMARK_EMAIL": "your@email.com",
        "POSHMARK_PASSWORD": "yourpassword",
        "BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_KEY"
      }
    }
  }
}

Or run directly:

POSHMARK_EMAIL=you@example.com POSHMARK_PASSWORD=secret npx @striderlabs/mcp-poshmark

Tool Reference

search_listings

Search Poshmark for fashion items.

{
  "query": "vintage denim jacket",
  "brand": "Levi's",
  "category": "Women",
  "size": "M",
  "min_price": 20,
  "max_price": 100,
  "sort": "price_asc",
  "limit": 20
}

get_listing_details

Get full details of a listing.

{
  "listing_id": "abc123xyz"
}

Also accepts full URLs: "listing_id": "https://poshmark.com/listing/...".

get_my_closet

List items in a closet.

{
  "username": "seller_handle",
  "status": "available",
  "limit": 50
}

Omit username to use the authenticated user's closet.

create_listing

Create a new listing.

{
  "title": "Vintage Levi's 501 Jeans",
  "description": "Classic straight-leg jeans in excellent condition. Light wash with authentic wear.",
  "category": "Women > Jeans",
  "brand": "Levi's",
  "size": "28",
  "condition": "EUC",
  "original_price": 89,
  "listing_price": 35,
  "color": "Blue",
  "image_paths": ["/path/to/photo1.jpg", "/path/to/photo2.jpg"]
}

Condition options: NWT (New with tags), NWOT (New without tags), EUC (Excellent used condition), GUC (Good used condition), Fair, Poor.

get_offers

View offers.

{
  "type": "received",
  "limit": 20
}

Type options: received, sent, all.

accept_offer

Accept an offer.

{
  "offer_id": "offer_abc123",
  "listing_id": "listing_xyz789"
}

Browser Automation

This server uses Playwright for browser automation.

  • With Browserbase: Connect via CDP using BROWSERBASE_CDP_URL. Ideal for production/cloud use.

  • Without Browserbase: Falls back to local Chromium. Set HEADLESS=false to watch the browser.

License

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/markswendsen-code/mcp-poshmark'

If you have feedback or need assistance with the MCP directory API, please join our Discord server