Gumroad MCP Server
A Model Context Protocol (MCP) server for the Gumroad API, enabling AI assistants to look up subscription information, sales data, and product details.
Features
- Subscription Management: Get subscriber lists and individual subscriber details
- Sales Data: Query sales with filters (date range, email, pagination)
- Product Information: Retrieve product listings and details
- Type-Safe: Written in TypeScript with comprehensive type definitions
- Smithery Compatible: Ready to deploy on Smithery.ai
Available Tools
Subscribers
get_subscribers- Get all subscribers for a specific productget_subscriber- Get details for a specific subscriber
Sales
get_sales- Get all sales with optional filters (date range, email, pagination)get_sale- Get details for a specific sale
Products
get_products- Get all your Gumroad productsget_product- Get details for a specific product
Installation
Using Smithery (Recommended)
- Visit Smithery.ai
- Search for "gumroad-mcp" or install directly from this repository
- Configure with your Gumroad access token
- Deploy and use in Claude Desktop or other MCP clients
Manual Installation
# Clone the repository
git clone <your-repo-url>
cd gumroad-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run the server
GUMROAD_ACCESS_TOKEN=your_token_here npm start
Configuration
Getting Your Gumroad Access Token
- Go to https://gumroad.com/api
- Click "Create an application"
- Generate an access token
- Copy the token for use in configuration
Environment Variables
GUMROAD_ACCESS_TOKEN(required) - Your Gumroad API access token
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"gumroad": {
"command": "node",
"args": ["/path/to/gumroad-mcp/dist/index.js"],
"env": {
"GUMROAD_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Usage Examples
Get Product Subscribers
Get all subscribers for product ID "abc123"
The assistant will call get_subscribers with product_id: "abc123".
Query Sales by Email
Show me all sales for [email protected]
The assistant will call get_sales with email: "[email protected]".
Get Sales in Date Range
Show me all sales from January 2025
The assistant will call get_sales with appropriate after and before timestamps.
API Response Examples
Subscriber
{
"id": "sub_123",
"product_id": "prod_abc",
"product_name": "My Product",
"user_email": "[email protected]",
"status": "alive",
"recurrence": "monthly",
"created_at": "2025-01-01T00:00:00Z"
}
Sale
{
"id": "sale_123",
"email": "[email protected]",
"product_name": "My Product",
"price": 2900,
"formatted_display_price": "$29",
"timestamp": "2025-01-01T00:00:00Z",
"is_recurring_billing": true,
"subscription_id": "sub_123"
}
Development
# Install dependencies
npm install
# Build in watch mode
npm run dev
# Build for production
npm run build
# Run the server
npm start
API Permissions
The server requires a Gumroad access token with the following scopes:
view_sales- To read sales and subscription dataview_profile- To read product information
Error Handling
All tools include comprehensive error handling. If an API call fails, you'll receive a descriptive error message explaining what went wrong.
License
MIT