A Model Context Protocol (MCP) server for automating Playwright tests
Server has 7 tools with schemas defined via Zod, but quality is significantly below production baseline. Tool names lack clear action verbs (e.g., 'clone-repository' is acceptable, but 'use-local-project', 'launch-browser', 'generate-test-cases' are vague). Descriptions are minimal (10-30 chars) and in Chinese, providing almost no context for LLM selection. Parameters have type definitions but lack actionable descriptions explaining constraints, formats, or dependencies. No output schemas documented. Error handling returns JSON but provides no recovery guidance. Security concerns: credentials (username, password) exposed as parameters. No tool annotations (readOnlyHint, destructiveHint). Composition issues: tools like 'generate-test-cases' and 'execute-ui-tests' lack clear chaining semantics.
Git仓库URL
API测试套件ID
测试套件ID
测试需求描述
API规范文档路径
浏览器类型
本地项目路径
Credentials exposed as tool parameters: 'username' and 'password' in clone-repository violate secret-injection pattern. Credentials must never appear in parameters, use server-side secret injection via environment variables or vault.
Tool descriptions are minimal (10-30 chars) and in Chinese, providing no context for LLM selection. Baseline for A+ tools is 50-200 chars in English. Descriptions must explain WHAT the tool does, WHEN to use it, and any prerequisites.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required data without knowing what fields to expect. All tools return generic JSON without field documentation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Error handling returns JSON with 'success' and 'error' fields but provides no recovery guidance. Errors must tell the LLM what to do next (e.g., 'Try search_users() with a partial name'). Current errors are non-actionable.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools like 'clone-repository', 'launch-browser', 'execute-ui-tests' are destructive/stateful but lack annotations to guide agent behavior and retry logic.