Skip to main content
Glama
tukimtk-design

Openworker E-Commerce MCP Server

Openworker E-Commerce MCP Server

MCP (Model Context Protocol) Server designed for use with Openworker to control Chrome or Microsoft Edge for managing products on major E-Commerce platforms, namely Shopee, TikTok Shop, and Lazada.


🚀 Project Overview

This system was developed to solve the problems of automated browser control by typical bots on Seller Center pages:

  1. Login via Real Session: Connects to a Chrome/Edge instance where the user is already logged in via Remote Debugging Port (9222), no need to log in again or deal with repeated OTP/2FA.

  2. Fast Updates via Internal API Interception: Retrieves Session Cookies/Tokens from the browser and sends update commands directly through the API. Fast and accurate, without relying solely on UI clicks.

  3. Safety Guard & Captcha Pause: Validates price and stock bounds before saving, and pauses when a Captcha is encountered so the user can unlock it immediately.


Related MCP server: camoufox-mcp

👥 Team & Development Roles

  • Jules (Google AI Agent): Develops TypeScript code, develops tools for each category (Browser Attach, Session Interceptor, API Client, Safety Guard), and performs Unit Tests.

  • Controller Agent (Cowork / GitHub Controller): Controls the project structure, reviews Code/PR, designs Task Issues, manages Tag Releases, and deploys to Openworker.


🛠️ Project Structure

openworker-ecommerce-mcp/
├── src/
│   ├── index.ts                # Entry point หลักของ MCP Server
│   ├── types.ts                # Type Definitions & Schemas
│   ├── services/
│   │   ├── cdp-connection.ts   # ตัวจัดการเชื่อมต่อ Chrome/Edge CDP (Port 9222)
│   │   ├── session-extractor.ts# ตัวดึง Auth Cookies / Bearer Tokens จาก Tab
│   │   └── api-client.ts       # Internal API Wrapper สำหรับ Shopee/TikTok/Lazada
│   └── tools/
│       ├── browser-profile.ts  # Tool: browser_attach_existing
│       ├── ecommerce-search.ts # Tool: ecommerce_product_search
│       ├── ecommerce-update.ts # Tool: ecommerce_update_price_stock
│       └── safety-guard.ts     # Tool: ecommerce_safety_guard
├── docs/
│   ├── ARCHITECTURE.md         # สถาปัตยกรรมและรายละเอียด Tool Contracts
│   └── TASKS.md                # รายการงานสำหรับการพัฒนาราย Phase
├── JULES_PROMPT.md             # ข้อแนะนำการสั่งงาน Jules (Google AI Agent)
├── package.json
└── tsconfig.json

💻 Launching Chrome / Edge for Connection

Before getting started, launch Chrome or Microsoft Edge with the Remote Debugging command:

Windows (Chrome):

"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\ChromeAutomationProfile"

Windows (Edge):

"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222 --user-data-dir="C:\EdgeAutomationProfile"

⚙️ Installation & Build

# ติดตั้ง dependencies
npm install

# Build TypeScript
npm run build

# ทดสอบรัน MCP Server
npm start

📄 License

MIT License - Developed by tukimtk-design


🚀 Phase 7 Features

Auto-Launch on Windows

If the CDP connection fails on Windows, the system will attempt to automatically launch Chrome/Edge with the correct remote debugging port to provide a seamless 1-click experience.

Playwright E2E Mocks

You can run the mocked E2E flows via:

npm test

Openworker Auto-Installer

Run the PowerShell script to build the project and generate the MCP config:

.\scripts\install-openworker-mcp.ps1

🚀 Phase 8 Features

Multi-Platform Stock Sync

Automatically synchronize stock and prices across Shopee, TikTok Shop, and Lazada. The system orchestrates safety bounds and logs operations.

Fuzzy Variant Matching

The system uses string similarity (Levenshtein Distance) to match product variants that are named differently across platforms, leveraging SQLite to cache successful matches for immediate future retrievals.


🚀 Phase 9 Features (Enterprise)

Docker & Headless Run

Deploy 24/7 on the cloud using the official Playwright Docker image with Xvfb:

docker-compose up -d

Visual DOM Self-Correction

Captures viewport screenshots and bounding boxes to allow AI to self-correct during unexpected DOM overlays.

Proxy Rotation

Supports rotating proxies for multi-account isolation.

Available Tools

32 tools
browser_attach_existingA

ตรวจสอบการเชื่อมต่อ Chrome/Edge บนพอร์ต 9222 และแสดงรายการ Tab ร้านค้า Shopee/TikTok/Lazada

ParametersJSON Schema
NameRequiredDescriptionDefault
portNo

TDQS

A3.5/5.0
Behavior3/5

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

There are no annotations, so the description must carry the behavioral burden. The verbs 'ตรวจสอบ' (check) and 'แสดง' (display) imply a read-only, non-mutating operation. However, the description does not disclose prerequisites such as Chrome/Edge being launched with remote debugging enabled, nor what happens if port 9222 is unreachable.

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

Conciseness5/5

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

The description is a single front-loaded sentence that states the action, target, port, and relevant tab sources without filler. Every clause adds information needed to understand and invoke the tool.

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

Completeness3/5

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

For a tool with one optional parameter and no output schema, the description covers the core purpose, the port, and the tab sources, and it partially describes the return behavior as a list of tabs. It is incomplete, though, because it omits output structure, failure behavior, and usage boundaries relative to sibling browser/ecommerce tools.

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

Parameters3/5

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

The schema exposes only one optional port parameter with a default of 9222 and no parameter description (0% coverage). The description reinforces that the port refers to the Chrome/Edge debugging connection, adding modest context beyond the bare schema, but it does not explain acceptable values or behavior when a non-default port is used.

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

Purpose4/5

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

The description states a specific action: checking the Chrome/Edge connection on port 9222 and listing Shopee/TikTok/Lazada store tabs. It clearly identifies the resource and the expected result, and it is distinct from the ecommerce_* siblings, though it does not explicitly call out that it attaches to an existing browser session.

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 when to use the tool—when an agent needs to verify a browser debugging connection and see relevant store tabs—but it gives no explicit when-not-to-use guidance or pointers to alternatives such as browser_detect_challenge or the ecommerce tools. Usage context is present but not stated as a decision rule.

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

browser_detect_challengeB

สแกนหา Captcha/OTP บน Tab ที่เปิดอยู่ และส่งสัญญาณแจ้งเตือนเมื่อต้องให้มนุษย์ปลดล็อกหน้าจอ

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes

TDQS

B3.3/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 scan-and-notify behavior and the human-unlock trigger, but does not state whether the tool alters the page, requires prior attachment/authentication, or what form the notification signal takes.

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?

A single, front-loaded sentence conveys the core behavior and condition without redundancy. Every part contributes meaning, and the length is appropriate for this small tool.

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

Completeness3/5

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

The tool is simple, but with no annotations and no output schema the description still leaves the required platform parameter unexplained and does not specify the return/notification format. It is adequate for gross selection but incomplete for confident invocation.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions the required platform parameter. The enum values hint at target e-commerce platforms, but the description does not explain how platform affects scanning or which value to choose.

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

Purpose4/5

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

The description states a specific action: scan open tabs for Captcha/OTP and emit a notification when human unlock is needed. It is clearly distinguishable in function from the ecommerce data/update siblings, though it does not explicitly name an alternative.

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 when to use it: when a captcha/OTP is expected on open tabs and human intervention may be required. It gives no explicit exclusions or comparisons to siblings such as ecommerce_safety_guard, so the selection guidance is only implied.

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

ecommerce_audit_logC

บันทึกและเรียกดูประวัติการเปลี่ยนแปลงราคาสินค้าและสต็อกย้อนหลัง

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
actionYes
productIdNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only paraphrases the action enum (record and get_history). It does not disclose side effects of recording, prerequisites, whether entries are append-only, or what data is actually stored in an entry.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no wasted words. It would benefit from breaking out record vs get_history semantics, but as written it is concise and quickly scannable.

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

Completeness2/5

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

The tool has two behaviors, no output schema, no annotations, and undocumented parameters, yet the description provides only a high-level phrase. An agent cannot determine what to pass to record, what get_history returns, or how productId and limit apply to each action.

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

Parameters2/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 compensate, but it only mentions price/stock history, giving weak context for productId. It says nothing about limit or about how action=record obtains the new price/stock values that the description promises to record.

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

Purpose4/5

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

The description states a specific action set — record and view — and a concrete resource: product price and stock change history. It is clear enough to recognize this as an audit-log tool, though it does not explicitly name a sibling tool to differentiate.

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 guidance is given about when to call this tool versus ecommerce_update_price_stock, ecommerce_batch_update_price_stock, or the many other siblings. The action enum hints at two modes, but the description never states which mode is appropriate in which workflow.

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

ecommerce_autonomous_store_managerC

Background agent loop for autonomous store management

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
intervalMsNo

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description must carry the behavioral disclosure burden, but it only says 'background agent loop.' It does not disclose side effects, process lifecycle, persistence, scheduling behavior, permissions, or consequences of the four actions.

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

Conciseness2/5

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

The description is short, but this is under-specification rather than effective conciseness. It provides only a vague phrase and omits essential behavioral and usage details.

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

Completeness1/5

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

This is a stateful control-loop tool with no annotations and no output schema, and the description explains none of the action semantics, intervalMs behavior, return values, or how it fits into the broader ecommerce toolset. It is far from complete for an agent to invoke correctly.

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

Parameters1/5

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

Schema description coverage is 0% and the description never mentions action or intervalMs. All parameter meaning comes from the schema's enum and property names; the description adds no semantic value whatsoever.

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

Purpose3/5

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

The description conveys that this tool runs a background loop for autonomous store management, which is more than a tautology but still vague. It lacks a specific verb or action statement and does not differentiate itself from siblings like ecommerce_run_recipe or ecommerce_safety_guard.

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 guidance is given for when to use this tool versus alternatives, nor when to use start vs stop vs status vs trigger_now. The enum values in the schema imply usage, but the description itself provides no context or selection criteria.

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

ecommerce_auto_reply_chatC

Fetch unread messages and auto-reply

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
platformYes
messageIdNo
replyTextNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the two actions. It does not say whether auto-replying actually sends messages, marks them as read, overwrites existing replies, or requires special permissions. This is a meaningful transparency gap for a tool that sends responses on behalf of the user.

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

Conciseness3/5

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

The description is short and contains no filler, but it reads more like a tagline than a structured tool specification. It front-loads the two operations, yet it is too terse to convey the operational detail needed for a 4-parameter tool.

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

Completeness2/5

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

Given the 0% schema coverage, missing annotations, and no output schema, the description is not sufficient for an agent to invoke the tool correctly. It omits platform specifics, conditional parameter requirements, and behavioral side effects, leaving several important decisions to inference.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter-level meaning. The action enum is self-explanatory, but the required `platform` parameter's allowed values are unknown, and the conditional relationship of `messageId` and `replyText` to the `reply` action is not described. The description fails to compensate for the absent schema descriptions.

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

Purpose4/5

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

The description names a clear operation pair — fetching unread messages and auto-replying — which maps directly to the action enum. It is specific enough to identify the tool's chat-focused purpose and to distinguish it from the order/product/SEO siblings, though it doesn't explicitly mention the e-commerce chat scope.

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?

There is no guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites such as needing an active session or authenticated store. The only usage signal is the implicit one in the name and description, so an agent gets little help deciding between fetch_unread and reply beyond reading the schema.

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

ecommerce_batch_update_price_stockB

อัปเดตราคาและสต็อกแบบหลายรายการพร้อมระบบชะลอความเร็วเพื่อป้องกันการโดน Rate-Limit

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
platformYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It does disclose a meaningful behavior—throttling to prevent rate limits—but does not mention failure handling, partial success, authentication, or side effects beyond updating.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It conveys the core action and a key behavioral safeguard in minimal space.

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

Completeness2/5

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

The tool has no annotations, no output schema, and moderate schema complexity with nested items and a platform enum. The description leaves out important context such as required identifiers, optional fields, platform constraints, and expected result or error behavior.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to compensate for parameter meaning. It mentions price and stock, which loosely maps to newPrice and newStock, but adds no detail about productId, skuId, or the platform enum.

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

Purpose4/5

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

The description clearly states a specific action: updating price and stock in batch. The phrase 'แบบหลายรายการ' (multiple items) distinguishes it from the singular sibling ecommerce_update_price_stock, though it does not name that sibling explicitly.

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 batch price/stock updates and mentions throttling to avoid rate limits, which suggests when it is preferable over individual updates. However, it does not explicitly state when not to use it or name alternative tools.

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

ecommerce_cached_selector_mapD

Manage cached DOM selectors

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo
actionYes
selectorsNo

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it says almost nothing. It does not reveal whether operations read, write, mutate, persist, or clear cache state, nor does it mention side effects, permissions, or return behavior.

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

Conciseness2/5

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

The description is only one short phrase, which is technically concise, but it is under-specified rather than efficiently informative. It front-loads nothing useful because 'Manage' does not tell the agent what behavior to expect.

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

Completeness1/5

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

For a tool with three parameters, an enum-based action, no output schema, no annotations, and many siblings, this description is severely incomplete. An agent could not reliably select or invoke this tool correctly based solely on the description.

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

Parameters1/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 compensate for the undocumented parameters, but it does not. It never explains the meaning of 'key', the values of 'action', or how 'selectors' relate to the cached DOM selector map.

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

Purpose3/5

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

The description names a resource ('cached DOM selectors') and a general verb ('Manage'), so it is not a pure tautology. However, 'Manage' is vague and does not convey the actual get/set/list operations or differentiate this tool from sibling tools like ecommerce_visual_dom_analysis.

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 guidance is given about when to use this tool versus alternatives. The description does not state any context, prerequisites, or exclusions, leaving the agent to infer when 'managing cached DOM selectors' is appropriate.

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

ecommerce_clone_productC

Clone a product from a source URL to multiple target platforms

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceUrlYes
targetPlatformsYes
translationTemplateNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden, but it only states the high-level action. It doesn't disclose whether cloning overwrites existing products, requires platform credentials, handles missing source pages, or has side effects on target stores.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler; every word contributes. It is concise, though it errs slightly toward under-specification rather than providing useful operational detail.

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

Completeness2/5

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

For a multi-platform mutation tool with no annotations, no output schema, and undocumented parameters, this description is not operationally complete. An agent would not know the expected result, failure modes, or whether cloning is additive or destructive.

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

Parameters2/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 compensate. It loosely maps sourceUrl and targetPlatforms through the phrase 'source URL to multiple target platforms', but it adds no format, allowed values, or behavior details, and translationTemplate is entirely unexplained.

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

Purpose4/5

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

The description uses a specific verb ('Clone') with a clear resource ('product') and scope ('from a source URL to multiple target platforms'). It doesn't explicitly compare against sibling tools like ecommerce_sync_multiplatform_stock, but the core action is distinct enough to avoid most confusion.

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 guidance is provided about when to choose this tool over siblings such as ecommerce_sync_multiplatform_stock or ecommerce_product_search. There is also no mention of prerequisites like an existing authenticated session or a prior product extraction.

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

ecommerce_context_compressorC

Compress DOM to micro-JSON

ParametersJSON Schema
NameRequiredDescriptionDefault
domStringYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that a DOM is compressed to micro-JSON but says nothing about whether the operation is read-only, what the micro-JSON structure looks like, how invalid input is handled, or whether any external calls are made.

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 extremely concise with no filler, and the core action is front-loaded. However, it is so terse that it omits context that would help an agent use it correctly, so it is efficient rather than fully informative.

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

Completeness2/5

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

The input schema is simple, but there is no output schema and no annotations, so the description should explain the returned 'micro-JSON' shape and the intended use case. It does neither, leaving an agent uncertain about what the result contains and when this tool should be preferred.

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

Parameters2/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 compensate, but it adds only the word 'DOM' and the notion of compression. The schema already exposes domString as a string, so the description provides no additional meaning about expected format, size limits, or how the DOM string should be serialized.

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

Purpose4/5

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

The description names a specific verb ('Compress'), a clear input ('DOM'), and an output format ('micro-JSON'), so an agent can tell what operation is intended. It does not explicitly differentiate this from sibling tools like ecommerce_visual_dom_analysis, and 'micro-JSON' is left undefined, so it falls short of a 5.

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?

There is no guidance on when to use this tool versus any alternative, no mention of context reduction use cases, and no indication of prerequisites. The description is purely a transformation statement and leaves any usage decision to inference.

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

ecommerce_extract_sessionC

ดึง Cookies, CSRF Tokens และ Authorization Headers จาก Tab ร้านค้าที่เปิดอยู่

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only lists extracted artifacts and the source tab. It does not state whether the operation is read-only, whether the tab must first be attached, or any side effects or authentication expectations.

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

Conciseness5/5

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

The description is a single compact Thai sentence that front-loads the action and the target artifacts without wasting words. It is concise, clear, and contains no redundant restatements of the schema.

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

Completeness2/5

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

For a security-sensitive session-extraction tool with no annotations and no output schema, the description omits return format, prerequisites, and behavioral context. It is minimally viable but not complete enough to reliably guide invocation among many sibling ecommerce tools.

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

Parameters1/5

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

Schema description coverage is 0%, and the description never mentions the required 'platform' parameter or explains the enum values. The enum is self-descriptive, but the description adds no meaning to help the agent choose between shopee, tiktok, lazada, and lnwshop.

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

Purpose4/5

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

The description clearly names a specific action ('extract') and concrete resources (cookies, CSRF tokens, Authorization headers) from an open store tab. This makes the tool's purpose immediately understandable, though it does not explicitly contrast it with sibling tools.

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?

There is no explicit when-to-use or when-not-to-use guidance. The only implied context is that a store tab must already be open, and the agent is left to infer how this relates to alternatives like ecommerce_token_telemetry or browser_attach_existing.

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

ecommerce_fulfill_orderC

Trigger shipment arrangement

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYes
platformYes
trackingProviderNo

TDQS

C2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing side effects. 'Trigger shipment arrangement' implies a mutating action but does not state whether it creates a shipment record, sends notifications, is reversible, or has any prerequisites or consequences.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than efficient conciseness. A single vague phrase does not earn its place because it fails to convey necessary operational detail.

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

Completeness1/5

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

For a mutating fulfillment operation with no annotations, no output schema, and fully undocumented parameters, the description is far from complete. The agent lacks critical context about required inputs, effects, and likely failure modes.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no meaning to any of the three parameters. The agent gets no explanation of what 'platform', 'orderId', or 'trackingProvider' represent, what format they should take, or how they interact.

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

Purpose3/5

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

The description states a specific action ('Trigger shipment arrangement') that suggests initiating fulfillment for an order, which distinguishes it from read-only tools like get_pending_orders. However, 'shipment arrangement' is somewhat vague and does not explicitly say it marks an order as fulfilled or contacts a shipping provider, so the action is only partially clarified.

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?

There is no guidance about when this tool should be used, what conditions must be met before calling it, or how it relates to sibling tools such as ecommerce_get_pending_orders or ecommerce_update_price_stock. The agent must infer usage purely from the name and description.

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

ecommerce_get_pending_ordersC

Query unfulfilled orders

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full transparency burden. It only says 'Query unfulfilled orders,' which weakly implies a read operation, but it does not disclose what 'unfulfilled' covers, whether platform is required, what the response looks like, or any side effects.

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 short, front-loaded, and free of filler words. However, it is so minimal that it borders on under-specification, preventing a top score.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and an undocumented required parameter, the description is not complete enough. It should at least mention the platform requirement and the nature of the returned orders, but it does neither.

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

Parameters1/5

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

The sole parameter 'platform' has 0% schema description coverage, and the description does not mention it at all. The description fails to compensate for the missing parameter documentation, leaving the acceptable values and purpose of 'platform' entirely unspecified.

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

Purpose4/5

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

The description uses a specific verb ('Query') and a clear resource ('unfulfilled orders'), making the tool's basic purpose obvious. It does not explicitly differentiate it from sibling tools such as ecommerce_get_store_metrics or ecommerce_fulfill_order, so it stops short of a 5.

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 guidance is given about when to use this tool versus alternatives like ecommerce_fulfill_order or ecommerce_get_store_metrics. The intended use case is only loosely implied by the name and description, with no explicit exclusions or alternative routing.

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

ecommerce_get_store_metricsB

ดึงข้อมูลสรุปออเดอร์ค้างจัดส่งและรายการ SKU ที่สต็อกกำลังหมด

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. The verb "ดึงข้อมูล" (retrieve) implies a read-only operation and the description states what data is returned, but it does not mention whether results are live/cached, whether a session or auth is required, or any rate-limit side effects. For a simple getter this is minimally adequate but not rich.

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?

A single sentence with no filler; the verb and main output concepts are front-loaded. Every word earns its place, and there is no redundant repetition of the tool name or title.

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

Completeness3/5

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

For a one-parameter read-only metrics tool, the description states the main purpose and returned data categories, and the schema covers the platform constraint. However, with no output schema, no annotations, and no usage guidance, the overall context is only minimally sufficient for an agent to confidently select and invoke the tool.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions the platform parameter or how the chosen platform affects the output. The enum values are self-explanatory, but the description does not compensate for the low schema coverage as required.

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

Purpose4/5

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

The description uses a specific verb ("ดึงข้อมูล" / retrieve) and names concrete resources: a summary of pending-delivery orders and low-stock SKUs. This makes it meaningfully distinct from generic store-metric naming and from the sibling ecommerce_get_pending_orders, though it does not explicitly name that sibling.

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?

There is no guidance about when to choose this tool over ecommerce_get_pending_orders, ecommerce_product_search, or the other metric/stock-related siblings. No prerequisites, exclusions, or preferred contexts are provided; usage is only weakly implied by the name and description.

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

ecommerce_google_ads_integrationC

Integrate Google Ads Campaign Payload dispatcher and offline conversion tracking for platforms like CapsuleFill (lnwshop)

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
platformYes
conversionDataNo
campaignPayloadNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention side effects, authentication requirements, rate limits, or the fact that dispatching campaigns or tracking conversions likely sends data to an external Google Ads system. This is a significant transparency gap for a potentially state-changing integration tool.

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

Conciseness3/5

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

The description is a single short sentence, so it is concise, but the phrasing is awkward and compressed to the point of ambiguity. It would be more effective if it led with a clear verb and then separated the two responsibilities.

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

Completeness2/5

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

The tool has four parameters, two nested objects, two enum-based action values, and no output schema, yet the description provides almost no operational context. An agent needs to understand when to use each action, what payload data is required, and what happens after invocation, none of which is conveyed.

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

Parameters2/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 compensate for undocumented parameters. It loosely references 'Campaign Payload' and 'offline conversion tracking,' which faintly echo campaignPayload and action=track_offline_conversion, but it does not explain required parameters like platform and action, nor the semantics of conversionData or campaignPayload fields.

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

Purpose3/5

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

The description identifies the domain (Google Ads) and two broad capabilities (campaign payload dispatch, offline conversion tracking) that map to the action enum, so it is not a pure tautology. However, 'Integrate Google Ads Campaign Payload dispatcher' is an awkward noun phrase and does not state a clear verb or resource, leaving ambiguity about what action is actually performed.

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?

There is no guidance on when to use this tool versus alternatives, nor any explanation of when to choose dispatch_campaign versus track_offline_conversion. The only contextual hint is the platform list, which does not help an agent decide if this tool is appropriate for a given task.

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

ecommerce_hybrid_executorD

Hybrid API/CDP/Human execution

ParametersJSON Schema
NameRequiredDescriptionDefault
taskDetailsYes

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not indicate whether the tool mutates state, requires authentication, is destructive, has rate limits, or what side effects occur. The phrase 'Hybrid API/CDP/Human execution' hints at possible delegation to automated or human steps, but gives no concrete behavioral guarantees.

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

Conciseness2/5

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

The description is a single short phrase, which is concise in length, but it is under-specified rather than efficiently structured. There is no introduction, no details, and no logical breakdown. It does not earn its place because it provides almost no value.

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

Completeness1/5

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

Given the tool's apparent role as a hybrid executor, the description is grossly incomplete. There is no output schema, no parameter documentation, no behavioral disclosure, and no differentiation from the extensive sibling list. An agent would have no basis to invoke this tool correctly or understand its effects.

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

Parameters1/5

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

The input schema has one parameter, taskDetails, which is an open-ended object with additionalProperties true. Schema coverage is 0%, meaning the schema itself gives no semantic meaning. The description does not explain what taskDetails should contain, what format it takes, or any constraints. It fails completely to compensate for the lack of schema information.

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

Purpose2/5

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

The description 'Hybrid API/CDP/Human execution' gives a vague sense that the tool performs some kind of execution across three technical approaches, but it does not specify a concrete verb+resource or what is being executed. It is not a complete tautology like 'Process', but it offers almost no actionable clarity and does not differentiate it from the many sibling tools like ecommerce_run_recipe or ecommerce_autonomous_store_manager.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus any of the 30+ siblings. No mention of use cases, prerequisites, or alternatives. The description is a single phrase with no contextual cues to help an agent decide when this hybrid executor is the right choice.

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

ecommerce_list_recipesA

List all available workflow recipes

ParametersJSON Schema
NameRequiredDescriptionDefault
_dummyNoDummy parameter to satisfy strict schema requirements

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries behavioral disclosure. 'List' strongly implies a read-only operation and 'all available' conveys scope, but the description does not address output format, ordering, or whether 'available' excludes disabled recipes. The lack of explicit side-effect or permission information is partially mitigated by the inherently non-destructive verb.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler. Every word ('List', 'all', 'available', 'workflow recipes') carries meaning, and the length is appropriate for a simple list operation with no required parameters.

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 low-complexity tool with no required parameters and a dummy schema, the description is essentially complete for selecting and invoking the tool. The only gap is the absence of an output schema and any explanation of the returned structure, but the conventional meaning of 'list recipes' makes this omission minor.

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

Parameters3/5

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

The input schema fully documents the only parameter, _dummy, with a description, so schema description coverage is 100%. The tool description adds no parameter-specific meaning, which places this at the baseline 3; the dummy parameter does not require further elaboration.

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 a specific verb and resource: 'List all available workflow recipes' clearly identifies this as a non-mutating inventory operation. The 'list' scope differentiates it from siblings like ecommerce_run_recipe and ecommerce_save_custom_recipe, whose names imply execution and persistence.

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 the obvious use case when an agent needs an inventory of recipes, but it does not explicitly state when to prefer this over ecommerce_run_recipe or ecommerce_save_custom_recipe, nor does it mention any exclusions. This is adequate but relies on inference.

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

ecommerce_local_sqlite_cacheD

Local SQLite caching

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
valueNo
actionYes

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It states only 'Local SQLite caching' and does not mention persistence semantics, side effects, cache expiration, concurrency behavior, or what happens on get versus set. This provides essentially no behavioral transparency.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than effective conciseness. It contains no useful information beyond the tool name, so it fails to earn its place as a meaningful description.

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

Completeness1/5

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

Given that there are no annotations, no output schema, and 0% schema description coverage, the description is far too incomplete. It omits the behavior of both actions, the key/value contract, return values, and any operational context within the ecommerce toolset. An agent cannot reliably select or invoke this tool based on the information provided.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not compensate by explaining any parameters. It does not clarify that 'action' chooses between get and set, what 'key' represents, or how 'value' should be formatted. The absence of parameter semantics makes correct invocation largely guesswork.

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

Purpose2/5

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

The description 'Local SQLite caching' is a noun phrase that merely restates the tool name 'ecommerce_local_sqlite_cache' without a specific verb or resource action. It does not say what the tool does, such as retrieving or storing cached values, and it offers no differentiation from sibling tools.

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?

There is no guidance on when to use this tool versus alternatives or how it fits into the broader ecommerce workflow. The description does not mention use cases, prerequisites, or exclusions, leaving the agent to infer applicability from the schema alone.

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

ecommerce_m365_copilot_bridgeD

Bridge to Microsoft 365 Copilot Chat interface

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
promptNo

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of disclosing behavior, but it provides none. It does not mention side effects, required authentication, connection assumptions, or the meaning of actions like attach_m365_tab or send_prompt.

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

Conciseness2/5

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

The description is extremely short, which might appear concise, but it is under-specified rather than efficient. The single sentence only restates the tool name and provides no substantive information, so it does not earn its place.

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

Completeness1/5

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

The tool has four distinct actions, one optional parameter, no output schema, and no annotations, yet the description gives no behavioral or return-value context. An agent has no way to know what each action returns, what side effects may occur, or how failures are surfaced.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no explanation for the 'action' enum values or the 'prompt' parameter. An agent cannot infer when 'prompt' is optional or required, what each action expects, or what values are valid beyond the raw enum list.

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

Purpose2/5

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

The description 'Bridge to Microsoft 365 Copilot Chat interface' is a noun phrase that essentially restates the tool name without stating a clear verb, resource action, or purpose. It does not say what the tool actually accomplishes, such as sending prompts or retrieving Chat responses, nor does it differentiate it from sibling tools.

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?

There is no guidance on when to use this tool, when not to use it, or which sibling alternatives might be relevant. The description provides no operational context or decision criteria for an agent selecting among the many ecommerce and browser tools.

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

ecommerce_manage_promotionsC

Query and update store Flash Sales and voucher campaigns

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
platformYes
promoDetailsNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. While 'update' conveys mutation, it does not warn about potential side effects of create/update on live store campaigns, nor does it mention permissions, rate limits, or payload requirements.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler, making it easy to parse. It loses a point because the missing 'create' action makes the concise phrasing slightly misleading rather than merely compact.

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

Completeness2/5

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

With three parameters, a nested object, no annotations, and no output schema, the tool needs far more context than one sentence provides. The description lacks platform constraints, promoDetails structure, action-specific behavior, and expected return information.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the semantics of 'platform', 'action', or 'promoDetails'. It only frames the domain, so it fails to compensate for the schema's lack of parameter documentation.

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

Purpose4/5

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

The description states a concrete action ('Query and update') and a specific resource ('store Flash Sales and voucher campaigns'), making the tool's general purpose clear and differentiating it from product/order-focused siblings. However, it omits 'create', which appears in the action enum, so the stated scope is slightly incomplete.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor any exclusions. It relies entirely on the reader to infer that this is for promotions management, with no explicit context or routing signal.

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

ecommerce_match_variantsC

Fuzzy match product variants across platforms

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
candidatesNo
sourceNameYes
targetCandidateNo

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only reveals that matching is 'fuzzy' or approximate; it does not explain whether 'force_map' writes permanent mappings, whether data is modified, or what the tool returns.

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

Conciseness2/5

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

The description is extremely concise with no filler, but it is under-specified rather than usefully concise. It reads more like a title than a functional description and lacks any structural separation of key operational details.

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

Completeness1/5

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

Given four parameters, no annotations, no output schema, and nested object parameters, the one-sentence description is insufficient. An agent cannot safely determine how to invoke the tool, what 'force_map' does, or what the outcome of the operation will be.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning for any of the four parameters. The distinction between 'match' and 'force_map', the role of 'sourceName', and the relationship between 'candidates' and 'targetCandidate' are left entirely to inference.

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

Purpose4/5

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

The description names a specific verb ('Fuzzy match') and resource ('product variants across platforms'), making the core purpose immediately understandable. It is concise and distinct from most siblings, though it does not explicitly contrast with closely related tools like ecommerce_sync_multiplatform_stock.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any preconditions, typical scenarios, or cases where another sibling would be better suited.

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

ecommerce_ow_lnwshop_safe_seo_updaterC

Safe update for meta titles and keywords without disrupting live product layout.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes
metaTitleNo
productIdYes
metaKeywordsNo
metaDescriptionNo

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It adds a meaningful non-disruption guarantee, which is useful context beyond the tool name. However, 'safe' is vague and there is no mention of side effects, idempotence, permissions, or failure behavior.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words, and the most important behavioral aspect ('safe', 'without disrupting') is front-loaded. It is appropriately short, though it sacrifices useful parameter and usage detail.

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

Completeness2/5

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

For a tool with 5 parameters, no schema descriptions, no annotations, and no output schema, the description is incomplete. It fails to mention the platform constraint, the productId requirement, the metaDescription field, and guidance relative to sibling tools. An agent would need to infer too much before calling it correctly.

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

Parameters2/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 compensate by explaining parameters. It mentions 'meta titles and keywords', covering metaTitle and metaKeywords, but omits metaDescription, productId, and platform entirely. The description adds minimal value over the raw schema and does not clarify required fields or value formats.

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

Purpose4/5

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

The description states a clear action ('update') on a specific resource ('meta titles and keywords') and emphasizes a non-disruptive approach. It is immediately understandable what the tool does. However, it does not explicitly differentiate from the sibling tool ecommerce_seo_optimizer, which likely overlaps in purpose.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The phrase 'safe update' and 'without disrupting live product layout' imply a preference, but no explicit when/when-not conditions or references to sibling tools are given. An agent cannot confidently choose this over ecommerce_seo_optimizer.

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

ecommerce_run_recipeC

Run a predefined workflow recipe

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo
recipeIdYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits on its own. 'Run a predefined workflow recipe' implies execution and likely side effects, but it does not disclose whether the operation is asynchronous, idempotent, scoped, or what happens if the recipe doesn't exist. This is a significant transparency gap for an execution-oriented tool.

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

Conciseness3/5

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

The description is a single sentence with no filler, which is concise. However, 'predefined workflow recipe' is left undefined and the sentence is closer to under-specification than to an appropriately compact explanation.

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

Completeness1/5

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

With no annotations, no output schema, a 0% schema description coverage, and a nested params object, the one-line description is far from sufficient. An agent cannot know what a 'recipe' is, what running one does, what the return value will be, or how to pass parameters correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no parameter-level information. It does not explain what recipeId is, how to format the params object, or what values are expected. Since the schema itself only provides bare types, an agent has almost no basis for constructing valid arguments.

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

Purpose4/5

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

The description states a specific verb ('Run') and resource ('predefined workflow recipe'), making the core action clear. It does not explicitly distinguish itself from sibling tools like ecommerce_list_recipes or ecommerce_save_custom_recipe, but 'run' separates it reasonably well from read/create operations.

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?

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites such as recipe existence or how to find recipe IDs, and no exclusions. The usage context is only implied by the tool name and one-line description.

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

ecommerce_safety_guardC

ตรวจสอบความปลอดภัยและส่วนต่างของราคาสินค้าก่อนทำการอัปเดตบันทึกจริง

ParametersJSON Schema
NameRequiredDescriptionDefault
currentPriceYes
proposedPriceYes
maxPriceDropPercentNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not state whether the tool is read-only, what it returns (e.g., boolean, error), whether it blocks updates, or the nature of the 'safety' check. The only hint is that it checks 'price difference', but details on thresholds and failure handling are missing.

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?

A single concise sentence that front-loads the core purpose without any fluff. It is appropriately brief, though it sacrifices necessary details for brevity.

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

Completeness2/5

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

For a validation tool with no annotations and no output schema, the description is incomplete. It lacks crucial details such as return values, error behavior, side effects, and how the safety check is calculated, leaving an agent uncertain how to interpret results or handle failures.

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

Parameters2/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 explain the parameters, but it does not. It vaguely references 'price difference' (relating to currentPrice and proposedPrice) and 'safety' (likely maxPriceDropPercent), but provides no explicit mapping or additional meaning beyond the parameter names themselves.

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

Purpose4/5

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

The description clearly states a pre-update safety check for product prices, using the verb 'ตรวจสอบ' (check) with a specific resource (product price before update). It conveys a guard-like role, distinguishing it from actual update tools like ecommerce_update_price_stock, but it does not explicitly name the sibling it complements.

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 phrase 'before performing the actual update' implies this should be used prior to update tools, but it does not explicitly name alternatives like ecommerce_update_price_stock or state when not to use it. The usage context is clear but not fully explicit.

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

ecommerce_save_custom_recipeD

Save a custom macro recipe

ParametersJSON Schema
NameRequiredDescriptionDefault
recipeYes

TDQS

D1.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'save'. It does not mention whether saving overwrites an existing recipe, whether updates are idempotent, what validation occurs, or what the response indicates.

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

Conciseness2/5

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

The description is short and without fluff, but it is under-specified rather than concise. Given the tool's complex nested input schema, a single tautological sentence is not an appropriately sized description.

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

Completeness1/5

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

The tool has a nested schema, no output schema, no annotations, and no usage guidance, yet the description provides none of the needed context. It does not explain recipe semantics, step structure, save behavior, or how this relates to recipe execution tooling.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no meaning to the required 'recipe' parameter. The nested structure with id, name, steps, action, selector, and delayMs is left entirely to the agent to interpret from the raw schema.

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

Purpose2/5

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

The description 'Save a custom macro recipe' is essentially a restatement of the tool name ecommerce_save_custom_recipe, adding only the word 'macro'. It does not explain what a custom recipe is or differentiate this save operation from siblings like ecommerce_run_recipe or ecommerce_list_recipes.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool instead of related tools such as ecommerce_run_recipe or ecommerce_list_recipes. No workflow context, prerequisites, 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.

ecommerce_seo_optimizerC

Fast HTML DOM parsing and rewriting to generate entity-based JSON-LD schemas and optimize on-page SEO

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
entityDataNo
entityTypeNo
htmlStringYes
descriptionNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses that the tool performs parsing and rewriting, which implies mutation of HTML, but it does not explain side effects, what exactly gets rewritten, whether existing schema or SEO tags are replaced, or what the expected output format is. The word 'Fast' adds a performance claim but no actionable behavioral detail.

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

Conciseness5/5

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

The description is a single, tightly-worded sentence with no filler. It front-loads the core capability ('Fast HTML DOM parsing and rewriting') and immediately states the intended outcome. Every word contributes to the overall meaning, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool has no annotations, no output schema, five parameters, a nested entityData object, and a potentially destructive rewriting behavior, this description is not sufficient. It does not explain what the agent should pass for entityType, how entityData relates to the schema, what HTML is expected, or what the function returns. An agent would struggle to invoke this correctly without additional information.

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

Parameters2/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 compensate for the schema's lack of explanation. It references 'entity-based JSON-LD schemas', which weakly maps to entityType and entityData, but it does not explain the role of title, description, or htmlString beyond the obvious. It fails to clarify how entityData should be structured, which is especially important given the nested object with additionalProperties.

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

Purpose4/5

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

The description states a clear resource (HTML DOM), a specific set of operations (parsing and rewriting), and the intended outcome (JSON-LD schemas and on-page SEO optimization). It is distinguishable from most ecommerce siblings, and the 'Fast HTML DOM parsing and rewriting' phrasing gives a concrete sense of the mechanism. However, it does not explicitly differentiate itself from the similarly-named ecommerce_ow_lnwshop_safe_seo_updater, so it falls short of a perfect 5.

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

Usage Guidelines2/5

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

The description implies this tool is for SEO optimization and JSON-LD generation, but it gives no explicit guidance on when to use it versus the many sibling ecommerce tools. It does not state prerequisites, exclusions, or alternatives, such as when ecommerce_ow_lnwshop_safe_seo_updater would be preferable. An agent would have to infer usage from the tool name and general context rather than from clear instructions.

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

ecommerce_smart_diff_updateC

Calculate deltas between states

ParametersJSON Schema
NameRequiredDescriptionDefault
targetStateYes
currentStateYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for disclosing behavior, but it only says 'calculate deltas between states.' It doesn't disclose whether the tool mutates anything, what side effects exist, what output is returned, or whether it only reads/computes. The name's 'update' hints at mutation, but the description neither confirms nor denies it.

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

Conciseness4/5

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

The description is a single sentence with no filler and is easy to parse. It earns its place as a concise summary, though the brevity comes at the cost of missing substantial detail.

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

Completeness2/5

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

For a tool with two required nested object parameters, no annotations, and no output schema, a one-sentence description is materially incomplete. An agent cannot infer the expected state shapes, the return value, potential side effects, or when this tool should be selected over the many ecommerce siblings.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needs to compensate, but it only vaguely references 'states' without explaining how currentState and targetState relate. It implies a comparison between the two but provides no format, semantics, or examples to help an agent construct valid inputs.

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

Purpose4/5

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

The description specifies a concrete action ('calculate') and a resource ('states'), giving a coherent purpose. However, it doesn't differentiate itself from sibling tools or explain what 'deltas' concretely means, and the 'update' in the name is not reflected in the description.

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 guidance is provided about when to use this tool versus alternatives. There are no use-case examples, no conditions, and no mention of related sibling tools like ecommerce_update_price_stock or ecommerce_batch_update_price_stock.

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

ecommerce_sync_multiplatform_stockC

Sync stock and prices across multiple platforms

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYes
newPriceNo
newStockNo
sourcePlatformYes
sourceProductNameYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden, but it only says 'sync stock and prices.' It does not reveal whether target values are overwritten, whether the operation requires source-to-target value flow, whether it is destructive, or what side effects it may have. This is minimal disclosure at best.

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

Conciseness4/5

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

The description is a single direct sentence with no filler or redundancy. It is front-loaded and readable, but it is so brief that it sacrifices useful detail for conciseness.

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

Completeness2/5

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

Given the tool's complexity — nested target objects, variant arrays, and optional newPrice/newStock fields — plus the absence of annotations and an output schema, the description is not nearly complete enough. It fails to explain how source data maps to target platforms, what the optional fields mean, or what 'sync' actually modifies.

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

Parameters2/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 compensate, but it only broadly mentions stock and prices, giving almost no meaning to sourcePlatform, sourceProductName, targets, availableVariants, or the distinction between current and new values. Property names help, but the description adds insufficient semantic value for a nested input structure.

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

Purpose4/5

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

The description names a specific verb ('sync') and resource ('stock and prices') and adds a multi-platform scope that partially differentiates it from sibling tools like ecommerce_update_price_stock. However, it does not explicitly contrast with batch update or clarify the direction of synchronization, so it stops short of a 5.

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?

There is no explicit guidance on when to use this tool versus alternatives such as ecommerce_batch_update_price_stock or ecommerce_update_price_stock. The description simply restates the tool's basic function and leaves the selection context entirely to inference.

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

ecommerce_sync_product_imagesC

Extract, re-format, and upload product gallery images across platforms

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYes
sourcePlatformYes
targetPlatformsYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden of behavioral disclosure. It only states the high-level operation and does not say whether existing target gallery images are overwritten, appended, or left untouched, nor does it mention permissions, idempotency, or failure behavior.

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

Conciseness4/5

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

The description is a single tight sentence with no filler and front-loads the main action. It is concise, though slightly too sparse to fully carry the required behavioral and parameter context.

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

Completeness2/5

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

For a mutating multi-platform operation with no annotations, no output schema, and 0% schema description coverage, this one-line description is incomplete. An agent cannot confidently know what will happen to target galleries, what platform identifiers are valid, or what the tool returns after execution.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no parameter-specific information. It never explains accepted values for sourcePlatform or targetPlatforms, how productId identifies the gallery, or any format constraints. 'Across platforms' is the only indirect hint and is insufficient.

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 names a specific capability: extracting, re-formatting, and uploading product gallery images across platforms. This clearly distinguishes it from stock-sync, clone-product, or other sibling tools.

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?

There is no mention of when this tool should be used instead of alternatives such as ecommerce_sync_multiplatform_stock or ecommerce_clone_product. The intended use case is only implied by the phrase 'across platforms' and the tool name.

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

ecommerce_token_telemetryD

Record token telemetry

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
inputTokensNo
savedTokensNo
outputTokensNo

TDQS

D1.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only states a generic action. It does not disclose that 'action' switches between record and get, what side effects recording has, or whether the operation returns telemetry data.

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

Conciseness2/5

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

The description is short and front-loaded, but brevity here comes from under-specification rather than efficient structure. The single phrase omits essential information and is not a complete definition.

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

Completeness1/5

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

For a tool with two action modes, four parameters, no annotations, and no output schema, the description leaves the agent without enough context to call it correctly. It would need at least operation-specific parameter requirements and result behavior.

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

Parameters1/5

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

Schema description coverage is 0%, so the description needed to explain the action enum and the three token parameters. Instead, it says only 'Record token telemetry' and adds no meaning to inputTokens, savedTokens, outputTokens, or the record/get distinction.

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

Purpose2/5

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

The description 'Record token telemetry' restates the tool name's resource ('token telemetry') and asserts only one of the two operations exposed by the 'action' enum ('record'), omitting 'get'. It does not differentiate this telemetry tool from the many sibling ecommerce tools.

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?

There is no guidance about when to record versus get telemetry, nor any comparison to related tools such as ecommerce_get_store_metrics or ecommerce_audit_log. The agent must infer usage entirely from the schema.

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

ecommerce_update_price_stockC

ปรับเปลี่ยนราคาสินค้าและจำนวนสต็อก

ParametersJSON Schema
NameRequiredDescriptionDefault
skuIdNo
newPriceNo
newStockNo
platformYes
productIdYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that price and stock are changed, but says nothing about overwrite behavior, partial updates, validation, reversibility, or any mutation side effects — a significant gap for a write operation.

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

Conciseness4/5

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

The description is a single concise sentence with no filler or redundancy, and it front-loads the core action. It is somewhat under-specified for the tool's complexity, but structurally it is clean and efficient.

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

Completeness2/5

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

With no output schema, no annotations, and five parameters, the definition is not complete enough. It omits identifier semantics, partial-update behavior, platform-specific concerns, and any mention of batch/sync alternatives, so an agent would have difficulty using it correctly without external knowledge.

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

Parameters2/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 compensate. It maps 'price' and 'stock quantity' to newPrice and newStock, but it does not explain platform, productId, skuId, or the relationship between product-level and SKU-level identifiers. This is minimal compensation for five undocumented parameters.

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

Purpose4/5

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

The description states a clear verb ('ปรับเปลี่ยน' = modify/change) and specific resources (product price and stock quantity). However, it does not explicitly distinguish itself from sibling tools like ecommerce_batch_update_price_stock, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives such as the batch update or multi-platform sync tools. There is no mention of context, prerequisites, exclusions, or conditions, leaving the agent without a basis for tool selection.

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

ecommerce_visual_dom_analysisC

Capture viewport screenshots and bounding boxes for self-correction

ParametersJSON Schema
NameRequiredDescriptionDefault
simulateNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations present, the description carries the full burden of disclosing behavior. It states that the tool captures screenshots and bounding boxes but does not mention whether it attaches to an existing browser, whether it is read-only, how results are returned, or the effect of the 'simulate' parameter. This is minimal behavioral context.

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

Conciseness3/5

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

The description is only one sentence and is easy to parse, with no filler words. However, its brevity sacrifices critical detail about usage and parameters, so it is under-specified rather than efficiently complete.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and an undocumented boolean parameter, this description is incomplete. An agent lacks enough information to know when to call it, what 'simulate' does, and what kind of result to expect.

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

Parameters1/5

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

Schema description coverage is 0% and the only parameter 'simulate' is not mentioned in the description. The description adds no meaning beyond the bare boolean schema, leaving an agent unable to understand what simulating the analysis entails.

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

Purpose4/5

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

The description uses a specific verb ('Capture') and names concrete resources ('viewport screenshots and bounding boxes'), with a stated purpose ('for self-correction'). This distinguishes it from sibling ecommerce tools, though 'self-correction' is somewhat vague.

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

Usage Guidelines2/5

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

The phrase 'for self-correction' implies a use case, but the description does not explicitly state when to use this tool versus alternatives, nor does it mention any preconditions or exclusions. No sibling comparisons are provided.

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. 32 tool updatesv1.0.0
    • First observedbrowser_attach_existing
    • First observedbrowser_detect_challenge
    • First observedecommerce_audit_log
    • First observedecommerce_auto_reply_chat
    • First observedecommerce_autonomous_store_manager
    • First observedecommerce_batch_update_price_stock
    • First observedecommerce_cached_selector_map
    • First observedecommerce_clone_product
    • First observedecommerce_context_compressor
    • First observedecommerce_extract_session
    • First observedecommerce_fulfill_order
    • First observedecommerce_get_pending_orders
    • First observedecommerce_get_store_metrics
    • First observedecommerce_google_ads_integration
    • First observedecommerce_hybrid_executor
    • First observedecommerce_list_recipes
    • First observedecommerce_local_sqlite_cache
    • First observedecommerce_m365_copilot_bridge
    • First observedecommerce_manage_promotions
    • First observedecommerce_match_variants
    • First observedecommerce_ow_lnwshop_safe_seo_updater
    • First observedecommerce_product_search
    • First observedecommerce_run_recipe
    • First observedecommerce_safety_guard
    • First observedecommerce_save_custom_recipe
    • First observedecommerce_seo_optimizer
    • First observedecommerce_smart_diff_update
    • First observedecommerce_sync_multiplatform_stock
    • First observedecommerce_sync_product_images
    • First observedecommerce_token_telemetry
    • First observedecommerce_update_price_stock
    • First observedecommerce_visual_dom_analysis

TDQS

C2.1/5.0

Scored across 32 tools

Disambiguation2/5

Several tools have fuzzy boundaries: update_price_stock, batch_update_price_stock, and sync_multiplatform_stock all mutate price/stock with only scale/destination differences, while SEO optimizer and SEO updater overlap. Infrastructure tools like context_compressor, smart_diff_update, cached_selector_map, and hybrid_executor also lack clear functional separation.

Naming Consistency2/5

Most tools share an ecommerce_ prefix, but naming style is inconsistent: some are verb_noun (update_price_stock), some are noun-only (local_sqlite_cache, token_telemetry), and there are odd exceptions like browser_attach_existing and ecommerce_ow_lnwshop_safe_seo_updater. The mixed prefixes and inconsistent verb usage make the set feel unpatterned.

Tool Count2/5

32 tools is excessive for a coherent MCP surface. Many tools expose internal implementation details such as caching, token telemetry, context compression, and selector maps that should not be directly callable, making the set feel bloated rather than well-scoped.

Completeness3/5

The tool set covers a broad range of e-commerce operations including search, price/stock updates, orders, fulfillment, promotions, SEO, ads, and multi-platform sync. However, there are notable gaps such as no product deletion or full product CRUD, no order cancellation/refund flow, and limited promotion lifecycle management beyond flash sales/vouchers.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables browser automation and web scraping with multi-session management, supporting page navigation, element interaction, network request capture, and content extraction across multiple concurrent browser instances.
    7
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables browser automation with anti-detection features, including navigation, interaction, form filling, and session management.
    22
    9
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to drive your real, logged-in Chrome browser with existing sessions and cookies, bypassing CAPTCHA and anti-bot measures, with support for multi-session and human-in-the-loop workflows.
    40
    40
    MIT