{
  "checker": {
    "claims": [
      {
        "claim": "MCP search returns structured results with titles, URLs and descriptions",
        "command": "node build/index.js tools/call {\"tool\": \"search\", \"arguments\": {\"query\": \"open web search\", \"limit\": 3, \"engines\": [\"duckduckgo\"]}}",
        "evidence": "\u2026open-websearch</b> provides an MCP server, CLI, and local daemon, and can also be paired with skill-guided agent workflows for live <b>web</b> <b>search</b> and content retrieval without API keys. On first use, the skill typically follows this path: detect whether a usable <b>open-websearch</b> path already exists, guide ...\\\",\\n      \\\"source\\\": \\\"github.com\\\",\\n      \\\"engine\\\": \\\"duckduckgo\\\"\\n    },\\n    {\\n      \\\"title\\\": \\\"Google\\\",\\n      \\\"url\\\": \\\"https://www.google.com/xhtml/search\\\",\\n      \\\"description\\\": \\\"<b>Search</b> the world&#x27;s information, including webpages, images, v",
        "expected": "result text containing a result",
        "input": "{\"tool\": \"search\", \"arguments\": {\"query\": \"open web search\", \"limit\": 3, \"engines\": [\"duckduckgo\"]}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: open-websearch",
        "source": "README.md",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "No API keys required",
        "command": "node build/index.js search 'open web search' --engine duckduckgo --limit 3 --json",
        "evidence": "\u2026\"status\": \"ok\",\n  \"data\": {\n    \"query\": \"open web search\",\n    \"engines\": [\n      \"duckduckgo\"\n    ],\n    \"totalResults\": 3,\n    \"results\": [\n      {\n        \"title\": \"Open-WebSearch - GitHub\",\n        \"url\": \"https://github.com/Aas-ee/open-webSearch\",\n        \"description\": \"<b>open-websearch</b> provides an MCP server, CLI, and local daemon, and can also be paired with skill-guided agent workflows for live <b>web</b> <b>search</b> and content retrieval without API keys. On first use, the skill typically follows this path: detect whether a usable <b>open-websearch</b> path already exists, gu",
        "expected": "ok status with results",
        "input": "CLI search with duckduckgo, no key",
        "kind": "claim",
        "outcome": "Real input produced the expected result: \"status\": \"ok\"",
        "returncode": 0,
        "source": "README.md",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected README.md and src/*.ts for cron, setInterval, webhook, --once or --now scheduler triggers; none found. The only long-running entrypoint is the local daemon (open-websearch serve), which is request-driven, not a scheduled cycle.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected README.md and src/*.ts for cron, setInterval, webhook, --once or --now scheduler triggers; none found. The only long-running entrypoint is the local daemon (open-websearch serve), which is request-driven, not a scheduled cycle.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "node",
        "build/index.js"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "web-search",
        "version": "1.2.0"
      },
      "tool_result": {
        "content": [
          {
            "text": "{\n  \"query\": \"open web search\",\n  \"engines\": [\n    \"duckduckgo\"\n  ],\n  \"totalResults\": 3,\n  \"results\": [\n    {\n      \"title\": \"Open-WebSearch - GitHub\",\n      \"url\": \"https://github.com/Aas-ee/open-webSearch\",\n      \"description\": \"<b>open-websearch</b> provides an MCP server, CLI, and local daemon, and can also be paired with skill-guided agent workflows for live <b>web</b> <b>search</b> and content retrieval without API keys. On first use, the skill typically follows this path: detect whether a usable <b>open-websearch</b> path already exists, guide ...\",\n      \"source\": \"github.com\",\n      \"engine\": \"duckduckgo\"\n    },\n    {\n      \"title\": \"Open Web Search - Promoting Europe&#x27;s Independence in Web Search\",\n      \"url\": \"https://openwebsearch.eu/\",\n      \"description\": \"The <b>Open</b> <b>Web</b> Index serves as a basis for free and unbiased internet <b>search</b>, innovatives <b>search</b> engines and as a backbone for AI applications. Would you like to test the OWI? At www.openwebindex.eu you will find comprehensive information, data shards for download and statistics daily updated.\",\n      \"source\": \"openwebsearch.eu\",\n      \"engine\": \"duckduckgo\"\n    },\n    {\n      \"title\": \"Google\",\n      \"url\": \"https://www.google.com/xhtml/search\",\n      \"description\": \"<b>Search</b> the world&#x27;s information, including webpages, images, videos and more. Google has many special features to help you find exactly what you&#x27;re looking for.\",\n      \"source\": \"www.google.com\",\n      \"engine\": \"duckduckgo\"\n    }\n  ],\n  \"partialFailures\": []\n}",
            "type": "text"
          }
        ]
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 2606,
      "tools": [
        "search",
        "fetchLinuxDoArticle",
        "fetchCsdnArticle",
        "fetchGithubReadme",
        "fetchWebContent",
        "fetchJuejinArticle"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Repository offline local daemon test suite runs (documented npm test script; not product behavior proof)",
        "command": "npm run test:local-daemon",
        "deferred": false,
        "evidence": "daemon health and status routes\n\u2705 local daemon operation routes\n\u2705 CLI status json success\n\u2705 CLI status unavailable path\n\u2705 CLI status error envelope\n\u2705 CLI serve waits for signal\n\nLocal daemon tests passed.\n\ud83d\udd0d Default search engine: duckduckgo\n\ud83d\udd0d No search engine restrictions, all available engines can be used\n\ud83d\udd0d Search mode: AUTO, effective: REQUEST (currently only affects Bing)\n\ud83c\udf10 No proxy configured (set USE_PROXY=true to enable)\n\ud83d\udd10 fetchWebContent TLS verification is enabled\n\ud83e\udded Playwright client source: auto\n\ud83e\udded Playwright headless: true\n\ud83e\udded Playwright navigation timeout: 20000ms\n\ud83d\udda5\ufe0f Server mode: STDIO",
        "expected": "Local daemon tests passed.",
        "input": "npm run test:local-daemon",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "package.json scripts test:local-daemon",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "Default engine bing returned engine_error 'Bing exceeded the regional redirect limit (1)' from this network; switched to duckduckgo, which returned results",
    "brave returned HTTP 429 rate limit; not used for evidence",
    "npm install reported 14 vulnerabilities (4 moderate, 10 high); not remediated because the pinned lockfile was used as-is",
    "Workspace had no .git; initialized git metadata at the pinned commit as the task instructed",
    "Did not start Playwright or a browser; no CDP endpoint was needed for these operations"
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Run open-websearch MCP stdio server and call the search tool; one-shot CLI search; local daemon test suite",
  "operation_scope": "Node.js 22 (v22.23.4) and npm 10.9.9 on Linux; pinned commit fb11fd94df736819a0d2765bf7645224f98b2c6b; no API keys; DuckDuckGo engine used because Bing and Brave were not usable from this network",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "git init; git remote add origin https://github.com/aas-ee/open-websearch; git fetch --depth 1 origin fb11fd94df736819a0d2765bf7645224f98b2c6b; git reset --mixed FETCH_HEAD",
    "npm install",
    "npm run build",
    "npm run search:cli -- \"open web search\" --json (README CLI section)",
    "node build/index.js search \"open web search\" --engine duckduckgo --limit 3 --json",
    "MODE=stdio DEFAULT_SEARCH_ENGINE=duckduckgo node build/index.js (MCP stdio), tool search",
    "npm run test:local-daemon"
  ],
  "stuck_step": null,
  "suggested_fix": "None required for the working path. For Bing in restricted networks, configure USE_PROXY/PROXY_URL per the README runtime-proxy section."
}
