Skip to main content
Glama
alveyautomation

sellercloud-mcp

sellercloud-mcp

SellerCloud을 위한 최초의 Model Context Protocol 서버입니다. 5분 안에 Claude를 카탈로그, 재고, 주문 및 채널 목록에 읽기 전용으로 연결하세요.

License: MIT Python 3.10+ MCP

존재 이유

SellerCloud은 공개 SDK가 없습니다. REST API는 잘 문서화되어 있지만 브랜드화되어 있지 않아, 이를 자동화하는 모든 팀은 매번 동일한 인증 및 페이지네이션 코드를 처음부터 작성해야 합니다.

일상적인 전자상거래 운영을 위해 Claude(또는 MCP를 지원하는 AI 어시스턴트)를 사용하는 경우, 이러한 격차는 "오늘의 주문 요약해 줘"가 즉시 작동하는 것과 사용자 지정 통합이 필요한 것의 차이를 만듭니다.

sellercloud-mcp는 그 격차를 해소합니다. 이 서버는 7개의 읽기 전용 SellerCloud 엔드포인트를 모든 MCP 클라이언트에 노출하는 작고 잘 테스트된 MIT 라이선스 MCP 서버입니다. 대규모 전자상거래 자동화를 운영해 온 수년간의 경험을 바탕으로 구축되었습니다.

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를 재시작하세요. 새로운 세션에서 7개의 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

Pre-commit 훅 (gitleaks, ruff, formatter, tenant-fingerprint scrubber):

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가 로드되기 전에 서버가 시작되었습니다. 부모 셸에서 변수를 내보내거나 MCP 호스트 구성의 env 블록에 포함되어 있는지 확인하세요.

데이터가 있음에도 결과가 비어 있음 — company_id가 올바른지 확인하세요. SellerCloud는 companyID를 명시적으로 전달하지 않으면 인증된 사용자의 기본 회사 정보만 반환합니다.

페이지네이션이 느림 — 페이지 크기는 우리가 아닌 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