Gumroad MCP server. Read products, sales, subscribers and offer codes; verify, enable and disable product licenses.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"gumroad": {
"url": "https://gumroad.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
gumroad_get_user | read | Get user Get the authenticated user associated with the current Gumroad access token. Gumroad REST: GET /v2/user. |
gumroad_list_products | read | List products List all of the authenticated user's products. Gumroad REST: GET /v2/products. |
gumroad_get_product | read | Get product Get a single product by id. Gumroad REST: GET /v2/products/{id}. |
gumroad_list_sales | read | 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_sale | read | Get sale Get a single sale by id. Gumroad REST: GET /v2/sales/{id}. |
gumroad_list_subscribers | read | List subscribers List a membership/subscription product's subscribers, optionally filtered by buyer email. Gumroad REST: GET /v2/products/{product_id}/subscribers. |
gumroad_get_subscriber | read | Get subscriber Get a single subscriber by id. Gumroad REST: GET /v2/subscribers/{id}. |
gumroad_list_offer_codes | read | List offer codes List a product's offer codes (discount codes). Gumroad REST: GET /v2/products/{product_id}/offer_codes. |
gumroad_get_offer_code | read | 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_categories | read | List variant categories List a product's variant categories (option groups). Gumroad REST: GET /v2/products/{product_id}/variant_categories. |
gumroad_get_variant_category | read | 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_fields | read | 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_subscriptions | read | 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_license | read | 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_product | write | Enable product Enable (publish) a product so it can be sold. Gumroad REST: PUT /v2/products/{id}/enable. |
gumroad_disable_product | write | Disable product Disable (unpublish) a product so it can no longer be sold. Gumroad REST: PUT /v2/products/{id}/disable. |
gumroad_create_offer_code | write | 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_code | write | 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_license | write | Enable license Enable a product's license key. Gumroad REST: PUT /v2/licenses/enable. |
gumroad_disable_license | write | Disable license Disable a product's license key. Gumroad REST: PUT /v2/licenses/disable. |
gumroad_usage_status | 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_upgrade | Upgrade to Pro (unlimited) Subscribe to Pro for unlimited tool calls, monthly ($9) or yearly ($90). Returns a Stripe Checkout link. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Pro | $9/mo · $90/yr | Unlimited |
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.