usefulapi

Gumroad MCP server. Read products, sales, subscribers and offer codes; verify, enable and disable product licenses.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://gumroad.usefulapi.io/mcp
  3. Authenticate with Gumroad when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "gumroad": {
      "url": "https://gumroad.usefulapi.io/mcp"
    }
  }
}
live22 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 22

ToolTypeWhat it does
gumroad_get_userread
Get user
Get the authenticated user associated with the current Gumroad access token. Gumroad REST: GET /v2/user.
gumroad_list_productsread
List products
List all of the authenticated user's products. Gumroad REST: GET /v2/products.
gumroad_get_productread
Get product
Get a single product by id. Gumroad REST: GET /v2/products/{id}.
gumroad_list_salesread
List sales
List/filter the authenticated user's successful sales, most recent first. Supports date, email, product/order filters and cursor pagination via page_key. Gumroad REST: GET /v2/sales.
gumroad_get_saleread
Get sale
Get a single sale by id. Gumroad REST: GET /v2/sales/{id}.
gumroad_list_subscribersread
List subscribers
List a membership/subscription product's subscribers, optionally filtered by buyer email. Gumroad REST: GET /v2/products/{product_id}/subscribers.
gumroad_get_subscriberread
Get subscriber
Get a single subscriber by id. Gumroad REST: GET /v2/subscribers/{id}.
gumroad_list_offer_codesread
List offer codes
List a product's offer codes (discount codes). Gumroad REST: GET /v2/products/{product_id}/offer_codes.
gumroad_get_offer_coderead
Get offer code
Get a single offer code on a product by id. Gumroad REST: GET /v2/products/{product_id}/offer_codes/{id}.
gumroad_list_variant_categoriesread
List variant categories
List a product's variant categories (option groups). Gumroad REST: GET /v2/products/{product_id}/variant_categories.
gumroad_get_variant_categoryread
Get variant category
Get a single variant category on a product by id. Gumroad REST: GET /v2/products/{product_id}/variant_categories/{id}.
gumroad_list_custom_fieldsread
List custom fields
List a product's custom fields (extra fields collected at checkout). Gumroad REST: GET /v2/products/{product_id}/custom_fields.
gumroad_list_resource_subscriptionsread
List resource subscriptions
List the authenticated user's resource subscriptions (webhooks) for a given resource/event name. Gumroad REST: GET /v2/resource_subscriptions.
gumroad_verify_licenseread
Verify license
Verify a license key for a product (checks validity and returns purchase details). By default this does NOT increment the uses count (no side effect). Gumroad REST: POST /v2/licenses/verify.
gumroad_enable_productwrite
Enable product
Enable (publish) a product so it can be sold. Gumroad REST: PUT /v2/products/{id}/enable.
gumroad_disable_productwrite
Disable product
Disable (unpublish) a product so it can no longer be sold. Gumroad REST: PUT /v2/products/{id}/disable.
gumroad_create_offer_codewrite
Create offer code
Create a new offer code (discount code) on a product. Gumroad REST: POST /v2/products/{product_id}/offer_codes.
gumroad_update_offer_codewrite
Update offer code
Update an existing offer code on a product (its code text and/or its max purchase count). Gumroad REST: PUT /v2/products/{product_id}/offer_codes/{id}.
gumroad_enable_licensewrite
Enable license
Enable a product's license key. Gumroad REST: PUT /v2/licenses/enable.
gumroad_disable_licensewrite
Disable license
Disable a product's license key. Gumroad REST: PUT /v2/licenses/disable.
gumroad_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached.
gumroad_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to Pro for unlimited tool calls, monthly ($9) or yearly ($90). Returns a Stripe Checkout link.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.