Gumroad
Gumroad MCP サーバー
お使いのブラウザはビデオタグをサポートしていません。
概要
Gumroad用の Model Context Protocol (MCP) サーバー実装。Claude Desktop などの MCP 対応 AI クライアントがGumroad APIと対話できるようになります。
モデル コンテキスト プロトコル (MCP)により、AI アシスタントは外部のツールやサービスと対話できるようになります。
Related MCP server: MCP Server Example
クイックスタート
数秒でClaude DesktopでGumroad MCP Serverの使用を開始できます。
npx gumroad-mcp@latest initこのコマンドは、対話型プロンプトを通じてGumroad の資格情報を使用して MCP サーバーを設定します。
使用法
設定が完了したら、MCP 互換クライアントで次のコマンドを試してください。
先月と1年前の売上はどれくらいでしたか?
昨年の売上を示すインタラクティブなグラフを生成する
昨年Gumroadで最も売れた商品をリストアップする
昨年最も売れた商品の月ごとの傾向を表示します
「製品名」製品を無効にする
「製品名」製品を有効にする
「製品名」のすべてのオファーコードを一覧表示します
「商品名」が99%オフになる新しいオファーコード「FAFO」を作成します
「商品名」からオファーコード「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 用の gutroad-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 --versionGumroadアクセストークンを生成する
Gumroad API は認証が必要です。アクセストークンを生成するには、以下の手順に従ってください。
Gumroad アカウント (または Gumroad の独自のインスタンス) にログインします。
[設定] > [詳細設定]ページに移動します。
次の情報を入力して新しいアプリケーションを作成します。
アプリケーション アイコン (オプション): アプリケーションを識別するための小さなサムネイル画像。
アプリケーション名: アプリケーションの名前。
リダイレクト URI: 個人使用の場合、この値はこのコンテキストでは意味がないため、
http://127.0.0.1(localhost) を入力できます。
「アプリケーションを作成」をクリックします。
「アクセス トークンの生成」ボタンを使用してアクセス トークンを取得します。
アクセストークンはパスワードと同様に安全かつ機密に保管してください。以下の手順で設定に含める必要があります。
クロードデスクトップインストール
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"
}
}
}
}[!NOTE] サーバーは、ベースURLにAPIバージョン(
/v2)を自動的に追加します。例えば、GUMROAD_BASE_URL="https://example.com"の場合、APIリクエストはhttps://example.com/v2に送信されます。
MCP サーバーを Claude Desktop に追加する方法については、こちらの手順を参照してください。
貢献
バグを見つけた場合や機能を提案したい場合は、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