乐器设备转售MCP服务器

Reverb MCP服务器通过MCP协议将Claude连接到Reverb电商平台,提供乐器定价研究、商品上架管理、订单发货、议价处理和店铺运营等转售功能,适用于在Reverb上进行二手乐器交易的卖家。

  • by danryan
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 danryan/reverb-mcp-server

使用说明

reverb-mcp-server

An MCP server wrapping the Reverb.com REST API for musical equipment resale. Connects Claude directly to your Reverb shop for pricing research, listing management, order fulfillment, and seller operations.

What it does

  • Pricing - analyze recent sold listings, cross-reference the price guide, and get a recommended list price accounting for fees and competition
  • Listings - create, update, publish, and manage listings with optimized titles and descriptions
  • Orders - view orders, mark items shipped, track awaiting-shipment queue
  • Negotiations - review and respond to offers with market-informed recommendations
  • Shop operations - read messages, leave feedback, manage vacation mode, view payouts

Requirements

  • Python 3.11+
  • uv
  • A Reverb personal access token with scopes: public, read_listings, write_listings, read_orders, write_orders

Generate a token at: Reverb > My Profile > API & Integrations

Installation

Claude Desktop (recommended)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "reverb": {
      "command": "uvx",
      "args": ["reverb-mcp-server"],
      "env": {
        "REVERB_API_TOKEN": "your_token_here"
      }
    }
  }
}

Restart Claude Desktop. The Reverb tools will appear in your next conversation.

Manual install

pip install reverb-mcp-server
reverb-mcp

Configuration

Variable Required Default Description
REVERB_API_TOKEN yes - Personal access token from Reverb
REVERB_ENV no production Set to sandbox for testing
RATE_LIMIT_RPS no 2 Requests per second
CACHE_TTL_HOURS no 24 TTL for cached reference data
LOG_LEVEL no info Logging verbosity

Available tools

Listings

Tool Description
create_listing Create a new listing (draft by default)
update_listing Update listing fields
publish_listing Publish a draft listing
end_listing End an active listing
get_listing Fetch a listing by ID
find_my_listings Search your listings by state, SKU, or query
delete_draft Delete a draft listing
bump_listing Bump a listing to top of search
create_sale Create a sale on a listing
update_listing_images Replace or reorder listing photos
delete_listing_image Remove a photo from a listing

Pricing

Tool Description
search_listings Search active listings by make, model, condition
search_sold_listings Search completed sales for price research
get_price_guide Fetch Reverb's price guide estimate

Orders

Tool Description
get_orders List all orders with optional date filters
get_orders_awaiting_shipment List orders not yet shipped
get_order Fetch a single order
ship_order Mark an order shipped with tracking
mark_picked_up Mark a local pickup order as collected

Negotiations

Tool Description
get_negotiations List open offers
respond_to_offer Accept, reject, or counter an offer

Shop

Tool Description
get_shop Fetch shop profile
get_messages List conversations
reply_to_message Send a message reply
mark_message_read Mark a conversation read
get_feedback_received View received feedback
get_feedback_sent View sent feedback
leave_feedback Leave feedback for a buyer
enable_vacation_mode Pause your shop
disable_vacation_mode Resume your shop
get_vacation_status Check vacation mode state

Payments

Tool Description
get_payouts List payouts with optional date filters
get_payout_line_items View line items for a payout
get_order_payments View payment details for an order

Reference

Tool Description
get_categories List all Reverb categories
get_listing_conditions List condition tiers and UUIDs
get_shipping_regions List supported shipping regions
get_currencies List supported currencies

Development

git clone https://github.com/danryan/reverb-mcp-server
cd reverb-mcp-server
uv sync

cp .env.example .env
# add your REVERB_API_TOKEN to .env

# run with MCP Inspector
uv run mcp dev src/reverb_mcp/server.py --with-editable .

# run tests
uv run pytest -m "not integration"

# lint + type check
uv run ruff check . && uv run mypy src/

License

MIT - see LICENSE