Skip to main content
Glama
boldcommerce

Magento 2 MCP Server

by boldcommerce

Magento 2 MCP サーバー

これは、Magento 2 REST API に接続するモデル コンテキスト プロトコル (MCP) サーバーであり、Claude や他の MCP クライアントが Magento ストアから製品情報を照会できるようにします。

特徴

製品の特徴

  • SKUまたはIDで製品情報を照会する

  • さまざまな条件で製品を検索する

  • 製品カテゴリを取得する

  • 関連商品を入手する

  • 製品在庫情報を取得する

  • 製品属性を取得する

  • 属性コードと値を指定して製品属性を更新します

  • フィルタリングと並べ替えによる高度な製品検索

顧客の特徴

  • 顧客の注文したすべての商品をメールアドレスで取得する

注文と収益機能

  • 特定の日付範囲の注文数を取得する

  • 特定の日付範囲の収益を取得する

  • 特定の日付範囲で国別にフィルタリングされた収益を取得します

  • 販売数量や売れ筋商品などの商品販売統計を取得します

  • 「今日」、「昨日」、「先週」、「今月」、「YTD」などの相対的な日付表現のサポート

  • 国コードと国名の両方を使用した国フィルタリングのサポート

Related MCP server: keycrm-mcp

前提条件

  • Node.js (v14以上)

  • REST APIアクセスを備えたMagento 2インスタンス

  • Magento 2インスタンスのAPIトークン

インストール

  1. このリポジトリをクローンする

  2. 依存関係をインストールします:

npm install

使用法

サーバーを直接実行する

node mcp-server.js

テストクライアントによるテスト

node test-mcp-server.js

Claude Desktopでの使用

  1. パスノードをwhich nodeで確認するか

  2. 開発者設定に移動し、「設定を編集」をクリックします。JSONファイルが開きます。

  3. mcpServers内に次のスニペットを追加します。

    "magento2": {
      "command": "/path/to/your/node",
      "args": ["/path/to/mcp-server.js"],
      "env": {
        "MAGENTO_BASE_URL": "https://YOUR_DOMAIN/rest/V1",
        "MAGENTO_API_TOKEN": "your-api-token"
      }
    }
  1. /path/to/your/node手順 1 で確認したパスに置き換えます。

  2. /path/to/mcp-server.js 、このリポジトリをクローンしたパスに置き換えます。

  3. Magento管理画面の「システム」>「統合」からAPIトークンを取得できます。

  4. Claude Desktop を再起動します。

  5. これで、Magento ストア内の製品について Claude に質問できるようになります。

利用可能なツール

サーバーは次のツールを公開します。

製品ツール

  • get_product_by_sku : SKU別に製品の詳細情報を取得する

  • search_products : Magentoの検索条件を使用して製品を検索する

  • get_product_categories : SKU で特定の商品のカテゴリを取得します

  • get_related_products : SKUで特定の商品に関連する商品を取得する

  • get_product_stock : SKU別に商品の在庫情報を取得する

  • get_product_attributes : SKU別に製品のすべての属性を取得する

  • get_product_by_id : IDで製品の詳細情報を取得します

  • advanced_product_search : 高度なフィルタリングオプションを使用して製品を検索します

  • update_product_attribute : SKU別に商品の特定の属性を更新する

顧客ツール

  • get_customer_ordered_products_by_email : 顧客の注文したすべての商品をメールアドレスで取得する

注文と収益ツール

  • get_order_count : 指定された日付範囲の注文数を取得する

  • get_revenue : 指定された日付範囲の合計収益を取得します

  • get_revenue_by_country : 指定した日付範囲の国別にフィルタリングした収益を取得します。

  • get_product_sales : 指定された日付範囲で販売された製品の数量に関する統計を取得します。

クロードのクエリ例

MCP サーバーが Claude Desktop に接続されると、次のような質問をすることができます。

製品に関する問い合わせ

  • 「シャツにはどんな商品がありますか?」

  • 「SKU SKU-xxxの製品について教えてください」

  • 「製品 SKU-xxx はどのカテゴリに属しますか?」

  • 「SKU-SKU-xxxに関連する商品はありますか?」

  • 「商品SKU-xxxの在庫状況はどうですか?」

  • 「価格順にすべての商品を表示」

  • 「製品SKU-xxxの価格を49.99ドルに更新します」

  • 「商品 ABC-123 の説明を、耐水性と変更してください」

  • 「製品XYZ-456のステータスを「有効」に設定する」

顧客からの問い合わせ

注文と収益のクエリ

  • 「今日の注文は何件ですか?」

  • 「先週の注文数はどれくらいですか?」

  • 「昨日はどれくらいの収益を上げましたか?」

  • 「先月の総収益はいくらでしたか?」

  • 「今年これまでにオランダでどれだけの収益を上げましたか?」

  • 「先週のドイツでの収益はいくらですか?」

  • 「今月の米国とカナダの収益を比較してください」

  • 「今月完了した注文の平均注文額はいくらですか?」

  • 「先月は商品をいくつ販売しましたか?」

  • 「今年最も売れた商品は何ですか?」

  • 「1 回の注文あたりの平均商品数はどれくらいですか?」

  • 「前四半期にドイツでXYZ-123製品を何ユニット販売しましたか?」

  • 「今月、米国で最も収益を生み出した製品はどれですか?」

発達

SSL証明書の検証

開発目的では、サーバーはSSL証明書の検証をバイパスするように設定されています。本番環境では、適切なSSL証明書を使用し、 callMagentoApi関数からhttpsAgent設定を削除する必要があります。

新しいツールの追加

新しいツールを追加するには、既存のコードのパターンに従ってください。各ツールは次のように定義されています。

  1. ユニークな名前

  2. 説明

  3. Zodを使用した検証による入力パラメータ

  4. リクエストを処理してレスポンスを返す非同期ハンドラ関数

ライセンス

ISC

Available Tools

14 tools
get_customer_ordered_products_by_emailC

Get all ordered products for a customer by email address

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe email address of the customer

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates this is a read operation ('Get'), but doesn't specify whether it requires authentication, has rate limits, returns paginated results, or what format the output takes. This leaves significant gaps for a tool that presumably queries customer data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple lookup tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'ordered products' means in this context, whether it returns historical or current data, or what the response structure looks like. The agent would need to guess about important behavioral aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'email' fully documented in the schema. The description adds no additional parameter information beyond what's already in the structured data, so it meets the baseline for adequate but not additive documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get all ordered products') and target resource ('for a customer by email address'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from potential sibling tools that might also retrieve customer data, such as 'get_revenue' or 'get_order_count', which could overlap in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_order_count' or 'search_products', nor does it mention any prerequisites or exclusions. It simply states what the tool does without contextual usage information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_order_countC

Get the number of orders for a given date range

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeYesDate range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31')
statusNoFilter by order status (e.g., 'processing', 'complete', 'pending')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s] the number of orders', implying a read-only operation, but doesn't cover aspects like authentication requirements, rate limits, error handling, or output format. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and every part of the sentence contributes to understanding the tool's function, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a read operation with two parameters, the description is incomplete. It lacks information on behavioral traits (e.g., authentication, rate limits), output format, and usage guidelines relative to siblings. This makes it inadequate for an agent to fully understand how to invoke and interpret results from this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with clear descriptions for both parameters (date_range and status). The description adds no additional parameter semantics beyond what the schema provides, such as examples or constraints. Baseline 3 is appropriate since the schema adequately documents the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('number of orders'), and specifies the scope ('for a given date range'). However, it doesn't differentiate from sibling tools like 'get_revenue' or 'get_product_sales', which might also operate on date ranges, leaving some ambiguity about when to choose this specific tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_revenue' or 'get_product_sales', nor does it specify prerequisites, exclusions, or contextual cues for selection. Usage is implied only by the purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_attributesC

Get all attributes for a product by SKU

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYesThe SKU (Stock Keeping Unit) of the product

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a read operation ('Get') but doesn't disclose behavioral traits such as authentication needs, rate limits, error handling, or what 'all attributes' entails (e.g., format, data types). This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste, front-loading the core action and resource. It's appropriately sized for a simple tool, earning full marks for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and multiple sibling tools, the description is incomplete. It lacks details on return values, error cases, and usage context, making it inadequate for an agent to confidently invoke this tool without additional assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal meaning beyond the input schema, which has 100% coverage and documents the 'sku' parameter well. It clarifies that attributes are retrieved 'by SKU', but this is redundant with the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('all attributes for a product'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_product_by_sku' or 'update_product_attribute', which could handle similar product data, so it misses the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_product_by_sku' and 'search_products' available, there's no indication of context, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_by_idB

Get detailed information about a product by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the product

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states it's a read operation ('Get'), but doesn't disclose behavioral traits such as error handling (e.g., what happens if the ID doesn't exist), authentication needs, rate limits, or response format. For a tool with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Get detailed information', 'about a product', 'by its ID') contributes essential information, making it appropriately sized and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't explain what 'detailed information' includes in the response, error conditions, or other behavioral aspects. For a tool that likely returns complex product data, more context is needed to guide the agent effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'id' fully documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., no examples or constraints on ID format). Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get detailed information') and target resource ('about a product'), with the specific mechanism 'by its ID'. It distinguishes from siblings like 'get_product_by_sku' (which uses SKU) and 'search_products' (which is broader). However, it doesn't specify what 'detailed information' includes, which could be more precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a product ID and need detailed info, distinguishing it from siblings that use other identifiers (e.g., SKU) or perform searches. However, it lacks explicit guidance on when to use this versus alternatives like 'get_product_attributes' or 'get_related_products', and no exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_by_skuC

Get detailed information about a product by its SKU

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYesThe SKU (Stock Keeping Unit) of the product

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves 'detailed information' but doesn't specify what that includes, whether it's a read-only operation, error handling for invalid SKUs, or performance characteristics. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every part contributing to clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple lookup), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'detailed information' includes, how errors are handled, or the return format. For a tool with no structured output documentation, this leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'sku' fully documented in the schema. The description adds minimal value by mentioning 'SKU' in context, but doesn't provide additional semantics beyond what the schema already states. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('detailed information about a product'), and identifies the key input ('by its SKU'). It distinguishes from some siblings like 'get_product_by_id' by specifying the lookup method, though it doesn't explicitly differentiate from all similar tools like 'get_product_attributes'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer this over 'get_product_by_id', 'get_product_attributes', or 'search_products', nor does it specify prerequisites like needing a valid SKU. Usage is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_categoriesC

Get categories for a specific product by SKU

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYesThe SKU (Stock Keeping Unit) of the product

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves categories but doesn't specify if it's a read-only operation, what permissions are required, how errors are handled, or the format of the returned data. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's front-loaded and appropriately sized for its simple function, earning a top score for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'categories' entail, how they are structured, or any behavioral aspects like error handling. For a tool with no structured support, more detail is needed to guide the agent effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'sku' parameter clearly documented. The description adds no additional semantic context beyond implying the SKU is used to fetch categories, so it meets the baseline of 3 where the schema does the heavy lifting without extra value from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get categories') and resource ('for a specific product by SKU'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'get_product_by_sku' or 'get_product_attributes', which might also retrieve product-related information, so it doesn't achieve full distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a valid SKU, or compare it to siblings like 'get_product_by_sku' or 'get_product_attributes' that might overlap in functionality, leaving the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_salesB

Get statistics about the quantity of products sold in a given date range

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeYesDate range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31')
statusNoFilter by order status (e.g., 'processing', 'complete', 'pending')
countryNoFilter by country code (e.g., 'US', 'NL', 'GB') or country name (e.g., 'United States', 'The Netherlands', 'United Kingdom')

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions getting statistics but doesn't disclose behavioral traits like whether this is a read-only operation, if it requires authentication, rate limits, pagination, or what format the statistics are returned in. For a tool with no annotation coverage, this 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations and no output schema, the description is incomplete. It doesn't explain what the statistics output looks like (e.g., aggregated totals, time-series data) or behavioral aspects. However, the purpose is clear and parameters are well-documented in the schema, making it minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with clear descriptions for all three parameters (date_range, status, country). The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get statistics about the quantity of products sold in a given date range.' It specifies the verb ('Get statistics') and resource ('quantity of products sold'), but doesn't explicitly distinguish it from sibling tools like 'get_revenue' or 'get_order_count' which might provide different metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_revenue' (which might focus on monetary metrics) or 'get_order_count' (which might count orders rather than product quantities), leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_stockC

Get stock information for a product by SKU

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYesThe SKU (Stock Keeping Unit) of the product

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but fails to mention critical details like whether this is a read-only operation, potential rate limits, authentication requirements, or the format of the returned stock information. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that efficiently conveys the core purpose without any unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for effective tool use. It does not cover behavioral aspects like safety, performance, or return values, which are crucial for an AI agent to invoke the tool correctly in a real-world context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting the 'sku' parameter. The description adds no additional semantic context beyond what the schema provides, such as examples or constraints, so it meets the baseline score without enhancing parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('stock information for a product by SKU'), making the purpose immediately understandable. However, it does not explicitly differentiate from sibling tools like 'get_product_by_sku', which might retrieve broader product details rather than just stock information, leaving room for ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'get_product_by_sku' or 'search_products', nor does it mention any prerequisites or exclusions. This lack of context could lead to incorrect tool selection by an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_revenueB

Get the total revenue for a given date range

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeYesDate range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31')
statusNoFilter by order status (e.g., 'processing', 'complete', 'pending')
include_taxNoWhether to include tax in the revenue calculation (default: true)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read-only operation, the description doesn't mention whether this requires specific permissions, how results are formatted, if there are rate limits, or what happens with invalid date ranges. For a revenue calculation tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a revenue calculation tool with 3 parameters, 100% schema coverage, and no output schema, the description is minimally adequate. It states what the tool does but lacks behavioral context (permissions, rate limits, result format) and usage guidance relative to siblings. The absence of annotations and output schema means the description should do more to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description mentions 'date range' which aligns with the required parameter but adds no additional semantic context beyond what the schema provides. The baseline score of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('total revenue'), and specifies the scope ('for a given date range'). However, it doesn't differentiate from sibling tools like 'get_revenue_by_country', which suggests this tool provides overall revenue rather than country-specific breakdowns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_revenue_by_country' or 'get_product_sales'. It mentions a date range but doesn't specify when this tool is preferred over other revenue-related tools or when 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.

get_revenue_by_countryC

Get revenue filtered by country for a given date range

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeYesDate range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31')
countryYesCountry code (e.g., 'US', 'NL', 'GB') or country name (e.g., 'United States', 'The Netherlands', 'United Kingdom')
statusNoFilter by order status (e.g., 'processing', 'complete', 'pending')
include_taxNoWhether to include tax in the revenue calculation (default: true)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions filtering but doesn't describe what the tool returns (e.g., revenue amount, breakdown), whether it's read-only, performance characteristics, or error conditions. For a revenue query tool, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly states the tool's core functionality. There's no wasted language, and it's appropriately front-loaded with the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a revenue query tool with 4 parameters and no output schema, the description is insufficient. It doesn't explain what format the revenue data returns (e.g., numeric value, structured object), doesn't mention aggregation level, and provides no context about data freshness or limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema, meeting the baseline expectation but not providing extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('revenue'), and specifies filtering by country and date range. However, it doesn't distinguish this tool from its sibling 'get_revenue' (which presumably doesn't filter by country), missing full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_revenue' or other revenue-related tools. It states what the tool does but offers no context about appropriate use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_productsC

Search for products using Magento search criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (product name, description, etc.)
page_sizeNoNumber of results per page (default: 10)
current_pageNoPage number (default: 1)

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits like pagination behavior, rate limits, authentication needs, or what 'Magento search criteria' specifically means. It lacks details on return format, error handling, or performance characteristics, which are critical for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it front-loaded and easy to parse. However, it could be more structured by explicitly mentioning key aspects like pagination or sibling differentiation, but it's appropriately sized for its content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (search with pagination), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error cases, or how 'Magento search criteria' works, leaving gaps that could hinder an AI agent's ability to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents parameters (query, page_size, current_page). The description adds no additional meaning beyond implying 'Magento search criteria' might relate to the query parameter, but this is minimal. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for products using Magento search criteria' clearly states the action (search) and resource (products), but it's vague about scope and doesn't differentiate from sibling tools like 'advanced_product_search' or 'get_product_by_id'. It specifies the platform (Magento) but lacks detail on what 'search criteria' entails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives such as 'advanced_product_search' or 'get_product_by_id'. The description implies a general search function but doesn't clarify use cases, exclusions, or prerequisites, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_product_attributeC

Update a specific attribute of a product by SKU

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYesThe SKU (Stock Keeping Unit) of the product
attribute_codeYesThe code of the attribute to update (e.g., name, price, description, status, etc.)
valueNoThe new value for the attribute

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't disclose critical behavioral traits such as whether this requires specific permissions, whether changes are reversible, what happens if the SKU doesn't exist, or any rate limits. For a mutation tool with zero annotation coverage, this represents a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded, with every word earning its place. This represents optimal conciseness for a basic tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a mutation tool with no annotations, no output schema, and multiple sibling tools, the description is incomplete. It doesn't address behavioral aspects like error conditions, authentication requirements, or how it differs from other product-related tools. The description provides only the basic purpose without the contextual information needed for an agent to use it effectively in a broader system.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all three parameters (sku, attribute_code, value) having clear descriptions in the schema. The description adds no additional semantic information beyond what's already documented in the schema. According to the scoring rules, when schema coverage is high (>80%), the baseline score is 3 even without parameter information in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update') and resource ('a specific attribute of a product by SKU'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential sibling tools that might also modify product data, such as if there were a 'bulk_update_product_attributes' tool. The description is specific but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_product_by_sku' and 'search_products', there's no indication whether this tool should be used for single attribute updates versus broader modifications, or what prerequisites might exist (e.g., authentication needs, product existence). The description simply states what it does without contextual usage information.

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.

  1. 14 tool updatesv1.0.0
    • Addedadvanced_product_search
    • Addedget_customer_ordered_products_by_email
    • Addedget_order_count
    • Addedget_product_attributes
    • Addedget_product_by_id
    • Addedget_product_by_sku
    • Addedget_product_categories
    • Addedget_product_sales
    • Addedget_product_stock
    • Addedget_related_products
    • Addedget_revenue
    • Addedget_revenue_by_country
    • Addedsearch_products
    • Addedupdate_product_attribute

TDQS

B3.3/5.0

Scored across 14 tools

Disambiguation4/5

Most tools have distinct purposes focused on specific data retrieval or updates, but there is some overlap between 'advanced_product_search' and 'search_products' which could cause confusion as both search for products. The other tools are clearly differentiated by their target resources (products, orders, customers, revenue) and actions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, with verbs like 'get', 'search', and 'update' clearly indicating actions. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

Tool Count5/5

With 14 tools, the server is well-scoped for a Magento 2 e-commerce platform, covering key areas like products, orders, customers, and revenue. Each tool serves a specific purpose without bloat, making the count appropriate for the domain's complexity.

Completeness4/5

The tool set provides strong coverage for data retrieval and some updates in the e-commerce domain, including product details, sales, and revenue. However, there are minor gaps such as the lack of tools for creating or deleting products or orders, which agents might need to work around for full CRUD operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that lets Claude manage keyCRM catalogue, stock, orders, customers, pipelines, and more via natural language.
    3
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Freento MCP is a native Magento 2 extension that implements the Model Context Protocol (MCP) — an open standard for connecting AI assistants to external data sources. This server acts as a secure, direct bridge between your Adobe Commerce / Magento 2 store and LLM-powered assistants (like Claude, ChatGPT, and others), allowing you to manage and audit your store using natural language.
    16
    -