Skip to main content
Glama
alveyautomation

sellercloud-mcp

sellercloud-mcp

首个用于 SellerCloud 的模型上下文协议 (MCP) 服务器。在五分钟内将 Claude 连接到您的目录、库存、订单和渠道列表 — 仅限只读。

License: MIT Python 3.10+ MCP

为什么存在这个项目

SellerCloud 没有公开的 SDK。他们的 REST API 文档齐全但没有品牌化 —— 每个针对它进行自动化的团队最终都在重复编写相同的身份验证和分页代码。

如果您使用 Claude(或任何支持 MCP 的 AI 助手)进行日常电商运营,这个差距就是“总结今天的订单”开箱即用与“总结今天的订单”需要自定义集成之间的区别。

sellercloud-mcp 弥补了这一差距。它是一个小巧、经过充分测试、采用 MIT 许可的 MCP 服务器,向任何 MCP 客户端公开了七个只读的 SellerCloud 端点。它建立在多年大规模电商自动化运营的经验之上。

Related MCP server: keycrm-mcp

您可以用它做什么

将此服务器连接到 Claude Code、Claude Desktop 或任何 MCP 主机,然后询问如下问题:

  • “搜索任何包含 WIDGET 的 SKU,并向我展示库存水平。”

  • “我们昨天在所有市场上总共发货了多少订单?按渠道分组。”

  • “拉取订单 100001 并告诉我哪些行项目已发货。”

  • “列出为公司 9001 配置的渠道,并显示哪些是活动的。”

  • “对于 SKU ACME-001,比较每个渠道列表中的价格。”

Claude 直接读取您的目录。无需复制粘贴,无需电子表格,无需自定义管道。

工具 (v0.1,均为只读)

工具

功能

sellercloud_search_products

在目录中进行全文搜索(名称、SKU、属性)。

sellercloud_get_product

通过精确的 SKU 获取单个产品。

sellercloud_search_orders

在日期范围内列出订单,可选择按公司范围筛选。

sellercloud_get_order

通过 ID 获取单个订单,包括行项目。

sellercloud_get_inventory

获取单个 SKU 的当前现有/预留/在途数量。

sellercloud_list_channels

列出已配置的市场/渠道订阅源。

sellercloud_get_channel_listing

获取单个 SKU 的各渠道列表详情。

写入端点(创建订单、更新库存、推送渠道更改)在 v0.1 中特意未包含。它们计划在 v0.2 中实现,待只读功能稳定后推出。

pip install sellercloud-mcp

v0.1 从此存储库发布。PyPI 发布正在进行中 —— 目前,请使用 pip install git+https://github.com/alveyautomation/sellercloud-mcp 安装,或在本地克隆并运行 pip install -e .。

配置凭据

服务器从环境变量中读取所有内容。将 .env.example 复制到 .env 并填写您的租户信息:

SELLERCLOUD_API_URL=https://your-team.api.sellercloud.com/rest/
SELLERCLOUD_USERNAME=your-username
SELLERCLOUD_PASSWORD=your-password
SELLERCLOUD_DEFAULT_COMPANY_ID=        # optional fallback
SELLERCLOUD_HTTP_TIMEOUT=60            # optional, seconds
SELLERCLOUD_MAX_RETRIES=3              # optional

请使用只读的 SellerCloud 账户。 v0.1 仅调用 GET 端点,但纵深防御意味着您应该为服务器提供一个无法修改任何内容的专用用户。当 v0.2 推出写入工具时,通过升级凭据来选择加入 —— 切勿反向操作。

连接到 Claude Code

添加到 ~/.claude/claude_code_config.json(或您项目的 MCP 配置):

{
  "mcpServers": {
    "sellercloud": {
      "command": "sellercloud-mcp",
      "env": {
        "SELLERCLOUD_API_URL": "https://your-team.api.sellercloud.com/rest/",
        "SELLERCLOUD_USERNAME": "your-username",
        "SELLERCLOUD_PASSWORD": "your-password",
        "SELLERCLOUD_DEFAULT_COMPANY_ID": "9001"
      }
    }
  }
}

重启 Claude Code。七个 sellercloud_* 工具将出现在任何新会话中。

连接到 Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 或 %APPDATA%\Claude\claude_desktop_config.json (Windows),并添加与上述相同的 mcpServers 块。重启桌面应用程序。

工具参考

每个工具都返回一个 JSON 信封:

{ "ok": true,  "data": { ... } }
{ "ok": false, "error": "human-readable message" }

sellercloud_search_products

sellercloud_search_products(
    query: str,                          # required
    company_id: int | None = None,       # falls back to default if unset
    page: int = 1,
    page_size: int = 50,                 # capped at 50 by SellerCloud
)

示例响应:

{
  "ok": true,
  "data": {
    "items": [
      { "ID": "ACME-WIDGET-001", "ProductName": "Acme Widget, Standard", "Price": 29.99 }
    ],
    "total": 1,
    "page": 1,
    "page_size": 50
  }
}

sellercloud_get_product

sellercloud_get_product(sku: str, company_id: int | None = None)

返回目录记录,如果 SKU 不在公司的目录中,则返回 data: null。

sellercloud_search_orders

sellercloud_search_orders(
    date_from: str,                      # ISO date "YYYY-MM-DD"
    date_to: str,                        # ISO date "YYYY-MM-DD"
    company_id: int | None = None,
    query: str | None = None,
    limit: int = 200,                    # max 1000
)

分页处理是透明的 —— SellerCloud 将页面大小限制为 50,但该工具会收集最多 limit 的页面。当订单数量超过 limit 允许的数量时,响应包含 limit_reached: true。

sellercloud_get_order

sellercloud_get_order(order_id: int)

返回完整的订单记录(包含 Items[]),如果 404 则返回 data: null。

sellercloud_get_inventory

sellercloud_get_inventory(sku: str, company_id: int | None = None)

返回的记录包括:

  • InventoryAvailableQty —— API 目前认为可销售的数量

  • PhysicalQty —— 现有数量

  • ReservedQty —— 为未结订单保留的数量

  • OnOrder —— 进货 PO 数量

使用 InventoryAvailableQty 作为规范的“我可以销售的数量”。

sellercloud_list_channels

sellercloud_list_channels(company_id: int | None = None)

返回公司已配置的渠道订阅源列表。每条记录包括 ChannelID、Name 和 Active。

sellercloud_get_channel_listing

sellercloud_get_channel_listing(channel_id: int, sku: str)

各渠道列表详情。对于跨市场抽查价格非常有用。

本地开发

git clone https://github.com/alveyautomation/sellercloud-mcp
cd sellercloud-mcp
python -m venv .venv && source .venv/bin/activate    # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pytest                                                # 44 tests, ~4s

预提交钩子(gitleaks、ruff、格式化程序、租户指纹清理器):

pip install pre-commit
pre-commit install

针对真实 SellerCloud 沙盒账户的集成测试受 SELLERCLOUD_INTEGRATION_TESTS=1 保护。正常贡献不需要这些测试。

故障排除

Failed to obtain SellerCloud token —— 用户名/密码被拒绝。最常见的原因:账户启用了 2FA 或被锁定。SellerCloud 的 POST /api/token 端点需要一个非 2FA 的服务账户。

Missing required environment variables —— 服务器在加载 .env 之前尝试启动。请在父 shell 中导出变量,或确保您的 MCP 主机配置在 env 块中包含了它们。

尽管有已知数据但结果为空 —— 确认 company_id 是否正确。除非您明确传递 companyID,否则 SellerCloud 仅返回经过身份验证的用户的默认公司。

分页感觉很慢 —— 页面大小由 SellerCloud 限制为 50,而不是由我们限制。对于较大的日期范围,预计会有多次往返请求。

贡献

欢迎提交问题和拉取请求。请:

  • 在打开 PR 之前运行 pytest (pip install -e ".[dev]")。

  • 运行 pre-commit run --all-files。

  • 将 v0.1 的新增内容保持在只读范围内。写入端点将在 v0.2 中推出。

  • 测试中仅使用合成数据 —— 不得包含真实的 SKU、客户名称或订单号。

许可证

MIT —— 参见 LICENSE。

免责声明

sellercloud-mcp 是一个非官方的第三方集成。它未得到 SellerCloud, Inc. 的认可、关联或支持。 “SellerCloud” 是 SellerCloud, Inc. 的商标。使用风险自负;在依赖它进行生产决策之前,请针对您的租户验证其行为。

Available Tools

7 tools
sellercloud_get_channel_listingA

Fetch the per-channel listing record for a single SKU.

Args: channel_id: SellerCloud ChannelID (integer). sku: Exact SKU.

Returns: JSON envelope. data is the listing record, or null if the SKU is not listed on the given channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYes
skuYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Despite no annotations, the description discloses the return format (JSON envelope with data field) and the null case when SKU is not listed. This provides adequate transparency for a read-only operation.

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 extremely concise, using three sentences to convey purpose, parameters, and return value. Every sentence is meaningful and front-loaded.

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

Completeness5/5

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

Given an output schema exists, the description sufficiently covers the tool's functionality, input requirements, and output behavior (including null). It is complete for the task of selecting and invoking the 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?

Schema description coverage is 0%, so the description carries the burden. It reiterates the types (integer, exact SKU) which matches the schema, but does not add additional meaning or constraints beyond what is obvious from names and types.

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

Purpose5/5

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

The description clearly states it fetches the per-channel listing record for a single SKU, using a specific verb and resource. It distinguishes itself from sibling tools like sellercloud_get_inventory or sellercloud_get_product by focusing on channel listings.

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 for retrieving a listing by channel and SKU, but does not explicitly state when not to use it or mention alternative tools. No guidance on prerequisites or context is provided.

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

sellercloud_get_inventoryA

Fetch the current inventory record for a single SKU.

Args: sku: Exact SKU / InventoryID. company_id: CompanyID scoping the lookup.

Returns: JSON envelope. data is the inventory record (with on-hand, reserved, on-order, available qty fields), or null if absent.

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYes
company_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description must cover behavioral traits. It states 'Fetch,' implying a read-only operation, and describes the return format including null for absent records. It does not mention authorization or side effects, but the context suggests a safe read.

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 highly concise with no wasted words. It front-loads the core action in the first sentence, then efficiently lists parameters and return values in a structured format.

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

Completeness5/5

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

For a simple tool with two parameters and an output schema (though not explicitly shown), the description fully explains the purpose, parameters, and return value. It covers edge cases (null if absent) and key fields in the response.

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

Parameters4/5

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

Schema coverage is 0% meaning no descriptions in the schema. The description adds meaning: 'sku' is described as 'Exact SKU / InventoryID' and 'company_id' as 'CompanyID scoping the lookup,' which clarifies their roles beyond the type-only schema.

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

Purpose5/5

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

The description clearly states it fetches inventory for a single SKU, using a specific verb ('Fetch') and resource ('inventory record'). This distinguishes it from sibling tools like sellercloud_get_order or sellercloud_get_product, which target different entities.

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

Usage Guidelines4/5

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

The description specifies it's for a single SKU and lists required parameters. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. The purpose is clear enough for an agent to infer usage.

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

sellercloud_get_orderA

Fetch full order detail including line items.

Args: order_id: SellerCloud OrderID (integer).

Returns: JSON envelope. data is the order record, or null if the order does not exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It discloses that it returns null if order not found, but does not mention authentication requirements, rate limits, or any side effects. Minimal behavioral info.

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?

Extremely concise: four lines total. Front-loaded with purpose, then structured parameter and return descriptions. No redundant sentences.

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

Completeness4/5

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

For a simple tool with 1 parameter and an output schema, the description covers the core functionality, parameter meaning, and return behavior. Missing usage guidance and behavioral details (rate limits, auth) but acceptable given low complexity.

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 coverage is 0% (no param descriptions in schema). Description adds 'SellerCloud OrderID (integer)', which gives context beyond the schema's 'Order Id' title and integer type. However, it does not elaborate on format or possible values.

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

Purpose5/5

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

Clearly states 'Fetch full order detail including line items.' Identifies specific verb and resource. Distinguishes from siblings like sellercloud_search_orders (search vs fetch) and sellercloud_get_product (different resource).

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?

Does not explicitly state when to use this tool vs alternatives. Usage is implied by requiring an order_id, but no guidance on context (e.g., use when you have an ID, vs search_orders when you don't).

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

sellercloud_get_productA

Fetch the full catalog record for a single SKU.

Args: sku: Exact SKU / ProductID to look up. company_id: CompanyID scoping the lookup.

Returns: JSON envelope. data is the product record, or null when the SKU is not present in the company's catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
skuYes
company_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the return format as a JSON envelope and the possibility of null for missing SKU, but lacks details on idempotency, side effects, or rate limits.

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 concise with a structured Args and Returns section, front-loaded with the main purpose, and no unnecessary words.

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

Completeness4/5

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

Given the tool's low complexity and the presence of an output schema, the description adequately covers purpose, parameters, and return shape. However, it could mention the absence of pagination or limits on the record size.

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

Parameters4/5

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

The input schema has 0% description coverage, so the description compensates by clarifying 'sku' as 'Exact SKU / ProductID' and 'company_id' as 'CompanyID scoping the lookup', adding meaning beyond the raw types.

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

Purpose5/5

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

The description uses the verb 'Fetch' and specifies the resource as 'full catalog record for a single SKU', clearly distinguishing it from sibling tools like 'sellercloud_search_products' which implies search functionality.

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

Usage Guidelines4/5

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

The description states 'for a single SKU', implying use when exact SKU is known. However, it does not explicitly mention when not to use or compare with alternatives like 'sellercloud_get_channel_listing'.

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

sellercloud_list_channelsA

List configured channel feeds for the given company.

Args: company_id: CompanyID scoping the lookup.

Returns: JSON envelope. data.channels is the list of channel records.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Describes return structure as 'JSON envelope with data.channels'. Given no annotations, it adds some context (scoping lookup by company_id) but lacks details on side effects, rate limits, or behavior with null company_id.

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?

Two sentences in a clean Args/Returns format. No superfluous information.

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

Completeness4/5

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

For a simple list operation, the description covers purpose, parameter role, and return structure. Lacks only minor details like read-only hint or error cases.

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

Parameters4/5

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

Only parameter 'company_id' is explained as 'CompanyID scoping the lookup'. Adds meaningful context beyond the schema title, compensating for 0% schema description coverage.

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

Purpose5/5

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

Clearly states 'List configured channel feeds for the given company'. Verb (List) and resource (channel feeds) are specific. Differentiates from sibling 'sellercloud_get_channel_listing' by being a list operation.

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 on when to use this tool versus alternatives. No mention of when not to use or when to prefer a sibling like 'sellercloud_get_channel_listing'.

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

sellercloud_search_ordersA

Search orders created in the inclusive [date_from, date_to] window.

Args: date_from: ISO date (YYYY-MM-DD), start of window. date_to: ISO date (YYYY-MM-DD), end of window. company_id: CompanyID to scope the search to. If omitted, returns orders for the authenticated user's default company. query: Optional free-text filter applied server-side. limit: Cap on yielded orders (default 200, max 1000). The underlying API caps page size at 50; pagination is handled transparently.

Returns: JSON envelope. data.orders is the list of order records.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_fromYes
date_toYes
company_idNo
queryNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description adequately discloses behavioral traits: pagination is handled transparently, limit caps (default 200, max 1000), default company behavior for company_id. This goes beyond basic parameter names.

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 well-structured with a brief purpose, clear args list, and returns section. It is slightly verbose but every sentence adds value. No superfluous content.

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

Completeness4/5

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

Given 5 parameters and an output schema, the description covers date range, optional filters, pagination, limit, and return envelope. It could mention error handling or rate limits, but overall it is sufficiently complete for effective tool use.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully explain parameters. It does: date_from/date_to with ISO format, company_id with default behavior, query as free-text filter, limit with default and max. This adds significant meaning beyond the schema titles.

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

Purpose5/5

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

The description clearly states 'Search orders created in the inclusive [date_from, date_to] window.' This specifies the verb (search), resource (orders), and scope (date range), distinguishing it from sibling tools like sellercloud_get_order (single order) and sellercloud_search_products (product search).

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 for browsing orders within a date window but does not explicitly state when to use this tool over alternatives like sellercloud_get_order or sellercloud_search_products. No when-not guidance or exclusions are provided.

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

sellercloud_search_productsA

Search the SellerCloud catalog by name, SKU, or attribute.

Args: query: Free-text search string. Matches against product name, SKU, and indexed attributes. company_id: SellerCloud CompanyID to scope the search to. Falls back to SELLERCLOUD_DEFAULT_COMPANY_ID if omitted. page: 1-indexed page number. page_size: Page size (max 50 enforced server-side).

Returns: JSON envelope: {"ok": true, "data": {"items": [...], "total": N}}.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
company_idNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It reveals behavioral details like page_size max 50 enforced server-side, pagination behavior, and the response envelope. It does not mention authentication, rate limits, or case sensitivity, but for a search tool the provided info is adequate.

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 well-structured using bullet points for parameters and a clear Returns section. It is concise but could be slightly more compact (e.g., removing the docstring formatting overhead). Still, every sentence adds value.

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

Completeness4/5

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

Given the tool has 4 parameters, no annotations, and an output schema (though not provided), the description covers parameter semantics, pagination, and return format. It lacks cross-referencing to siblings or mention of authorization, but overall it is complete for a search operation.

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

Parameters5/5

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

The schema has 0% description coverage, so the description must compensate. It does so excellently by explaining that query is free-text, company_id has a fallback default, page is 1-indexed, and page_size is capped at 50. This adds substantial meaning beyond the schema's type-only definitions.

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

Purpose5/5

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

The description clearly states 'Search the SellerCloud catalog by name, SKU, or attribute,' providing a specific verb and resource. It distinguishes itself from sibling tools like sellercloud_get_product (single product retrieval) and sellercloud_search_orders (different entity), making the tool's role unambiguous.

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

Usage Guidelines4/5

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

The description implies usage for general product searching but does not explicitly state when to avoid it or compare it to siblings like sellercloud_get_channel_listing or sellercloud_get_inventory. However, the parameter descriptions give clear context on how to use the tool effectively.

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. 7 tool updatesv0.1.0
    • First observedsellercloud_get_channel_listing
    • First observedsellercloud_get_inventory
    • First observedsellercloud_get_order
    • First observedsellercloud_get_product
    • First observedsellercloud_list_channels
    • First observedsellercloud_search_orders
    • First observedsellercloud_search_products

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource or action: product, inventory, order, channel listing, channels list, and two searches. No overlap in purpose.

Naming Consistency5/5

All tools follow a consistent `sellercloud_verb_noun` pattern (get_, list_, search_), with clear verb choice for the operation type.

Tool Count5/5

7 tools is well-scoped for a seller cloud integration covering core data retrieval: product, inventory, order, and channel information.

Completeness3/5

The tool set is read-only, covering get and search for products, orders, inventory, and channels. Missing update/create operations that agents might need for full workflow support.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An implementation of Model Context Protocol (MCP) that allows users to interact with TripleWhale's e-commerce analytics platform using natural language queries through Claude Desktop.
    106 npm
    7
    MIT
  • 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
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that connects Claude to Acumatica ERP, enabling AI-driven data access with per-user OAuth, role-based permissions, and automatic sensitive field redaction.
    Apache 2.0