- Reliability 9/20
- Static review sees only the README description; no verifiable source files, committed tests, or CI workflows were supplied, and nothing was executed, so the static-calibration cap of 12 applies. The two declared tools (web_search, get_content) align plausibly with the described resolver priority chain, Markdown fast paths, and browser pooling, and there are controlled-failure knobs (KINDLY_TOOL_TOTAL_TIMEOUT_SECONDS/MAX, KINDLY_WEB_SEARCH_MAX_CONCURRENCY, KINDLY_DIAGNOSTICS, pool.slot_probe/pool.slot_restart), which justifies a score near the cap. Deductions: no reproducible test or CI evidence; first uvx run needs 30-60s prebuild; browser dependency plus documented cold-start TimeoutError shows the happy path is not clearly stable; the server manifest is not cached, so the tool list is inferred from prose rather than verified.
- Security and permissions 13/20
- MIT licensed; no malware, credential theft, or covert exfiltration found, and no red line is triggered. Positive evidence: README insists on env-var secrets instead of hardcoding and uses only placeholders (PASTE_..., ${input:...}); GITHUB_TOKEN can be read-only and limited to public repos; HTTP transports default to loopback-only Host/Origin allowlists with explicit DNS-rebinding protection and repeated warnings that remote HTTP is unauthenticated and unencrypted; it also discloses that Chromium's --proxy-server cannot carry embedded credentials. Deductions: get_content fetches any supplied URL through a headless Chromium, creating an SSRF / internal-network probing surface that is only advised against in prose rather than enforced by a URL allowlist or egress policy; browser reuse (KINDLY_NODRIVER_REUSE_BROWSER) shares cookies, local storage, cache and user-agent across requests, leaving the data boundary unclear; there is no confirmation step for network fetching, which is a default side effect. Risks are disclosed but privilege scoping and data-flow boundaries are incomplete.
- Maintenance 11/20
- The repo is active and unarchived with 385 stars and 4 open issues, ships an explicit MIT license, and names an identifiable owner (Shelpuk AI Technology Consulting) with no sign of fabricated identity, so it is not a zero. Deductions: the static material contains no release tags, version numbers, CHANGELOG, commit cadence, or dependency-update record, and there is no SECURITY.md or stated security-response channel; version governance and vulnerability disclosure paths are missing. Dependencies (nodriver, httpx[socks], optional PDF/onnxruntime extras disabled on Python 3.14) carry stated compatibility uncertainty with no documented follow-up mechanism. Active but with governance and versioning gaps.
- Documentation 14/20
- Documentation is the strongest dimension here. The README layers positioning, tool signatures and return fields, a six-tier content-resolver table (with per-tier HTTP client and proxy differences), the two Markdown fast-path probes with env vars and defaults, full config snippets for eight mainstream clients (Codex, Claude Code, Gemini CLI, OpenClaw, Antigravity, Cursor, Claude Desktop, VS Code Copilot), browser path/proxy/bypass details, Docker and docker-compose deployment, and extensive troubleshooting plus timeout/concurrency tuning parameters. It also openly discloses limitations: proxies cannot embed credentials, reused browsers share state, remote HTTP is unauthenticated, first start is slow, and optional Python 3.14 extras are disabled. Deductions: the README is untrusted evidence and cannot be cross-verified against source; there is no cost/quota guidance beyond provider-priority ordering and no per-provider pricing or rate-limit detail; error strings like `_Failed to retrieve page content: TimeoutError_` are stylistically inconsistent, and no real sample responses are shown to substantiate the claimed page_content quality.
- Setup experience 12/20
- The documented install path is clear: install uvx (three-platform commands), install a Chromium-based browser, set one search-provider key, then wire the single `uvx --from git+...` command, with copy-pasteable configs for eight clients in both CLI and file variants and an explicitly safer interactive-prompt option for VS Code. Deductions: the dependency chain is heavy - a local Chromium browser, Python 3.13+, optional GITHUB_TOKEN - and installation is from a git source rather than a pinned package, first start takes 30-60s to prebuild, and per-client startup timeouts must be tuned by hand (MCP_TIMEOUT, startup_timeout_sec, timeout); there is no one-step installer or version pinning, so setup is manual and somewhat fragile. Given no CI/test evidence, the static setup cap of 15 applies, yielding a middling-to-good score.