Gumroad
FreeNot checkedMCP server for the Gumroad API — products, sales and payouts as tools for Claude and other MCP clients. Python / FastMCP.
About
MCP server for the Gumroad API — products, sales and payouts as tools for Claude and other MCP clients. Python / FastMCP.
README
Read-only MCP server for your Gumroad store — products, sales, and revenue summaries, exposed as tools your AI agent can call.
Built by a store operator, not from the API docs alone:
- Sales are fully paginated — and say so when they aren't. The v2 sales endpoint pages by
page_key; naive clients read page 1 and silently under-report. This server walks every page. There is a hard page cap so a huge store can't hang a session, and if that cap is ever hit the response carries"complete": falseplus an explicit warning that the totals are a floor. A truncated total is never returned as if it were the real number. - Money is integer cents + a formatted string. Models shouldn't do float arithmetic on revenue.
- Refunds are first-class.
salesandrevenue_summaryreport gross and net-of-refunds. - Buyer privacy by default. Sales rows expose the buyer's email domain only — enough for channel analysis, no PII handed to the model.
- Read-only by design. Only GET endpoints. The token comes from the environment and is never echoed or logged.
- No false delivery alarms. Gumroad returns an empty
file_infofor multi-file products, so "empty" does not mean "no file attached". This server reports that field as the raw API fact it is (file_info_reported_by_api) and attaches a note, instead of asserting a delivery status the endpoint cannot actually tell you.
Requires the 1.x MCP SDK.
mcp2.0.0 removedmcp.server.fastmcp, so the dependency is pinnedmcp>=1.0.0,<2.0.0. Porting to the 2.x (mcp.server.mcpserver) API is tracked as follow-up.
Tools
| Tool | What it answers |
|---|---|
list_products() |
What am I actually selling? Name, permalink, price, published state, sales count |
sales(after, before, product_id) |
Every sale in a window, paginated to the end, with totals |
revenue_summary(after) |
One-call health check: product counts, lifetime sales per product, revenue since a date (default: this month) |
Install
git clone https://github.com/stcmain/gumroad-mcp.git
cd gumroad-mcp
pip install .
Get a token: Gumroad → Settings → Advanced → Applications → create app → copy the access token.
Register with Claude Code:
claude mcp add --scope user gumroad --env GUMROAD_ACCESS_TOKEN=your_token -- gumroad-mcp
Or any MCP client config:
{
"mcpServers": {
"gumroad": {
"command": "gumroad-mcp",
"env": { "GUMROAD_ACCESS_TOKEN": "your_token" }
}
}
}
License
MIT © Zachary Pampu
Installing Gumroad
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/stcmain/gumroad-mcpFAQ
Is Gumroad MCP free?
Yes, Gumroad MCP is free — one-click install via Unyly at no cost.
Does Gumroad need an API key?
No, Gumroad runs without API keys or environment variables.
Is Gumroad hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Gumroad in Claude Desktop, Claude Code or Cursor?
Open Gumroad on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Gumroad with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
