Gumroad
Servidor MCP de Gumroad
Su navegador no soporta la etiqueta de vídeo.
Descripción general
Una implementación de servidor de Protocolo de contexto de modelo (MCP) para Gumroad , que permite que los clientes de IA compatibles con MCP, como Claude Desktop, interactúen con la API de Gumroad .
El Protocolo de Contexto de Modelo (MCP) permite que los asistentes de IA interactúen con herramientas y servicios externos.
Related MCP server: MCP Server Example
Inicio rápido
Comience a utilizar Gumroad MCP Server con Claude Desktop en segundos:
npx gumroad-mcp@latest initEste comando configura el servidor MCP con sus credenciales de Gumroad a través de un mensaje interactivo.
Uso
Una vez configurado, pruebe estos comandos en su cliente compatible con MCP:
¿Cuántas ventas hice el mes pasado en comparación con el año pasado?
Generar un gráfico interactivo con las ventas del año pasado
Enumere mis productos más vendidos en Gumroad del año pasado
Mostrar la tendencia mes a mes de mi producto más vendido el año pasado
Deshabilitar el producto "Nombre del producto"
Habilitar el producto "Nombre del producto"
Lista de todos los códigos de oferta para "Nombre del producto"
Crea un nuevo código de oferta "FAFO" con un 99% de descuento para "Nombre del producto".
Eliminar el código de oferta "abc123" de "Nombre del producto".
Herramientas
Productos
gumroad_get_products- Obtener todos los productosgumroad_get_product- Obtener un solo producto por IDgumroad_disable_product- Deshabilitar un productogumroad_enable_product- Habilitar un producto
Ventas
gumroad_get_sales- Obtener datos de ventas
Códigos de oferta
gumroad_get_offer_codes- Obtener todos los códigos de oferta para un productogumroad_get_offer_code- Obtén un único código de ofertagumroad_create_offer_code- Crea un nuevo código de ofertagumroad_update_offer_code- Actualizar un código de oferta existentegumroad_delete_offer_code- Eliminar un código de oferta
Usuario
gumroad_get_user- Obtener datos de usuario autenticado
Instalación
Instalación mediante herrería
Para instalar gumroad-mcp para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @rmarescu/gumroad-mcp --client claudePrerrequisitos
Node.js 18 o posterior
Una cuenta de Gumroad con acceso a la API
Un cliente compatible con MCP (como Claude Desktop)
Para verificar que tiene Node instalado, abra la línea de comando en su computadora.
En macOS, abra la Terminal desde su carpeta Aplicaciones
En Windows, presione Windows + R, escriba "cmd" y presione Enter
Una vez en la línea de comandos, verifique que tenga Node instalado ingresando el siguiente comando:
node --versionGenerar un token de acceso a Gumroad
La API de Gumroad requiere autenticación . Para generar un token de acceso, siga estos pasos:
Inicie sesión en su cuenta de Gumroad (o en su propia instancia de Gumroad).
Vaya a Configuración > página Avanzada .
Cree una nueva aplicación proporcionando la siguiente información:
Icono de la aplicación (opcional): una pequeña imagen en miniatura para identificar su aplicación.
Nombre de la aplicación: un nombre para su aplicación.
URI de redireccionamiento: para uso personal, puede ingresar
http://127.0.0.1(localhost) ya que este valor no es significativo en este contexto.
Haga clic en "Crear aplicación".
Utilice el botón "Generar token de acceso" para obtener su token de acceso.
Mantenga su token de acceso seguro y confidencial, como una contraseña. Deberá incluirlo en su configuración, como se muestra a continuación.
Instalación de Claude Desktop
Si utiliza Claude Desktop, puede utilizar la configuración interactiva:
npx gumroad-mcp@latest initInstalación manual
Para otras aplicaciones habilitadas para MCP , deberá actualizar la configuración de MCP manualmente.
Ejemplo de configuración
{
"mcpServers": {
"gumroad": {
"command": "npx",
"args": ["-y", "gumroad-mcp@latest"],
"env": {
"GUMROAD_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}Si está utilizando una instancia de Gumroad autohospedada, puede configurar el servidor para conectarse a su URL personalizada a través de GUMROAD_BASE_URL :
{
"mcpServers": {
"gumroad": {
"command": "npx",
"args": ["-y", "gumroad-mcp@latest"],
"env": {
"GUMROAD_ACCESS_TOKEN": "<YOUR_TOKEN>",
"GUMROAD_BASE_URL": "https://example.com"
}
}
}
}[!NOTA] El servidor añade automáticamente la versión de la API (
/v2) a la URL base. Por ejemplo, conGUMROAD_BASE_URL="https://example.com", las solicitudes de la API se enviarán ahttps://example.com/v2.
Consulte estas instrucciones sobre cómo agregar el servidor MCP a Claude Desktop.
Contribuyendo
¿Encontraste un error o quieres sugerir una función? Abre un problema o envía una solicitud de incorporación de cambios en GitHub.
Licencia
Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.
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