tmall-seller-mcp
This server is an MCP bridge that lets AI assistants control a Chrome browser to automate Tmall/Taobao seller backend tasks, including login, page navigation, and review management.
Login & session management: Log in to Tmall/Taobao seller accounts, check login status, and reuse saved sessions.
Account management: Save, retrieve, and reuse multiple store account credentials locally.
Browser/page automation: Navigate to URLs, read page content, click elements, type text, take screenshots, execute custom JavaScript, wait, and close the browser.
Review management: Filter reviews by date, sentiment, content type, reply status, or keyword; fetch structured review lists; reply to individual reviews.
Cross-platform support: Works with Windows, macOS, and Linux via auto-detected Chrome installation.
Provides automated login to the Taobao/Tmall seller backend, with support for managing multiple shop accounts, navigating pages, extracting content, clicking and typing elements, and taking screenshots.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tmall-seller-mcpLog in to my Tmall seller account and check today's orders"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
天猫商家登录 MCP 服务器
自动登录天猫/淘宝商家后台的 MCP (Model Context Protocol) 服务器,支持会话保持、页面操作、多店铺账号管理。
快速开始
前置条件
Node.js >= 18(下载)
Chrome 浏览器(会自动检测以下路径)
Windows:
C:\Program Files\Google\Chrome\Application\chrome.exemacOS:
/Applications/Google Chrome.appLinux:
/usr/bin/google-chrome
安装
方式一:一键安装(推荐)
从 Releases 下载最新 ZIP 包
解压到任意目录
双击
install.bat(Windows)或运行./install.sh(macOS/Linux)安装完成后,将项目路径配置到你的 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.jsmacOS/Linux:
/Users/你的用户名/tmall-seller-mcp/src/index.js
使用
配置完成后重启 AI 工具,直接对话即可:
"帮我登录天猫商家后台"
"查看今天的评价"
"截图当前页面"
首次登录需要提供店铺账号和密码,之后会自动保存并复用。
Related MCP server: camoufox-mcp
技术文档
架构
┌──────────────┐ MCP 协议 ┌──────────────────┐ Playwright ┌──────────────┐
│ AI 客户端 │ ◄──────────────► │ MCP 服务器 │ ◄──────────────► │ Chrome │
│ (WorkBuddy等) │ │ (src/index.js) │ │ 浏览器 │
└──────────────┘ └──────────────────┘ └──────────────┘工具列表
基础操作
工具名 | 描述 | 参数 |
| 登录商家后台 |
|
| 检查当前登录状态 | 无 |
| 导航到指定页面 |
|
| 获取页面内容 |
|
| 点击页面元素 |
|
| 在输入框中填写文本 |
|
| 截取当前页面截图 |
|
| 执行 JavaScript 代码 |
|
| 等待指定时间 |
|
| 关闭浏览器 | 无 |
账号管理
工具名 | 描述 | 参数 |
| 获取已保存的所有店铺账号 | 无 |
| 保存店铺账号(不登录) |
|
评价管理
工具名 | 描述 | 参数 |
| 筛选评价(自动清除旧条件后搜索) |
|
| 获取当前页面的评价列表(结构化数据) | 无 |
| 回复单条评价 |
|
评价管理使用示例:
// 查看今天的负面评价
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.js 的 findChromePath() 函数。
许可证
MIT
注意事项
本工具仅供学习和研究使用
请遵守天猫/淘宝的使用条款
不要将账号信息分享给他人
Available Tools
10 toolstmall_check_loginC
检查当前登录状态
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
点击页面元素(需要先登录)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS 选择器 |
TDQS
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.
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.
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.
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.
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.
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
关闭浏览器
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
获取已保存的所有店铺账号
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
获取页面内容(需要先登录)
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | CSS 选择器(可选,不填则获取整个页面) |
TDQS
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.
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.
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.
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.
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.
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
登录天猫/淘宝商家后台。首次使用需要提供账号密码,之后会自动保存并复用。
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes | 登录密码 | |
| shopName | No | 店铺名称(可选,用于标识) | |
| username | Yes | 店铺账号(如:立邦官方旗舰店:松鼠) |
TDQS
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.
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.
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.
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.
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.
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_save_accountA
保存店铺账号(不登录,仅保存)
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes | 登录密码 | |
| shopName | No | 店铺名称 | |
| username | Yes | 店铺账号 |
TDQS
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.
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.
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.
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.
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.
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
截取当前页面截图(需要先登录)
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | 截图保存路径(可选,默认保存到当前目录) |
TDQS
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.
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.
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.
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.
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.
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
在输入框中填写文本(需要先登录)
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | 要填写的文本 | |
| selector | Yes | CSS 选择器 |
TDQS
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.
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.
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.
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.
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.
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.
10 tool updates
v1.0.0- First observed
tmall_check_login - First observed
tmall_click - First observed
tmall_close - First observed
tmall_get_accounts - First observed
tmall_get_content - First observed
tmall_login - First observed
tmall_navigate - First observed
tmall_save_account - First observed
tmall_screenshot - First observed
tmall_type
TDQS
Scored across 10 tools
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.
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.
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.
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
Related MCP Connectors
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
Automate any website: discover, run and create browser scripts that work behind logins.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables automated login and price monitoring for OZON seller platform using QQ Mail verification codes. Supports browser automation through Playwright for managing OZON seller operations.2MIT
- AlicenseAqualityDmaintenanceEnables browser automation with anti-detection features, including navigation, interaction, form filling, and session management.2238 PyPI10MIT
- FlicenseCqualityDmaintenanceEnables browser automation, including navigation, form filling, login with CAPTCHA handling, and element manipulation, using a Chrome-based MCP server.364-
- AlicenseNot gradedqualityDmaintenanceProvides browser automation using Selenium, supporting Chrome and Firefox, with tools for navigation, element interaction, screenshots, and more.1Mulan Permissive Software , Version 2