Skip to main content
Glama
jdh1229
by jdh1229

天猫商家登录 MCP 服务器

自动登录天猫/淘宝商家后台的 MCP (Model Context Protocol) 服务器,支持会话保持、页面操作、多店铺账号管理。

快速开始

前置条件

  • Node.js >= 18(下载

  • Chrome 浏览器(会自动检测以下路径)

    • Windows: C:\Program Files\Google\Chrome\Application\chrome.exe

    • macOS: /Applications/Google Chrome.app

    • Linux: /usr/bin/google-chrome

安装

方式一:一键安装(推荐)

  1. Releases 下载最新 ZIP 包

  2. 解压到任意目录

  3. 双击 install.bat(Windows)或运行 ./install.sh(macOS/Linux)

  4. 安装完成后,将项目路径配置到你的 AI 工具中

方式二:从源码安装

git clone https://github.com/jdh1229/tmall-seller-mcp.git
cd tmall-seller-mcp
npm install

配置

在你的 AI 工具(WorkBuddy / 千问办公 / Claude Desktop 等)的 MCP 配置中添加:

{
  "mcpServers": {
    "tmall-seller-mcp": {
      "command": "node",
      "args": ["<项目路径>/src/index.js"]
    }
  }
}

<项目路径> 替换为你实际解压/克隆的目录,例如:

  • Windows: C:\\Users\\你的用户名\\Desktop\\tmall-seller-mcp\\src\\index.js

  • macOS/Linux: /Users/你的用户名/tmall-seller-mcp/src/index.js

使用

配置完成后重启 AI 工具,直接对话即可:

  • "帮我登录天猫商家后台"

  • "查看今天的评价"

  • "截图当前页面"

首次登录需要提供店铺账号和密码,之后会自动保存并复用。


Related MCP server: camoufox-mcp

技术文档

架构

┌──────────────┐     MCP 协议      ┌──────────────────┐    Playwright    ┌──────────────┐
│  AI 客户端    │ ◄──────────────► │  MCP 服务器       │ ◄──────────────► │  Chrome      │
│ (WorkBuddy等) │                  │ (src/index.js)    │                  │  浏览器      │
└──────────────┘                   └──────────────────┘                  └──────────────┘

工具列表

基础操作

工具名

描述

参数

tmall_login

登录商家后台

username: 店铺账号, password: 密码, shopName?: 店铺名称

tmall_check_login

检查当前登录状态

tmall_navigate

导航到指定页面

url: 目标页面 URL

tmall_get_content

获取页面内容

selector?: CSS 选择器(不填则获取整个页面)

tmall_click

点击页面元素

selector: CSS 选择器

tmall_type

在输入框中填写文本

selector: CSS 选择器, text: 文本内容

tmall_screenshot

截取当前页面截图

path?: 截图保存路径

tmall_execute_js

执行 JavaScript 代码

script: JS 代码字符串

tmall_wait

等待指定时间

ms: 等待毫秒数

tmall_close

关闭浏览器

账号管理

工具名

描述

参数

tmall_get_accounts

获取已保存的所有店铺账号

tmall_save_account

保存店铺账号(不登录)

username: 店铺账号, password: 密码, shopName?: 店铺名称

评价管理

工具名

描述

参数

tmall_filter_reviews

筛选评价(自动清除旧条件后搜索)

date?: today/yesterday/7days/30days, sentiment?: positive/negative/neutral, contentType?: ["有内容","有图片","有视频","有追评"], replyStatus?: 已回复/未回复, keyword?: 搜索关键词

tmall_get_review_list

获取当前页面的评价列表(结构化数据)

tmall_reply_review

回复单条评价

reviewIndex: 评价索引(从 0 开始), replyText: 回复内容(最多 500 字)

评价管理使用示例:

// 查看今天的负面评价
tmall_navigate({ url: "https://myseller.taobao.com/home.htm/comment-manage/list/rateWait4PC" })
tmall_filter_reviews({ date: "today", sentiment: "negative" })
tmall_get_review_list()

// 回复第一条正面评价
tmall_filter_reviews({ sentiment: "positive" })
tmall_reply_review({ reviewIndex: 0, replyText: "感谢您的好评!" })

后续将陆续添加订单管理、商品管理、退款管理等页面的专用工具。

数据存储

  • 账号信息: ~/.workbuddy/tmall-seller-accounts.json

  • 会话状态: ~/.workbuddy/tmall-seller-states/<用户名>.json

  • 调试截图: 系统临时目录下的 tmall-seller-mcp-debug/

开发

# 安装依赖
npm install

# 启动服务器
npm start

# 运行测试
npm test

安全

  • 账号密码仅存储在本地文件系统

  • 不上传到任何外部服务器

  • 每个账号的会话状态独立存储

  • 使用 Playwright 的 storageState 管理 cookie/session

跨平台

Chrome 路径自动检测逻辑见 src/browser.jsfindChromePath() 函数。


许可证

MIT

注意事项

  • 本工具仅供学习和研究使用

  • 请遵守天猫/淘宝的使用条款

  • 不要将账号信息分享给他人

Available Tools

10 tools
tmall_check_loginC

检查当前登录状态

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 carries the full burden. However, it does not disclose any behavioral traits such as whether it requires an active session, what it does if not logged in, or whether it has side effects (it should be read-only). The description is minimal and lacks necessary 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.

Conciseness4/5

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

The description is a single short sentence that is appropriately concise Brad. It is front-loaded with the key action. No wasted words, though it could benefit from a bit more context, but for a simple status check, it is appropriately sized.

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 is simple with no params, but given no output schema and no annotations, the description should at least clarify what the return value indicates (e.g., whether it returns a boolean or status string). Also, with no siblings comparison, an agent may not know if login session persists. The description is incomplete for a tool that presumably returns login state.

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

Parameters4/5

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

With zero parameters and 100% schema coverage, the description does not need to explain any parameters. The schema already covers everything (no params). The description adds no parameter info, but it is not needed. Baseline 4 for zero params is appropriate.

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 '检查当前登录状态' clearly states the action (check login status) and the resource (current login state). It is a specific verb+resource, but does not distinguish itself from siblings beyond the obvious relation to tmall_login, which is for logging in. It is clear but lacks differentiated context.

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 gives no guidance on when to use this tool versus tmall_login or others. It implies usage for checking login status but does not state when not to use it or if it should be used before other actions. There is no mention of alternatives or exclusions.

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

tmall_clickB

点击页面元素(需要先登录)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorYesCSS 选择器

TDQS

B3.2/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 only mentions the login prerequisite and does not disclose whether the click can cause navigation, submit events, require waiting for page load, or fail in certain page states.

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 short sentence with no filler, placing the action first and the prerequisite in parentheses. It is efficiently structured, though lean in content.

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 single-parameter click tool, the essential invocation details are present, but the absence of annotations and an output schema leaves side effects, return behavior, and expected page state undisclosed. It is minimally viable but has clear gaps.

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 already describes 'selector' as a CSS selector with 100% coverage, so the baseline is 3. The description adds no parameter-specific meaning beyond the global login requirement.

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, '点击页面元素' (click page element), identifying a specific verb and resource. It is distinguishable from sibling tools like tmall_type and tmall_navigate, though no sibling is explicitly named.

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 gives a clear prerequisite ('需要先登录' / login required first), which helps an agent avoid calling it outside an authenticated session. However, it offers no explicit guidance on when to use this tool instead of alternatives such as tmall_type or tmall_navigate.

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

tmall_closeD

关闭浏览器

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.7/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 behavioral disclosure. It only states 'close the browser', which is minimal. It does not disclose that this will terminate the session, potentially lose unsaved state, or that it may invalidate login credentials. An agent has no idea of the side effects or consequences of calling this 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 extremely short (one phrase), which is concise, but it is under-specified. It does not waste words, but it also fails to provide necessary context. It is more of a placeholder than a helpful 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?

For a tool that closes the browser, the description is incomplete. It does not explain what happens to the session, whether the tool requires a logged-in state, or whether it is the only way to terminate the browser. Given that there is no output schema, the description should at least mention the expected effect or subsequent steps. This is inadequate for an agent to use safely.

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

Parameters4/5

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

The schema has no parametersaint, and the description makes no mention of parameters. Since there are no parameters, the baseline for parameter semantics is 4 per the guidelines. The description does not need to add more, as there is nothing to define.

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

Purpose1/5

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

The description is '关闭浏览器' which translates to 'Close the browser'. This is a clear, concise statement of the tool's action. However, it is a direct translation of the tool name 'tmall_close' and lacks any additional context about what exactly is closed (the entire browser, a tab, a session? ). It does not differentiate from siblings like 'tmall_screenshot' or 'tmall_navigate' which also interact with the browser.

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 vs others. It does not mention that it should be used at the end of a session, or that it might log the user out. No alternatives or exclusions are given.

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

tmall_get_accountsB

获取已保存的所有店铺账号

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden. It only says 'get all saved store accounts' – a read operation by implication – but does not disclose return format, error behavior, whether authentication is required, or potential side effects. The description adds little beyond the tool's function.

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, direct sentence with no filler, front-loading the action and resource. It achieves maximum conciseness.

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 zero-parameter retrieval tool, the description states the core function but omits details an agent could need: what the returned accounts look like, whether they include credentials, and whether any session state is required. In the absence of an output schema, a bit more context would improve completeness.

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

Parameters4/5

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

The tool has zero parameters, so there are no parameter semantics to explain. Baseline 4 applies because the input schema is empty and the description correctly adds no parameter-related requirements.

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 verb ('get') and resource ('all saved store accounts'). It distinguishes the tool from siblings like tmall_save_account and tmall_login, though it does not explicitly name them.

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 whether it should be called before tmall_login, after tmall_save_account, or any prerequisites, which leaves usage to inference.

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

tmall_get_contentA

获取页面内容(需要先登录)

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNoCSS 选择器(可选,不填则获取整个页面)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full transparency burden. It does reveal the authentication requirement, which is valuable, but it does not disclose whether the operation is read-only, what happens if the page isn't loaded, or the structure of the returned content.

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 short sentence that conveys the core action and the critical login prerequisite. It is efficient and front-loaded, though its brevity leaves behavioral and return-format questions unanswered.

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 single-parameter getter, the description plus schema covers the invocation basics and the login prerequisite. However, with no output schema and no mention of the return format, an agent cannot tell whether the result is HTML, visible text, or a structured representation.

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 tool description itself adds no parameter detail; all selector semantics live in the schema, where 'CSS 选择器(可选,不填则获取整个页面)' already covers optionality and default behavior. With 100% schema coverage, the baseline of 3 is appropriate.

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 opens with '获取页面内容', a concrete verb-object pair that clearly names the action and resource. This distinguishes it from navigation, clicking, typing, and screenshot siblings, though it does not explicitly say whether the content is HTML, text, or DOM.

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

Usage Guidelines4/5

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

The parenthetical '需要先登录' explicitly states a precondition: the tool must be used after login. This provides clear usage context, though it does not mention alternatives like tmall_screenshot or tmall_navigate or state when to prefer this tool over them.

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

tmall_loginA

登录天猫/淘宝商家后台。首次使用需要提供账号密码,之后会自动保存并复用。

ParametersJSON Schema
NameRequiredDescriptionDefault
passwordYes登录密码
shopNameNo店铺名称(可选,用于标识)
usernameYes店铺账号(如:立邦官方旗舰店:松鼠)

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden and does disclose a significant side effect: credentials will be saved and reused automatically. However, it leaves gaps around session establishment, success/failure signaling, and whether credentials are truly optional on later calls despite the schema listing them as required.

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

Conciseness5/5

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

The description is extremely concise: two short sentences, front-loaded with the main action, and no filler. Every word contributes either to what the tool does or to how credentials are handled.

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 simple 3-parameter login tool, the description covers the core flow and credential persistence, but it does not describe the expected result/output, how it relates to tmall_check_login, or what happens if login fails. With no output schema, a bit more context would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 and the description is not required to add much. It reinforces that username and password are needed on first use, but adds no additional meaning beyond what the schema already provides for each parameter.

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

Purpose5/5

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

The description clearly states the action ('登录' / login) and the target resource ('天猫/淘宝商家后台'), making it distinct from sibling tools like tmall_navigate or tmall_check_login. The verb-resource pairing is specific and unambiguous.

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

Usage Guidelines4/5

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

It gives contextual usage guidance: first-time use requires username/password, and subsequent calls reuse saved credentials. It does not explicitly mention alternatives such as tmall_check_login or exclusion cases, but the context is clear enough for an agent to decide when to call it.

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

tmall_navigateA

导航到指定页面(需要先登录)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes目标页面 URL

TDQS

A3.6/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 full behavioral burden. It usefully discloses the authentication requirement, which is relevant to calling the tool correctly. However, it does not describe side effects, loading/waiting behavior, failure modes, or what happens after navigation, leaving behavioral context thin.

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, and the prerequisite is succinctly appended in parentheses. This is appropriately concise for a simple one-parameter tool.

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

Completeness4/5

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

For a simple navigation tool, the definition covers the core invocation details: the target URL and the login prerequisite. It does not mention return values or post-navigation state, but given the tool's low complexity this is a minor gap rather than a blocking omission.

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 already documents the single URL parameter with 100% coverage, so the description needs to add little. The phrase '指定页面' loosely echoes the parameter meaning but adds no additional format, constraint, or usage detail beyond what the schema provides.

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 ('导航到' / navigate to) with a clear resource (指定页面 / specified page), and the URL parameter resolves any remaining ambiguity. It is distinguishable from siblings like tmall_click and tmall_get_content by the act of navigating to a URL, though it doesn't explicitly name a sibling.

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 states an important prerequisite ('需要先登录' / login required first), which gives the agent a necessary precondition. However, it does not explain when to prefer navigation over sibling tools, nor does it mention any exclusions or alternative behaviors.

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

tmall_save_accountA

保存店铺账号(不登录,仅保存)

ParametersJSON Schema
NameRequiredDescriptionDefault
passwordYes登录密码
shopNameNo店铺名称
usernameYes店铺账号

TDQS

A4/5.0
Behavior3/5

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

无注解,描述仅说明'不登录,仅保存',未提及保存后的行为、是否覆盖已有账号、权限要求等。对于简单保存操作而言足够,但缺乏额外行为细节。

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?

描述只有一句话,信息密度高,无冗余,符合简洁要求。

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?

工具操作简单,无输出schema,schema完整。虽然未说明保存成功后的反馈或异常情况,但已在可接受的完整度内。

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

Parameters3/5

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

schema描述覆盖100%,已说明每个参数的含义(username店铺账号,password登录密码,shopName店铺名称)。描述未额外补充参数语义,基线为3合理。

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?

描述明确说明'保存店铺账号(不登录,仅保存)',动词+资源清晰,并强调与登录的区别,能有效区别于tmall_login等兄弟工具。

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

Usage Guidelines4/5

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

描述暗示了使用场景(仅保存,不登录),但未明确说明何时使用此工具而非tmall_login。虽然语境清晰,但缺少明确的排除性指引。

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

tmall_screenshotA

截取当前页面截图(需要先登录)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo截图保存路径(可选,默认保存到当前目录)

TDQS

A3.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 states the core action and the login requirement, but does not mention what happens on failure (e.g., if not logged in) or what the tool returns or saves. For a simple read-only screenshot action, the minimal disclosure is acceptable but not thorough.

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 conveys the action and the key prerequisite without any waste. It is appropriately concise for a simple utility, and every word earns its place.

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 operation and the login requirement. However, it does not mention what happens with the saved file (e.g., return path) or error behavior, leaving minor gaps. Given the tool's simplicity, this is acceptable but not fully complete.

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 has 100% description coverage for the single optional 'path' parameter, which explains its purpose and default. The tool description adds no additional meaning beyond the schema, so it sits at the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the action (截取/截取截图) and the resource (当前页面截图), specifying exactly what the tool does. It uniquely identifies the screenshot operation among siblings like tmall_navigate and tmall_get_content, making it unambiguous.

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

Usage Guidelines4/5

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

The description provides a clear prerequisite ('需要先登录' – login required) that tells the agent when it is valid to call. While it doesn't explicitly list exclusions or alternatives, the sibling set has no other screenshot tool, so the usage context is clear enough.

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

tmall_typeB

在输入框中填写文本(需要先登录)

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes要填写的文本
selectorYesCSS 选择器

TDQS

B3.3/5.0
Behavior2/5

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

无注释,描述承担全部责任。仅说明需登录,但未披露是否覆盖现有文本、是否触发输入事件、失败行为或副作用。对于一个写操作,行为透明度不足。

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?

单句描述,无冗余,关键信息(登录要求)前置,非常简洁。

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?

对于简单操作,模式已覆盖参数,但缺少行为细节(如覆盖、事件触发)和失败处理,在无注释情况下不够完整。

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?

模式覆盖率100%,参数已在模式中描述。描述未增加额外含义,仅提到登录要求,与参数无关,符合基线3。

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?

描述明确了动作(在输入框中填写文本)和资源(输入框),但与兄弟工具如 tmall_click 没有区分,未说明选择器需对应输入元素。虽然清晰,但缺乏区分。

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?

描述提到需要先登录,给出了前置条件,但未说明何时不使用此工具,也没有提及替代方案(如 tmall_click 用于点击而非输入)。没有排除性指导。

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. 10 tool updatesv1.0.0
    • First observedtmall_check_login
    • First observedtmall_click
    • First observedtmall_close
    • First observedtmall_get_accounts
    • First observedtmall_get_content
    • First observedtmall_login
    • First observedtmall_navigate
    • First observedtmall_save_account
    • First observedtmall_screenshot
    • First observedtmall_type

TDQS

B3.3/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct action: login, login-status check, navigation, content retrieval, click, typing, screenshot, account management, and browser close. There is no meaningful overlap between tools.

Naming Consistency5/5

All tools share the tmall_ prefix and use consistent verb-based naming, with verb_noun forms for operations like get_content, get_accounts, and save_account. The naming pattern is uniform and predictable.

Tool Count5/5

With 10 tools, the set is well-scoped for browser automation of a seller backend. Each tool represents a necessary core capability without redundancy or bloat.

Completeness4/5

The tool surface covers the main browser automation lifecycle: login, navigation, interaction, content extraction, screenshots, and account management. Minor omissions like logout or explicit waiting are present, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables browser automation with anti-detection features, including navigation, interaction, form filling, and session management.
    22
    38 PyPI
    10
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides browser automation using Selenium, supporting Chrome and Firefox, with tools for navigation, element interaction, screenshots, and more.
    1
    Mulan Permissive Software , Version 2