- Reliability 11/20
- Evidence shows: the README claims 69 typed tools, zero prompts, one optional Skills catalog resource, plus a doctor command, structured error.details.hints, DIALOG_PENDING/DIALOG_NOT_FOUND recovery, token/cursor/timeout/cancellation-safe network listeners, tab-owned cleanup, typed output contracts, and Pydantic validation. The repository layout (server.py, context.py, runtime.py, tools/) and CI/coverage badges indicate unit, protocol, schema-snapshot, response-contract, and browser-integration tests with a claimed 95% coverage floor. However, these are static claims, not verifiable execution evidence: nothing was run here, no CI logs or test file contents were supplied, so reliability must stay at or below the static cap of 12. Deductions: no live handshake evidence, real behavior of 69 tools cannot be cross-checked against implementations, runtime depends on local Chrome/Chromium and target sites (self-declared beta), and the v0.8.8 release date of 2026-09-08 is a future date that weakens version evidence.
- Security and permissions 12/20
- Evidence shows several positive designs: credential-bearing results are redacted by default (cookies, headers, network bodies, storage values require include_values=true), HTTP auth runs in a disposable Chromium context without returning credentials, keyboard input is not echoed, no retained action history or absolute screenshot paths in public results, an opt-in local safety policy for navigation and screenshot paths, file upload/download confined to DP_MCP_UPLOAD_ROOT / DP_MCP_DOWNLOAD_ROOT / DP_MCP_SCREENSHOT_ROOT, Chrome sandbox enabled by default (DP_NO_SANDBOX=1 reserved for restricted containers), and explicit network listener and blocked-URL controls. The README also discloses that the server runs locally, may touch authenticated sessions, cookies, downloads, and page content, and can reach any site the machine can reach, with no mandatory confirmation for dangerous operations (click, upload, download, page_evaluate). Deductions: no client-side content-trust prompting, bounded JS execution on arbitrary pages, and no explicit confirmation flow for altering network requests, user agent, or permissions; the privileged surface is broad. No malware, credential theft, covert exfiltration, or default irreversible delete/deploy was found, so the 0-4 red-line band is not triggered.
- Maintenance 12/20
- Evidence shows: a consistent 0.8.8 version across manifest, README, and badges; CHANGELOG, CONTRIBUTING.md, SECURITY.md, codecov.yml, GitHub Actions CI, PyPI distribution, official MCP Registry metadata and a tag-gated publish workflow; the repository is not archived, has only 5 open issues, complete topics/description, and a clear owner (Wukunyun). Deductions: the GitHub license field is NOASSERTION even though the README claims Apache 2.0, a governance/metadata inconsistency; no static evidence of dependency-update cadence, issue-response latency, or a security-response SLA; the stated release date (2026-09-08) is implausible and weakens release evidence. Full marks are not justified.
- Documentation 15/20
- Evidence shows layered documentation: README covers installation, per-client configuration (Codex TOML, Claude Code/Desktop, Cursor JSON), absolute-Python fallback, environment variables, a categorized 69-tool inventory with parameter guidance (e.g., page_navigate(new_tab/background/new_window/new_context), page_scroll(pixels/x/y), page_dialog_respond(action), frame_snapshot, browser_permission_set(setting)), the Skills catalog with three example Skills and their stop boundaries, test/playground commands, troubleshooting, compatibility, tool contract, changelog, and roadmap, and it discloses limitations (beta, cannot read cross-origin iframe inner DOM, narrower pointer targeting, cache clear preserving cookies/storage, local Chrome/Chromium dependency). Deductions: screenshots and example outputs are not inspectable, cost/resource usage is unquantified, some parameter semantics live in unprovided linked docs (docs/tool-contract.md), and there is no field-level API reference. Hence below full marks.
- Setup experience 14/20
- Evidence shows a fairly clear install path: pip install -U "drissionpage-mcp>=0.8.8", then drissionpage-mcp --version / doctor / doctor --launch-browser; Codex can be configured with codex mcp add; copy-paste JSON snippets are given for Claude Code, Cursor, and Claude Desktop; GUI clients get an absolute-Python command with args fallback for PATH/venv problems; requirements (Python 3.10+, Chrome/Chromium, any MCP client) and screenshot walkthroughs are included. Deductions: users must still install Chrome/Chromium and ensure client PATH correctness, making it a multi-step manual setup; there is no automated setup script or one-click IDE install; and there is no verifiable evidence of a successful live connection, so the static cap of 15 applies.