Gumroad MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GUMROAD_ACCOUNTS | No | Private named JSON array: name, access_token/token_file, license_key/license_file; no fallback. | |
| GUMROAD_AUDIT_LOG | No | Optional private best-effort static guard decisions. | |
| GUMROAD_READ_ONLY | No | 1/true hides/directly refuses the 32 effects. | |
| GUMROAD_TOKEN_FILE | No | Absolute owner-private seller token-only file. | |
| GUMROAD_LICENSE_KEY | No | Independent private customer license; choose this OR GUMROAD_LICENSE_FILE. | |
| GUMROAD_ACCESS_TOKEN | No | Private seller Bearer token; choose this OR GUMROAD_TOKEN_FILE. | |
| GUMROAD_LICENSE_FILE | No | Absolute owner-private license-only file. | |
| GUMROAD_DEFAULT_ACCOUNT | No | Exact configured default profile label. | |
| GUMROAD_ALLOW_DESTRUCTIVE | No | 0/false refuses effects even with confirm. | |
| GUMROAD_REQUEST_TIMEOUT_MS | No | Default 30000; accepted 100–300000 milliseconds. | 30000 |
| GUMROAD_MIN_REQUEST_INTERVAL_MS | No | Default 1000; accepted 0–10000 milliseconds; not distributed quota enforcement. | 1000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_userB | Get user. Reviewed native GET /user; scope: view_profile. Read only; no local effect approval required. |
| list_categoriesA | List categories. Reviewed native GET /categories; scope: view_profile. Read only; no local effect approval required. |
| list_productsB | List products. Reviewed native GET /products; scope: view_profile. Read only; no local effect approval required. |
| get_productB | Get product. Reviewed native GET /products/:id; scope: view_profile. Read only; no local effect approval required. |
| create_productB | Create product. Reviewed native POST /products; scope: edit_products. Requires explicit per-call confirmation. |
| update_productB | Update product. Reviewed native PUT /products/:id; scope: edit_products. Requires explicit per-call confirmation. |
| delete_productA | Delete product. Reviewed native DELETE /products/:id; scope: edit_products. Requires explicit per-call confirmation. |
| enable_productA | Enable product. Reviewed native PUT /products/:id/enable; scope: edit_products. Requires explicit per-call confirmation. |
| disable_productA | Disable product. Reviewed native PUT /products/:id/disable; scope: edit_products. Requires explicit per-call confirmation. |
| list_salesB | List sales. Reviewed native GET /sales; scope: view_sales. Read only; no local effect approval required. |
| get_saleA | Get sale. Reviewed native GET /sales/:id; scope: view_sales. Read only; no local effect approval required. |
| mark_sale_as_shippedA | Mark sale as shipped. Reviewed native PUT /sales/:id/mark_as_shipped; scope: mark_sales_as_shipped. Requires explicit per-call confirmation. |
| refund_saleA | Refund sale. Reviewed native PUT /sales/:id/refund; scope: edit_sales. Requires explicit per-call confirmation. |
| revoke_sale_accessA | Revoke sale access. Reviewed native PUT /sales/:id/revoke_access; scope: edit_sales. Requires explicit per-call confirmation. |
| restore_sale_accessA | Restore sale access. Reviewed native PUT /sales/:id/undo_revoke_access; scope: edit_sales. Requires explicit per-call confirmation. |
| resend_sale_receiptA | Resend sale receipt. Reviewed native POST /sales/:id/resend_receipt; scope: edit_sales. Requires explicit per-call confirmation. |
| list_subscribersB | List subscribers. Reviewed native GET /products/:product_id/subscribers; scope: view_sales. Read only; no local effect approval required. |
| get_subscriberB | Get subscriber. Reviewed native GET /subscribers/:id; scope: view_sales. Read only; no local effect approval required. |
| verify_licenseB | Verify license. Reviewed native POST /licenses/verify; scope: No OAuth required. Read only; no local effect approval required. |
| enable_licenseA | Enable license. Reviewed native PUT /licenses/enable; scope: edit_products. Requires explicit per-call confirmation. |
| disable_licenseA | Disable license. Reviewed native PUT /licenses/disable; scope: edit_products. Requires explicit per-call confirmation. |
| decrement_license_usesA | Decrement license uses. Reviewed native PUT /licenses/decrement_uses_count; scope: edit_products. Requires explicit per-call confirmation. |
| rotate_licenseB | Rotate license. Reviewed native PUT /licenses/rotate; scope: edit_products. Requires explicit per-call confirmation. |
| create_variant_categoryA | Create variant category. Reviewed native POST /products/:product_id/variant_categories; scope: edit_products. Requires explicit per-call confirmation. |
| get_variant_categoryA | Get variant category. Reviewed native GET /products/:product_id/variant_categories/:id; scope: edit_products. Read only; no local effect approval required. |
| update_variant_categoryA | Update variant category. Reviewed native PUT /products/:product_id/variant_categories/:id; scope: edit_products. Requires explicit per-call confirmation. |
| delete_variant_categoryA | Delete variant category. Reviewed native DELETE /products/:product_id/variant_categories/:id; scope: edit_products. Requires explicit per-call confirmation. |
| list_variant_categoriesA | List variant categories. Reviewed native GET /products/:product_id/variant_categories; scope: edit_products. Read only; no local effect approval required. |
| create_variantA | Create variant. Reviewed native POST /products/:product_id/variant_categories/:variant_category_id/variants; scope: edit_products. Requires explicit per-call confirmation. |
| get_variantA | Get variant. Reviewed native GET /products/:product_id/variant_categories/:variant_category_id/variants/:id; scope: edit_products. Read only; no local effect approval required. |
| update_variantC | Update variant. Reviewed native PUT /products/:product_id/variant_categories/:variant_category_id/variants/:id; scope: edit_products. Requires explicit per-call confirmation. |
| delete_variantA | Delete variant. Reviewed native DELETE /products/:product_id/variant_categories/:variant_category_id/variants/:id; scope: edit_products. Requires explicit per-call confirmation. |
| list_variantsA | List variants. Reviewed native GET /products/:product_id/variant_categories/:variant_category_id/variants; scope: edit_products. Read only; no local effect approval required. |
| list_offer_codesA | List offer codes. Reviewed native GET /products/:product_id/offer_codes; scope: edit_products. Read only; no local effect approval required. |
| get_offer_codeB | Get offer code. Reviewed native GET /products/:product_id/offer_codes/:id; scope: edit_products. Read only; no local effect approval required. |
| create_offer_codeA | Create offer code. Reviewed native POST /products/:product_id/offer_codes; scope: edit_products. Requires explicit per-call confirmation. |
| update_offer_codeA | Update offer code. Reviewed native PUT /products/:product_id/offer_codes/:id; scope: edit_products. Requires explicit per-call confirmation. |
| delete_offer_codeA | Delete offer code. Reviewed native DELETE /products/:product_id/offer_codes/:id; scope: edit_products. Requires explicit per-call confirmation. |
| list_custom_fieldsA | List custom fields. Reviewed native GET /products/:product_id/custom_fields; scope: edit_products. Read only; no local effect approval required. |
| create_custom_fieldA | Create custom field. Reviewed native POST /products/:product_id/custom_fields; scope: edit_products. Requires explicit per-call confirmation. |
| update_custom_fieldA | Update custom field. Reviewed native PUT /products/:product_id/custom_fields/:name; scope: edit_products. Requires explicit per-call confirmation. |
| delete_custom_fieldA | Delete custom field. Reviewed native DELETE /products/:product_id/custom_fields/:name; scope: edit_products. Requires explicit per-call confirmation. |
| create_resource_subscriptionA | Create resource subscription. Reviewed native PUT /resource_subscriptions; scope: view_sales for sale event; provider authorization for other events. Requires explicit per-call confirmation. |
| list_resource_subscriptionsA | List resource subscriptions. Reviewed native GET /resource_subscriptions; scope: view_sales for sale event; provider authorization for other events. Read only; no local effect approval required. |
| delete_resource_subscriptionA | Delete resource subscription. Reviewed native DELETE /resource_subscriptions/:resource_subscription_id; scope: view_sales for sale event; provider authorization for other events. Requires explicit per-call confirmation. |
| get_refund_policyC | Get refund policy. Reviewed native GET /refund_policy; scope: account. Read only; no local effect approval required. |
| update_refund_policyB | Update refund policy. Reviewed native PUT /refund_policy; scope: account. Requires explicit per-call confirmation. |
| list_payoutsA | List payouts. Reviewed native GET /payouts; scope: view_payouts. Read only; no local effect approval required. |
| get_payoutB | Get payout. Reviewed native GET /payouts/:id; scope: view_payouts. Read only; no local effect approval required. |
| get_upcoming_payoutB | Get upcoming payout. Reviewed native GET /payouts/upcoming; scope: view_payouts. Read only; no local effect approval required. |
| increment_license_usesA | Verify the intended private license and increment its native usage counter. Explicit confirmation required; no OAuth required. |
| get_custom_fieldA | Compatibility read using documented list_custom_fields then exact field-name match. There is no native single-custom-field GET endpoint. |
| list_accountsB | Local profile labels/default and credential availability only. No secrets, file paths, provider identity or network. |
| get_operation_schemaB | Local native method/path, fields, scopes and pinned provenance. Field subset, not an official OpenAPI document or permission proof. |
| preview_commerce_batchB | Local validation/hash binding exact ordered requests/profile label/native snapshot. No provider requests, secret loading, ownership/state validation or financial guarantee. |
| submit_commerce_batchB | Confirmed ordered native effects, all prevalidated before first request, exact hash checked, stops first failure with known/unattempted receipts. No retry or implicit continuation. |
| export_resourcesB | Confirmed cursor-based JSON export into a new exclusive0600 private file, with page/item/byte budgets and explicit continuation. No URL following, digital files or atomic backup. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 57 tools
Tools are well-differentiated by resource and action (e.g., list_products vs get_product, create_variant vs update_variant). A few potential overlaps exist, such as enable_product/disable_product vs update_product, and increment_license_uses vs decrement_license_uses, but descriptions clarify scope. The local meta-tools (preview_commerce_batch, submit_commerce_batch, export_resources) are distinct from native API tools.
All tool names follow a consistent verb_noun pattern (list_products, create_product, get_sale, etc.), with no mixing of camelCase or other styles. Even special tools like preview_commerce_batch and submit_commerce_batch fit the pattern. This makes the set highly predictable.
With 57 tools, the server is heavily over-provisioned for typical agent use. While each tool may earn its place individually, the sheer number increases selection complexity and cognitive load. A smaller, more focused set would likely suffice for most workflows.
The tool set provides comprehensive CRUD and lifecycle coverage across all major Gumroad resources: products, sales, licenses, variants, offer codes, custom fields, payouts, subscriptions, and account settings. Even edge cases like license rotation and refund policy updates are included. No obvious gaps remain.