Magento 2 MCP Server
Magento 2 MCP 服务器
这是一个连接到 Magento 2 REST API 的模型上下文协议 (MCP) 服务器,允许 Claude 和其他 MCP 客户端从 Magento 商店查询产品信息。
特征
产品特性
通过SKU或ID查询产品信息
使用各种标准搜索产品
获取产品类别
获取相关产品
获取产品库存信息
获取产品属性
通过指定属性代码和值来更新产品属性
具有过滤和排序功能的高级产品搜索
客户特征
通过电子邮件地址获取客户订购的所有产品
订单和收入功能
获取特定日期范围内的订单数量
获取特定日期范围的收入
获取按国家/地区筛选的特定日期范围内的收入
获取产品销售统计数据,包括销售数量和最畅销产品
支持相对日期表达式,如“今天”、“昨天”、“上周”、“本月”、“年初至今”
支持使用国家代码和国家名称进行国家过滤
Related MCP server: keycrm-mcp
先决条件
Node.js(v14 或更高版本)
具有 REST API 访问权限的 Magento 2 实例
Magento 2 实例的 API 令牌
安装
克隆此存储库
安装依赖项:
npm install用法
直接运行服务器
node mcp-server.js使用测试客户端进行测试
node test-mcp-server.js与 Claude Desktop 一起使用
检查你的路径节点与
which node前往开发者设置,点击“编辑配置”。这将打开一个 JSON 文件。
在
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"
}
}将
/path/to/your/node替换为您在步骤 1 中检查的路径将
/path/to/mcp-server.js替换为您克隆此 repo 的路径您可以从 Magento 管理员的“系统”>“集成”获取 API 令牌
重新启动 Claude Desktop。
现在您应该可以向 Claude 询问有关 Magento 商店中的产品的问题。
可用工具
该服务器公开以下工具:
产品工具
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:获取给定日期范围内销售产品数量的统计信息
Claude 的示例查询
一旦 MCP 服务器连接到 Claude Desktop,您就可以提出以下问题:
产品查询
“你们有哪些衬衫产品?”
“告诉我有关 SKU 为 SKU-xxx 的产品的信息”
“产品SKU-xxx属于哪些类别?”
“是否有与SKU-SKU-xxx相关的产品?”
“产品SKU-xxx的库存状况如何?”
“显示按价格排序的所有产品”
“将产品 SKU-xxx 的价格更新为 49.99 美元”
“将产品 ABC-123 的描述更改为防水”
“将产品 XYZ-456 的状态设置为‘已启用’”
客户查询
“客户john.doe@example.com订购了哪些产品?”
“显示电子邮件为jane.smith@example.com 的客户的订单历史记录和产品”
订单和收入查询
“我们今天有多少订单?”
“我们上周的订单数量是多少?”
“我们昨天创造了多少收入?”
“我们上个月的总收入是多少?”
“今年到目前为止我们在荷兰的收入是多少?”
“我们上周在德国的收入是多少?”
“比较一下本月我们在美国和加拿大的收入”
“我们本月已完成订单的平均订单价值是多少?”
“我们上个月销售了多少产品?”
“我们今年最畅销的产品是什么?”
“每份订单的平均产品数量是多少?”
“上个季度我们在德国销售了多少单位产品 XYZ-123?”
“本月哪些产品在美国创造了最多的收入?”
发展
SSL证书验证
出于开发目的,服务器已配置为绕过 SSL 证书验证。在生产环境中,您应该使用正确的 SSL 证书,并从callMagentoApi函数中移除httpsAgent配置。
添加新工具
要添加新工具,请遵循现有代码中的模式。每个工具的定义如下:
独特的名字
描述
使用 Zod 进行验证的输入参数
处理请求并返回响应的异步处理函数
执照
国际学习中心
Available Tools
14 toolsadvanced_product_searchC
Search for products with advanced filtering options
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | Field to search on (e.g., name, sku, price, status) | |
| value | Yes | Value to search for | |
| condition_type | No | Condition type (eq, like, gt, lt, etc.). Default: eq | |
| page_size | No | Number of results per page (default: 10) | |
| current_page | No | Page number (default: 1) | |
| sort_field | No | Field to sort by (default: entity_id) | |
| sort_direction | No | Sort direction (ASC or DESC, default: DESC) |
TDQS
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 mentions 'advanced filtering options' but doesn't specify what makes them advanced (e.g., multiple filters, complex conditions). It doesn't describe pagination behavior, rate limits, authentication needs, or what happens when no results are found. For a search tool with 7 parameters, this is inadequate.
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, efficient sentence that front-loads the core purpose. There's zero waste or redundancy—every word earns its place by conveying essential information about the tool's functionality.
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 complexity (7 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain return values, error conditions, or behavioral nuances like pagination limits. For an 'advanced' search tool, more context is needed to guide effective use beyond what the schema provides.
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%, so the schema already documents all 7 parameters thoroughly. The description adds no additional meaning beyond implying 'advanced filtering' (which the schema details with fields like 'condition_type'). Baseline 3 is appropriate when the schema does the heavy lifting, though the description doesn't compensate with higher-level context.
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 tool's purpose as 'Search for products with advanced filtering options', which includes a specific verb ('search') and resource ('products'). It distinguishes itself from the simpler 'search_products' sibling by emphasizing 'advanced filtering options', though it doesn't explicitly contrast with all siblings like 'get_product_by_id' or 'get_product_by_sku'.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer this over 'search_products' (which likely has basic filtering) or when to use simpler lookup tools like 'get_product_by_id' or 'get_product_by_sku'. There's no context about 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.
get_customer_ordered_products_by_emailC
Get all ordered products for a customer by email address
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address of the customer |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| date_range | Yes | Date range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31') | |
| status | No | Filter by order status (e.g., 'processing', 'complete', 'pending') |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The SKU (Stock Keeping Unit) of the product |
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 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the product |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The SKU (Stock Keeping Unit) of the product |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The SKU (Stock Keeping Unit) of the product |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| date_range | Yes | Date range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31') | |
| status | No | Filter by order status (e.g., 'processing', 'complete', 'pending') | |
| country | No | Filter by country code (e.g., 'US', 'NL', 'GB') or country name (e.g., 'United States', 'The Netherlands', 'United Kingdom') |
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 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The SKU (Stock Keeping Unit) of the product |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| date_range | Yes | Date range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31') | |
| status | No | Filter by order status (e.g., 'processing', 'complete', 'pending') | |
| include_tax | No | Whether to include tax in the revenue calculation (default: true) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| date_range | Yes | Date range expression (e.g., 'today', 'yesterday', 'last week', 'this month', 'YTD', or a specific date range like '2023-01-01 to 2023-01-31') | |
| country | Yes | Country code (e.g., 'US', 'NL', 'GB') or country name (e.g., 'United States', 'The Netherlands', 'United Kingdom') | |
| status | No | Filter by order status (e.g., 'processing', 'complete', 'pending') | |
| include_tax | No | Whether to include tax in the revenue calculation (default: true) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (product name, description, etc.) | |
| page_size | No | Number of results per page (default: 10) | |
| current_page | No | Page number (default: 1) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | The SKU (Stock Keeping Unit) of the product | |
| attribute_code | Yes | The code of the attribute to update (e.g., name, price, description, status, etc.) | |
| value | No | The new value for the attribute |
TDQS
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.
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.
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.
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.
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.
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. Dates show when Glama detected each change.
14 tool updates
v1.0.0- Added
advanced_product_search - Added
get_customer_ordered_products_by_email - Added
get_order_count - Added
get_product_attributes - Added
get_product_by_id - Added
get_product_by_sku - Added
get_product_categories - Added
get_product_sales - Added
get_product_stock - Added
get_related_products - Added
get_revenue - Added
get_revenue_by_country - Added
search_products - Added
update_product_attribute
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceThis read-only MCP Server allows you to connect to Adobe Commerce data from Claude Desktop through CData JDBC Drivers. Free (beta) read/write servers available at https://www.cdata.com/solutions/mcpMIT
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that lets Claude manage keyCRM catalogue, stock, orders, customers, pipelines, and more via natural language.3-
- FlicenseNot gradedqualityAmaintenanceFreento 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.15-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with safe, structured access to Magento 2 operations within Warden environments.193MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/boldcommerce/magento2-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server