sellercloud-mcp
sellercloud-mcp
Первый сервер протокола контекста модели (MCP) для SellerCloud. Подключите Claude к своему каталогу, инвентарю, заказам и спискам каналов — только для чтения, за пять минут.
Зачем это нужно
У SellerCloud нет публичного SDK. Их REST API хорошо задокументирован, но не имеет унифицированного интерфейса — каждая команда, автоматизирующая работу с ним, в итоге пишет один и тот же код для аутентификации и пагинации с нуля.
Если вы используете Claude (или любого ИИ-ассистента с поддержкой MCP) для повседневной работы с электронной коммерцией, этот разрыв — разница между тем, чтобы "сделать сводку заказов за сегодня" сразу, и тем, чтобы требовать для этого специальную интеграцию.
sellercloud-mcp устраняет этот разрыв. Это компактный, хорошо протестированный MCP-сервер с лицензией MIT, который предоставляет семь эндпоинтов SellerCloud (только для чтения) любому MCP-клиенту. Создан на основе многолетнего опыта автоматизации электронной коммерции в масштабе.
Related MCP server: keycrm-mcp
Что можно делать с его помощью
Подключите этот сервер к Claude Code, Claude Desktop или любому другому MCP-хосту, а затем задавайте вопросы, например:
"Найди любой SKU, содержащий
WIDGET, и покажи мне уровни запасов.""Сколько заказов мы отправили вчера по всем маркетплейсам? Сгруппируй по каналам."
"Получи заказ 100001 и скажи мне, какие позиции были отправлены."
"Перечисли каналы, настроенные для компании 9001, и покажи, какие из них активны."
"Для SKU
ACME-001сравни цену по всем каналам продаж."
Claude читает ваш каталог напрямую. Никакого копирования-вставки, никаких таблиц, никаких пользовательских конвейеров.
Инструменты (v0.1, только для чтения)
Инструмент | Что он делает |
| Поиск по каталогу (название, SKU, атрибуты). |
| Получение одного товара по точному SKU. |
| Список заказов за период, с возможностью фильтрации по компании. |
| Получение одного заказа по ID, включая позиции. |
| Текущее количество (в наличии / зарезервировано / заказано) для одного SKU. |
| Список настроенных каналов/фидов маркетплейсов. |
| Детали листинга по конкретному каналу для одного SKU. |
Эндпоинты для записи (создание заказа, обновление инвентаря, отправка изменений в каналы) намеренно отсутствуют в v0.1. Они запланированы на v0.2, как только будет отлажена эргономика режима чтения.
Установка
pip install sellercloud-mcpv0.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)Возвращает запись из каталога или data: null, если SKU отсутствует в каталоге компании.
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_reached: true, если заказов было больше, чем позволяет limit.
sellercloud_get_order
sellercloud_get_order(order_id: int)Возвращает полную запись заказа (с Items[]) или data: null при ошибке 404.
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, форматировщик, очистка отпечатков арендатора):
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.
Пагинация кажется медленной — размер страницы ограничен 50 записями со стороны SellerCloud, а не нами. Для больших временных интервалов ожидайте несколько запросов.
Участие в разработке
Приветствуются сообщения об ошибках и pull-реквесты. Пожалуйста:
Запустите
pytestперед открытием PR (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 toolssellercloud_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.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| sku | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | ||
| company_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | ||
| company_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date_from | Yes | ||
| date_to | Yes | ||
| company_id | No | ||
| query | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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}}.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| company_id | No | ||
| page | No | ||
| page_size | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
7 tool updates
v0.1.0- First observed
sellercloud_get_channel_listing - First observed
sellercloud_get_inventory - First observed
sellercloud_get_order - First observed
sellercloud_get_product - First observed
sellercloud_list_channels - First observed
sellercloud_search_orders - First observed
sellercloud_search_products
TDQS
Scored across 7 tools
Each tool targets a distinct resource or action: product, inventory, order, channel listing, channels list, and two searches. No overlap in purpose.
All tools follow a consistent `sellercloud_verb_noun` pattern (get_, list_, search_), with clear verb choice for the operation type.
7 tools is well-scoped for a seller cloud integration covering core data retrieval: product, inventory, order, and channel information.
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
Related MCP Connectors
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Connect Amazon Seller Central to Claude or ChatGPT via MCP. Orders, inventory, pricing, fees, FBA.
Amazon Seller Central and Ads inside Claude or ChatGPT. Real fees from your own settlements.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn 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 npm7MIT
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that lets Claude manage keyCRM catalogue, stock, orders, customers, pipelines, and more via natural language.3-
- AlicenseNot gradedqualityBmaintenanceHosted Amazon Seller Central & Vendor Central MCP server. Connect Claude, ChatGPT, Cursor, Codex, Gemini, and GitHub Copilot to live Amazon SP-API and Amazon Ads API data.15MIT
- AlicenseNot gradedqualityCmaintenanceA 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