Gumroad
Gumroad MCP 服务器
您的浏览器不支持视频标签。
概述
Gumroad的模型上下文协议 (MCP) 服务器实现,使 MCP 兼容的 AI 客户端(如 Claude Desktop)能够与Gumroad API进行交互。
模型上下文协议 (MCP)允许 AI 助手与外部工具和服务进行交互。
Related MCP server: MCP Server Example
快速入门
几秒钟内即可开始使用 Gumroad MCP Server 和 Claude Desktop:
npx gumroad-mcp@latest init此命令通过交互式提示使用您的Gumroad 凭据设置 MCP 服务器。
用法
配置完成后,请在兼容 MCP 的客户端中尝试以下命令:
与去年同期相比,我上个月的销售量是多少?
生成包含去年销售额的交互式图表
列出我去年在 Gumroad 上最畅销的产品
显示去年我最畅销产品的月度趋势
禁用“产品名称”产品
启用“产品名称”产品
列出“产品名称”的所有优惠代码
为“产品名称”创建新的优惠码“FAFO”,享受 99% 折扣
从“产品名称”中删除优惠码“abc123”
工具
产品
gumroad_get_products- 获取所有产品gumroad_get_product- 通过 ID 获取单个产品gumroad_disable_product- 禁用产品gumroad_enable_product- 启用产品
销售量
gumroad_get_sales- 获取销售数据
优惠代码
gumroad_get_offer_codes- 获取产品的所有优惠代码gumroad_get_offer_code- 获取单一优惠代码gumroad_create_offer_code- 创建新的优惠代码gumroad_update_offer_code- 更新现有的优惠代码gumroad_delete_offer_code- 删除优惠代码
用户
gumroad_get_user- 获取经过身份验证的用户数据
安装
通过 Smithery 安装
通过Smithery自动为 Claude Desktop 安装 gumroad-mcp:
npx -y @smithery/cli install @rmarescu/gumroad-mcp --client claude先决条件
Node.js 18 或更高版本
具有 API 访问权限的 Gumroad 帐户
与 MCP 兼容的客户端(例如 Claude Desktop)
要验证您是否已安装 Node,请在您的计算机上打开命令行。
在 macOS 上,从“应用程序”文件夹打开“终端”
在 Windows 上,按 Windows + R,输入“cmd”,然后按 Enter 键
进入命令行后,通过输入以下命令验证是否已安装 Node:
node --version生成 Gumroad 访问令牌
Gumroad API 需要身份验证。要生成访问令牌,请按照以下步骤操作:
登录您的 Gumroad 帐户(或您自己的 Gumroad 实例)。
转到设置>高级页面。
通过提供以下信息来创建新的应用程序:
应用程序图标(可选):用于识别您的应用程序的小缩略图。
应用程序名称:您的应用程序的名称。
重定向 URI:对于个人使用,您可以输入
http://127.0.0.1(localhost),因为此值在此上下文中没有意义。
点击“创建应用程序”。
使用“生成访问令牌”按钮获取您的访问令牌。
像密码一样,妥善保管您的访问令牌并保密。您需要将其添加到您的配置中,如下所示。
Claude桌面安装
如果您使用 Claude Desktop,则可以使用交互式设置:
npx gumroad-mcp@latest init手动安装
对于其他支持 MCP 的应用程序,您需要手动更新 MCP 配置。
示例配置
{
"mcpServers": {
"gumroad": {
"command": "npx",
"args": ["-y", "gumroad-mcp@latest"],
"env": {
"GUMROAD_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}如果您使用的是自托管的 Gumroad 实例,则可以将服务器配置为通过GUMROAD_BASE_URL连接到您的自定义 URL:
{
"mcpServers": {
"gumroad": {
"command": "npx",
"args": ["-y", "gumroad-mcp@latest"],
"env": {
"GUMROAD_ACCESS_TOKEN": "<YOUR_TOKEN>",
"GUMROAD_BASE_URL": "https://example.com"
}
}
}
}服务器会自动将 API 版本 (
/v2) 附加到你的基准 URL。例如,设置GUMROAD_BASE_URL="https://example.com"后,API 请求将被发送到https://example.com/v2。
请参考这些说明,了解如何将 MCP 服务器添加到 Claude Desktop。
贡献
发现了 Bug 或想要建议功能?请在 GitHub 上创建问题或提交拉取请求。
执照
此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。
Available Tools
11 toolsgumroad_create_offer_codeB
Creates a new offer code for a product
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name/code of the offer (coupon code used at checkout) | |
| universal | No | Whether this offer applies to all products. Default: false | |
| amount_off | Yes | The amount to discount | |
| offer_type | No | The type of offer (cents or percent). Default: cents | |
| product_id | Yes | The ID of the product this offer applies to | |
| max_purchase_count | No | Maximum number of times this offer can be used |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only says what the tool does, not how. It omits side effects (e.g., whether it overwrites existing codes), authorization needs, or error behaviors, leaving the agent with insufficient context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence without any extraneous information. It is front-loaded and efficient, earning its place without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 6 parameters and no output schema or annotations, the description is minimal. It does not explain return values, validation rules, or error conditions, leaving the agent underinformed for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 6 parameters with descriptions, so baseline is 3. The tool description adds no additional meaning beyond what the schema already provides, but it neither contradicts nor improves parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Creates') and the resource ('offer code for a product'). It effectively distinguishes this tool from sibling tools like gumroad_delete_offer_code or gumroad_update_offer_code, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating offer codes but provides no explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, appropriate contexts, or situations where it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_delete_offer_codeC
Deletes an offer code for a product
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The ID of the product this offer applies to | |
| offer_code_id | Yes | The ID of the offer code to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It simply states 'Deletes' without disclosing consequences (e.g., irreversibility, impact on existing uses, or required permissions).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is appropriately sized for a straightforward delete operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive action with no output schema, the description should mention the return value or confirm successful deletion. It also lacks context about irreversibility or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and parameter descriptions are clear. The tool description adds no extra meaning beyond what is already in the schema, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Deletes' and identifies the resource 'offer code for a product'. It clearly distinguishes from sibling tools like 'gumroad_create_offer_code' and 'gumroad_update_offer_code', but lacks additional scope details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not mention that deletion is permanent or that it should be used when the offer code is no longer needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_disable_productB
Disables a product by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The ID of the product to disable |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states the action without explaining reversibility, side effects on offer codes or sales, or authorization needs. The lack of detail is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it could be improved by adding a brief note on effects or usage, but it remains appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is minimally complete. It lacks explanations of return values or side effects, which are noticeable but not critical for this simple action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single parameter 'product_id'. The description adds no meaningful extra meaning beyond 'by its ID', so it meets the baseline but does not improve clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Disables' and the resource 'a product', distinguishing it from siblings like 'enable_product' and other tools. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to disable a product versus using alternatives (e.g., enabling, deleting, or updating). There is no context about prerequisites or consequences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_enable_productB
Enables a product by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The ID of the product to enable |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden but only says 'enables', omitting side effects, reversibility, or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single efficient sentence with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple one-param tool but lacks behavioral context such as prerequisites or effects of enabling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description; the tool description adds no extra meaning beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'enables' and the resource 'product', and implicitly distinguishes from sibling gumroad_disable_product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like disable, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_get_offer_codeA
Retrieves a single offer code by its ID for a specific product
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The product ID the offer code belongs to | |
| offer_code_id | Yes | The ID of the offer code to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It mentions 'retrieves' indicating a read operation, but lacks details on permissions, errors, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description covers the essential purpose, though it does not explain the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond what the schema already provides for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a single offer code by ID for a specific product, using a specific verb and resource, and is distinct from 'get_offer_codes' (plural).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a specific offer code ID, but does not explicitly state when to use versus alternatives like 'get_offer_codes' or other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_get_offer_codesA
Retrieves all offer codes for a product
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The product ID to get offer codes for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description is minimal but adequate for a simple read operation. Does not mention that it is non-destructive or any other traits beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, concise sentence with no unnecessary words. Front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with one parameter and no output schema. Description is adequate but could hint at return format (e.g., 'returns an array of offer codes') or mention that it lists all codes without pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: product_id is described in the schema. Tool description adds no additional meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves all offer codes for a product, with a specific verb and resource. It distinguishes from sibling tool gumroad_get_offer_code (singular) which retrieves a single offer code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., when to use the singular variant). Agent must infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_get_productB
Retrieves a single product by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The ID of the product to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only states the retrieval action but omits critical details like error handling (e.g., product not found), permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. Efficiently communicates the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter tool with no output schema, the description is minimally adequate but lacks any extra context about return format or error behavior, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description is already clear in the schema. The tool description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'retrieves', the resource 'single product', and the method 'by its ID'. It effectively distinguishes from sibling tools like gumroad_get_products (plural) and modification tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., gumroad_get_products for listing). The description lacks context on prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_get_productsB
Retrieves all of the products
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states 'retrieves', which implies read-only, but no disclosure of pagination, rate limits, data freshness, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no wasted words. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal description for a zero-parameter tool. No output schema, so agent must infer return format. Sufficient for a simple list but lacks detail on scope and constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Baseline is 4, but the description adds no meaning beyond 'all products', which is vague (e.g., does it include all products across the account? Marketplace?). Hence slight deduction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves all products, distinguishing from siblings like gumroad_get_product which retrieves a single product. However, it does not explicitly differentiate from similar list endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like gumroad_get_product or when not to use it. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_get_salesC
Retrieves all of the successful sales
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Only return sales after this date (YYYY-MM-DD) | |
| No | Filter sales by this email | ||
| before | No | Only return sales before this date (YYYY-MM-DD) | |
| order_id | No | Filter sales by this Order ID | |
| page_key | No | A key representing a page of results | |
| product_id | No | Filter sales by this product |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides no behavioral details beyond a generic retrieval. It does not mention pagination (despite a page_key parameter), rate limits, or that it's read-only. With no annotations, the description carries full burden but fails to disclose important traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no behavioral context, the description is incomplete. It omits details on pagination, filtering behavior, and return value structure, which are essential for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description adds no parameter-specific meaning, but the schema already covers semantics adequately, warranting a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Retrieves all of the successful sales' clearly states the verb (retrieves) and resource (sales), distinguishing it from siblings which handle products or offer codes. However, it doesn't capture that filtering is possible via parameters, somewhat oversimplifying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context or comparison to alternatives is provided. The description does not indicate when to use this tool versus other gumroad tools, nor when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_get_userA
Retrieves the authenticated user's data. Available with any scope.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates a read operation ('retrieves'), but lacks details on side effects, rate limits, or authentication requirements beyond scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, efficiently conveying the purpose. While more detail could be added, it avoids unnecessary verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description could benefit from explaining the return value structure. As is, it only states the basic operation, leaving some context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is 100%. The description adds no param info, but none is needed. Baseline is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieves') and the resource ('authenticated user's data'). This distinguishes it from sibling tools that deal with offer codes, products, and sales.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Available with any scope', which gives some context on authentication. However, it does not explicitly state when to use this tool vs alternatives or exclude certain scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gumroad_update_offer_codeA
Updates the max purchase count of an existing offer code for a product
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The ID of the product this offer applies to | |
| offer_code_id | Yes | The ID of the offer code to update | |
| max_purchase_count | No | Maximum number of times this offer can be used |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It only states the core function but does not disclose potential side effects (e.g., whether updating the count affects existing purchases or requires the offer code to be active). It lacks details on reversibility, authorization needs, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the tool's purpose. It is concise, front-loaded with the verb, and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (3 parameters, no output schema, no nested objects), the description is minimally adequate. However, it could be improved by indicating what happens on success (e.g., returns updated offer code) or how errors are handled. No output schema is provided, so the description could briefly note the return type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, the description adds value by specifying that only the max_purchase_count is updated, which is not explicitly stated in the schema where all three parameters are listed. This clarifies the tool's scope and distinguishes it from a hypothetical general update tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action: updating the max purchase count of an existing offer code. It uses a specific verb 'Updates' and a specific resource 'max purchase count of an existing offer code', which distinguishes it from sibling tools like create, delete, or get offer codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you want to modify the max purchase count, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., creating a new offer code or deleting one). There is no mention of prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
11 tool updates
v1.0.0- First observed
gumroad_create_offer_code - First observed
gumroad_delete_offer_code - First observed
gumroad_disable_product - First observed
gumroad_enable_product - First observed
gumroad_get_offer_code - First observed
gumroad_get_offer_codes - First observed
gumroad_get_product - First observed
gumroad_get_products - First observed
gumroad_get_sales - First observed
gumroad_get_user - First observed
gumroad_update_offer_code
TDQS
Scored across 11 tools
Each tool targets a distinct action and entity: offer codes have separate create/delete/get/update, products have enable/disable/get, plus individual tools for sales and user. No overlapping purposes.
All tools follow the uniform pattern `gumroad_verb_noun` in snake_case, with clear verbs (create, delete, disable, enable, get, update) and nouns (offer_code, product, sales, user). Highly consistent.
11 tools is well-scoped for a Gumroad integration, covering product management, offer codes, sales, and user info without being overwhelming or sparse.
Offer codes have full CRUD, but products lack create/update/delete, and sales only support a single 'get all' without filtering or detail. These are notable gaps for a complete workflow.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
MCP server for Lemon Squeezy — stores, products, orders, subscriptions, license keys.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Related MCP Servers
- AlicenseAqualityFmaintenanceModel Context Protocol (MCP) server implementation that enables Claude Desktop to interact with Google's Gemini AI models.620 npm261MIT
- AlicenseBqualityDmaintenanceAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.1162MIT
- AlicenseAqualityDmaintenanceMCP server that integrates with Gumroad API, enabling Claude to list products, view sales, and get sales summaries for your Gumroad store.4102 npmMIT
- AlicenseBqualityDmaintenanceA Model Context Protocol (MCP) server that provides tools for managing GoHighLevel (GHL) conversations, tasks, and calendar appointments through AI assistants like Claude.2173 npmMIT