MCP Server

gumroad

io.usefulapi/gumroad
Commerce & Retail Public & reachable MCP 2026-07-28

What this MCP does

Manages Gumroad products, sales, subscribers, discount codes, product publishing, and license verification.

gumroad_create_offer_code
Create offer code
Create a new offer code (discount code) on a product. Gumroad REST: POST /v2/products/{product_id}/offer_codes.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'name', 'amount_off'], 'properties': {'name': {'type': 'string', 'description': 'The discount code text buyers enter (e.g. LAUNCH20).'}, 'universal': {'type': 'boolean', 'description': "Whether the offer code applies to all of the user's products (default false)."}, 'amount_off': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': "The amount off — in cents when offer_type is 'cents', or a percentage when 'percent'."}, 'offer_type': {'enum': ['cents', 'percent'], 'type': 'string', 'description': "Whether amount_off is a fixed amount in 'cents' or a 'percent' discount (default 'cents')."}, 'product_id': {'type': 'string', 'description': 'The product id to create the offer code on.'}, 'max_purchase_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Optional cap on how many times the offer code can be used.'}}}
gumroad_disable_license
Disable license
Disable a product's license key. Gumroad REST: PUT /v2/licenses/disable.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'license_key'], 'properties': {'product_id': {'type': 'string', 'description': 'The product id the license belongs to.'}, 'license_key': {'type': 'string', 'description': 'The license key to disable.'}}}
gumroad_disable_product
Disable product
Disable (unpublish) a product so it can no longer be sold. Gumroad REST: PUT /v2/products/{id}/disable.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The product id to disable.'}}}
gumroad_enable_license
Enable license
Enable a product's license key. Gumroad REST: PUT /v2/licenses/enable.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'license_key'], 'properties': {'product_id': {'type': 'string', 'description': 'The product id the license belongs to.'}, 'license_key': {'type': 'string', 'description': 'The license key to enable.'}}}
gumroad_enable_product
Enable product
Enable (publish) a product so it can be sold. Gumroad REST: PUT /v2/products/{id}/enable.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The product id to enable.'}}}
gumroad_get_offer_code
Get offer code
Get a single offer code on a product by id. Gumroad REST: GET /v2/products/{product_id}/offer_codes/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'id'], 'properties': {'id': {'type': 'string', 'description': 'The offer code id.'}, 'product_id': {'type': 'string', 'description': 'The product id.'}}}
gumroad_get_product
Get product
Get a single product by id. Gumroad REST: GET /v2/products/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The product id.'}}}
gumroad_get_sale
Get sale
Get a single sale by id. Gumroad REST: GET /v2/sales/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The sale id.'}}}
gumroad_get_subscriber
Get subscriber
Get a single subscriber by id. Gumroad REST: GET /v2/subscribers/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The subscriber id.'}}}
gumroad_get_user
Get user
Get the authenticated user associated with the current Gumroad access token. Gumroad REST: GET /v2/user.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
gumroad_get_variant_category
Get variant category
Get a single variant category on a product by id. Gumroad REST: GET /v2/products/{product_id}/variant_categories/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'id'], 'properties': {'id': {'type': 'string', 'description': 'The variant category id.'}, 'product_id': {'type': 'string', 'description': 'The product id.'}}}
gumroad_list_custom_fields
List custom fields
List a product's custom fields (extra fields collected at checkout). Gumroad REST: GET /v2/products/{product_id}/custom_fields.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'product_id': {'type': 'string', 'description': 'The product id.'}}}
gumroad_list_offer_codes
List offer codes
List a product's offer codes (discount codes). Gumroad REST: GET /v2/products/{product_id}/offer_codes.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'product_id': {'type': 'string', 'description': 'The product id.'}}}
gumroad_list_products
List products
List all of the authenticated user's products. Gumroad REST: GET /v2/products.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
gumroad_list_resource_subscriptions
List resource subscriptions
List the authenticated user's resource subscriptions (webhooks) for a given resource/event name. Gumroad REST: GET /v2/resource_subscriptions.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['resource_name'], 'properties': {'resource_name': {'enum': ['sale', 'refund', 'dispute', 'dispute_won', 'cancellation', 'subscription_updated', 'subscription_ended', 'subscription_restarted'], 'type': 'string', 'description': 'The resource/event name whose webhook subscriptions to list.'}}}
gumroad_list_sales
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.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'after': {'type': 'string', 'description': 'Only sales after this date, formatted YYYY-MM-DD.'}, 'email': {'type': 'string', 'description': 'Filter to sales to this buyer email.'}, 'before': {'type': 'string', 'description': 'Only sales before this date, formatted YYYY-MM-DD.'}, 'order_id': {'type': 'string', 'description': 'Filter to a specific order id.'}, 'page_key': {'type': 'string', 'description': "Pagination cursor — pass the value from a previous response's next_page_key to fetch the next page."}, 'product_id': {'type': 'string', 'description': 'Filter to sales of this product id.'}}}
gumroad_list_subscribers
List subscribers
List a membership/subscription product's subscribers, optionally filtered by buyer email. Gumroad REST: GET /v2/products/{product_id}/subscribers.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'email': {'type': 'string', 'description': 'Filter to the subscriber with this buyer email.'}, 'product_id': {'type': 'string', 'description': 'The membership product id.'}}}
gumroad_list_variant_categories
List variant categories
List a product's variant categories (option groups). Gumroad REST: GET /v2/products/{product_id}/variant_categories.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'product_id': {'type': 'string', 'description': 'The product id.'}}}
gumroad_update_offer_code
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}.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'id'], 'properties': {'id': {'type': 'string', 'description': 'The offer code id to update.'}, 'offer_code': {'type': 'string', 'description': 'New discount code text.'}, 'product_id': {'type': 'string', 'description': 'The product id the offer code belongs to.'}, 'max_purchase_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'New cap on how many times the offer code can be used.'}}}
gumroad_verify_license
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.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'license_key'], 'properties': {'product_id': {'type': 'string', 'description': 'The product id the license belongs to.'}, 'license_key': {'type': 'string', 'description': 'The license key to verify.'}, 'increment_uses_count': {'type': 'boolean', 'description': "Whether to increment the license's uses count (default false — pass true to record a use)."}}}
Changed
gumroad_disable_license
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_enable_license
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_update_offer_code
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_create_offer_code
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_disable_product
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_enable_product
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_verify_license
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_list_resource_subscriptions
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_list_custom_fields
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_get_variant_category
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_list_variant_categories
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_get_offer_code
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_list_offer_codes
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_get_subscriber
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_list_subscribers
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_get_sale
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_list_sales
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_get_product
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_list_products
Oct. 1, 2026, 2:50 a.m.
Changed
gumroad_get_user
Oct. 1, 2026, 2:50 a.m.
Added
gumroad_disable_license
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_enable_license
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_update_offer_code
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_create_offer_code
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_disable_product
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_enable_product
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_verify_license
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_list_resource_subscriptions
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_list_custom_fields
Sept. 17, 2026, 12:53 p.m.
Added
gumroad_get_variant_category
Sept. 17, 2026, 12:53 p.m.