- Reliability 9/20
- The README lists the MCP tool surface (search, quick_research, detailed_research, generate_report, analyze_documents, list_search_engines, list_strategies, get_configuration) with plausible duration/cost annotations, which is a reasonably specific behavioral claim. However, no server manifest was available for this review ('not cached'), so the declared tool schemas/parameters could not be cross-checked against actual server behavior. The repo carries many CI badges (CodeQL, Semgrep, pre-commit, security-tests, etc.), but these target the main web app and container security rather than the MCP STDIO handshake, tool-call path, or error handling specifically — no committed tests demonstrably cover MCP-specific key paths. Per the static calibration rule, reliability is capped at 12 absent manifest and MCP-path test evidence; the missing manifest and thin MCP-specific test evidence bring the score to 9.
- Security and permissions 14/20
- The MCP server is explicitly scoped to local STDIO use (Claude Desktop/Claude Code) and the README candidly warns it has 'no built-in authentication or rate limiting' and should not be exposed to a network without added controls — this disclosure is a positive signal and is a reasonable design for a local single-user tool, not a red-line issue. The broader application shows strong security posture: SQLCipher AES-256 per-user encrypted databases, passwords never stored, Cosign-signed and digest-pinned Docker images with SLSA provenance and SBOMs, cap_drop ALL / non-root runtime, and a detailed SECURITY.md with documented scanner-suppression rationale. Deductions: the MCP client config examples pass LLM API keys as plaintext environment variables in local config files (standard MCP practice but still a local credential-exposure surface), and the README's own 'in-memory credentials' section acknowledges runtime secret exposure as an inherent risk (with stated mitigations). No irreversible destructive/auto-pay/auto-deploy defaults were found, so this does not qualify as a red line. Overall: 14.
- Maintenance 18/20
- The project shows 8,849 stars, active commit-activity and last-commit badges, and an extensive CI/CD security pipeline (CodeQL, Semgrep, DevSkim, Bearer, OSV-Scanner, npm-audit, Retire.js, Dockle, Hadolint, Checkov, Zizmor, OWASP ZAP, etc.), plus a documented security review process, SECURITY.md, CONTRIBUTING.md, a release guide, and CI/CD infrastructure docs — indicating clear ownership and governance. Open issue count (312) is on the higher side but plausible for a project of this scale and activity level, and there are active community channels (Discord, Reddit). License is clearly MIT. This reflects sustained, well-governed maintenance, warranting 18.
- Documentation 17/20
- Documentation is layered and broad: installation guide, FAQ, API quickstart, configuration guide plus an auto-generated full configuration reference, features guide, search-engines guide, analytics dashboard docs, benchmarking guide, LangChain integration guide, and a dedicated MCP Server guide (docs/mcp-server.md, linked but not supplied in full for this review). The MCP tools table gives name, description, duration range, and LLM cost — practically useful for decision-making — alongside concrete Claude Desktop/Claude Code JSON config examples. The upgrade notes (e.g., 1.6.3 default-model removal, auto/parallel engine removal, llamacpp's move to HTTP mode) show honest disclosure of breaking changes. Deduction: the MCP-specific guide content itself was not available for direct verification, and detailed parameter limits/troubleshooting evidence for MCP tools is incomplete, so this stops short of full marks at 17.
- Setup experience 12/20
- Clear step-by-step instructions are given: pip install "local-deep-research[mcp]", followed by concrete JSON configuration examples for both Claude Desktop and Claude Code, including environment-variable-based LLM provider configuration. However, per the static calibration rule, setup is capped at 15 absent verifiable execution evidence (real CI workflows plus committed tests covering the server's key paths). Additionally, real usability requires further configuring an LLM backend (Ollama/OpenAI-compatible endpoint, etc.) and a search engine (e.g., SearXNG), adding multi-step complexity and external dependencies; the README itself flags a known Docker Desktop '--network host' pitfall requiring a FAQ lookup. Combined, this yields 12.