{
  "format_version": "0.2.0",
  "report_id": "15010cb6-5160-4453-9de8-d3f52e939e23",
  "generated_at": "2026-09-29T18:17:11.357Z",
  "subject": {
    "server_name": "io.github.ihor-sokoliuk/mcp-searxng",
    "artifact": {
      "ecosystem": "npm",
      "package": "mcp-searxng",
      "version": "2.5.0",
      "sha256": "b62b16d3105fd7b09b1a5438b5333a83a09a8345ba979ae19acb43c4f8b3fb21",
      "download_url": "https://registry.npmjs.org/mcp-searxng/-/mcp-searxng-2.5.0.tgz",
      "registry_metadata_url": "https://registry.npmjs.org/mcp-searxng/2.5.0",
      "acquired_at": "2026-09-29T18:17:11.357Z",
      "registry_metadata_sha256": "425b7aa24cd590193429f938b2c3df54e8ced4e5b249dc09200d23fa8bfaafd8",
      "integrity_claim": "sha512-hrUuwPG1GRGQ4d20C7/Dux5/guLiY/M0rAxcZXbX6tKb5Hss71wAEFxy6hFSIrHYD1eG38ORCVckV/2gBT9UoA==",
      "integrity_verified": true
    }
  },
  "analysis": {
    "engine": {
      "name": "sentinel",
      "version": "0.2.0",
      "build_sha256": "76ecfa3e5785d89b34d6618b32c84c01f0e40666b3541871cc874aba61200160"
    },
    "protocol_profile": {
      "id": "mcp-2026-07-28",
      "specification_revision": "2026-07-28",
      "local_retrieval_date": "2026-08-01",
      "discovery_status": "not_run"
    },
    "authorization_profiles": [
      {
        "id": "none",
        "credential_present": false,
        "description": "No credentials were supplied."
      }
    ],
    "rule_pack": {
      "version": "0.1.0",
      "sha256": "302d85219dda34199bd2402fcc94ba34233152fe996a128e0b332ac3efef24b3"
    },
    "semantic_analysis": []
  },
  "observations": [
    {
      "id": "observation:package-metadata",
      "kind": "artifact_metadata",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "fef45748bf281dd3e17ae5735e24ab37f33b018020c9f3f25b6ad3033d98293a",
          "artifact_path": "package/package.json",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "name": "mcp-searxng",
        "version": "2.5.0",
        "mcpName": "io.github.ihor-sokoliuk/mcp-searxng",
        "description": "MCP server for SearXNG integration",
        "bin": {
          "mcp-searxng": "dist/cli.js"
        },
        "scripts": {
          "build": "tsc && shx chmod +x dist/*.js",
          "watch": "tsc --watch",
          "test": "cross-env SEARXNG_URL=https://test-searx.example.com tsx __tests__/run-all.ts",
          "test:coverage": "cross-env SEARXNG_URL=https://test-searx.example.com c8 --reporter=text --include 'src/**' --check-coverage --lines 90 --branches 85 tsx __tests__/run-all.ts",
          "test:e2e": "node --env-file-if-exists=.env.e2e --import tsx __tests__/e2e/run-e2e.ts",
          "verify:packed-consumer": "node scripts/verify-packed-consumer.mjs",
          "bootstrap": "npm install && npm run build",
          "inspector": "DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector node dist/cli.js",
          "lint": "eslint src __tests__ scripts --max-warnings=0",
          "audit:deps": "npm audit --audit-level=moderate",
          "security": "npm run lint && npm run audit:deps",
          "postversion": "TAG=$(node scripts/update-version.js | tail -1) && git add src/version.ts .mcp/server.json && git commit --amend --no-edit && git tag -f $TAG"
        },
        "engines": {
          "node": ">=22"
        }
      }
    },
    {
      "id": "observation:file-inventory",
      "kind": "file",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "b62b16d3105fd7b09b1a5438b5333a83a09a8345ba979ae19acb43c4f8b3fb21",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "entry_count": 67,
        "regular_file_bytes": 334484,
        "entries": [
          {
            "path": "package/dist/browser-solver-config.d.ts",
            "type": "file",
            "size": 574,
            "sha256": "bde1b124b10304d9586f424cea949d36ba9a48fbed0b798244158031727c8a41"
          },
          {
            "path": "package/dist/browser-solver-config.js",
            "type": "file",
            "size": 2488,
            "sha256": "0a67f13e9652c1c2735ebe427536e29f06b2f22c46de4d65248216dbc9234b15"
          },
          {
            "path": "package/dist/browser-solver-content.d.ts",
            "type": "file",
            "size": 624,
            "sha256": "b6344c73c468de9501157e8827addff0d53cbb708ab7f83e882f800fed02be8e"
          },
          {
            "path": "package/dist/browser-solver-content.js",
            "type": "file",
            "size": 5667,
            "sha256": "3fc5ae016af23e3fdae0abcfa7969cbaaf0eb06ff2379d3954196ae672bec535"
          },
          {
            "path": "package/dist/browser-solver.d.ts",
            "type": "file",
            "size": 2120,
            "sha256": "455c61e539a1dd6fa22e96aa7692195017348758c2f23ea4ad1026deab7dea50"
          },
          {
            "path": "package/dist/browser-solver.js",
            "type": "file",
            "size": 15485,
            "sha256": "984e28def4016c644c4b933bc50aa5157ff2d644d0b8658a8e718e3f103fa330"
          },
          {
            "path": "package/dist/cache.d.ts",
            "type": "file",
            "size": 767,
            "sha256": "2863d9b4ec313f8086904f679319f670b3951d5f39a25879f0a3776d613893c6"
          },
          {
            "path": "package/dist/cache.js",
            "type": "file",
            "size": 3297,
            "sha256": "0f84e68572bf742f81bc1659907a7e1094a26b42c090f7430aa761d7b0e6d472"
          },
          {
            "path": "package/dist/cli.d.ts",
            "type": "file",
            "size": 31,
            "sha256": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"
          },
          {
            "path": "package/dist/cli.js",
            "type": "file",
            "size": 1047,
            "sha256": "0cbb7df77253b65537df2bccec566c6e3f4043dfb83fdc862cfc337721cdc369"
          },
          {
            "path": "package/dist/credential-output.d.ts",
            "type": "file",
            "size": 407,
            "sha256": "7bd0dce6f206b2b3bc3f26f50f680c819a8996a3c158bd2f45f0dc341865197d"
          },
          {
            "path": "package/dist/credential-output.js",
            "type": "file",
            "size": 621,
            "sha256": "779b45641109a6ba46efed670020fcab6f783a1b00c9209775adc15a3914bedc"
          },
          {
            "path": "package/dist/diagnostic-output.d.ts",
            "type": "file",
            "size": 149,
            "sha256": "9cb943e2c777c1a004cf569bb04b1045785bfa1f1699100ec4f956d87f603997"
          },
          {
            "path": "package/dist/diagnostic-output.js",
            "type": "file",
            "size": 340,
            "sha256": "895e0b9c7ddb76171d38dedba924e4338852cb1a7d9e392abf1bc2337c0e39cf"
          },
          {
            "path": "package/dist/diagnostic-sanitizer.d.ts",
            "type": "file",
            "size": 529,
            "sha256": "f4c90fa3b2e2d7b3818fc03287284ce974ca8821a15e860e3f7b63f6725dc90b"
          },
          {
            "path": "package/dist/diagnostic-sanitizer.js",
            "type": "file",
            "size": 10508,
            "sha256": "e3d935ed515b4a55a071cd97de2ec7f831fde3831799712d8095ea6b70cffbdb"
          },
          {
            "path": "package/dist/env-int.d.ts",
            "type": "file",
            "size": 726,
            "sha256": "390a29719087c568fadae3ce95cea38ab8cd79941ed662add3c703be912232ab"
          },
          {
            "path": "package/dist/env-int.js",
            "type": "file",
            "size": 1360,
            "sha256": "fc28878f3316328bfc6683e953cc2fd77b942c581f13a185263c4818d1a546e1"
          },
          {
            "path": "package/dist/error-handler.d.ts",
            "type": "file",
            "size": 2150,
            "sha256": "c074d6cea8d5d7204fcd3c0662234362283d8233559ae0574b55b7e657c4c01c"
          },
          {
            "path": "package/dist/error-handler.js",
            "type": "file",
            "size": 8060,
            "sha256": "08a2c9a08c1726eb51c8050eb35edb0871263e02b0c53d238f61d922c426d6b1"
          },
          {
            "path": "package/dist/http-security.d.ts",
            "type": "file",
            "size": 821,
            "sha256": "200691ac49a0fe727f2b9312dd9573b7b54027d32dda30157cb407b76821df35"
          },
          {
            "path": "package/dist/http-security.js",
            "type": "file",
            "size": 4073,
            "sha256": "6bd41056b8710b13af5b217bd28df577e9f3338c1acbcd2c12a6bc7453bfca15"
          },
          {
            "path": "package/dist/http-server.d.ts",
            "type": "file",
            "size": 2380,
            "sha256": "839faff245faeb49d5b3e90180a9996d2358676b9824a9d97f808a10af8fa6a0"
          },
          {
            "path": "package/dist/http-server.js",
            "type": "file",
            "size": 43966,
            "sha256": "eb967670ea9094a2388bdc14487913afa38df13e4355e8329cfc263fef17fa42"
          },
          {
            "path": "package/dist/index.d.ts",
            "type": "file",
            "size": 1328,
            "sha256": "f2b48992a9035b25ab0f4fa4e7e111c61497d17c5b600283a5317bff5bd29b4d"
          },
          {
            "path": "package/dist/index.js",
            "type": "file",
            "size": 18906,
            "sha256": "4a29d06d18bdb40feeca31b7e38406b146391832da1b28ca4988dce43b5375e8"
          },
          {
            "path": "package/dist/instance-info.d.ts",
            "type": "file",
            "size": 778,
            "sha256": "7cde80290fc80982d732563e7cd16fe2f89cc4a9c658be9b4383bbee11f8de5d"
          },
          {
            "path": "package/dist/instance-info.js",
            "type": "file",
            "size": 12607,
            "sha256": "71c7cd01cedbae6f6e108507c076e1bded1c22df6330eea0c97ce4a3517ccb89"
          },
          {
            "path": "package/dist/logging.d.ts",
            "type": "file",
            "size": 735,
            "sha256": "9d8f916be4ac3d7f2f9b146859b7160db4d933a87342da99c1ec21740e98e6c9"
          },
          {
            "path": "package/dist/logging.js",
            "type": "file",
            "size": 3132,
            "sha256": "c826ce51f95d0cb30c10dd33149a9f70ca4ffef05bede6549650e2a53fcad12d"
          },
          {
            "path": "package/dist/oauth-http.d.ts",
            "type": "file",
            "size": 805,
            "sha256": "6f1bed9b0dc72fd7c11ee46dbd2991db0bd42198b655b9f814fc1012cfcceea5"
          },
          {
            "path": "package/dist/oauth-http.js",
            "type": "file",
            "size": 4574,
            "sha256": "04d70fd1612713029562499ece9f92658122f8c7d75d2d2008d4e6acd479e444"
          },
          {
            "path": "package/dist/pdf-network-guard.d.ts",
            "type": "file",
            "size": 147,
            "sha256": "911c08cb4cacfff915fa05648aaacd8c03169391a9d5f5b1c116f6c0a0807bc5"
          },
          {
            "path": "package/dist/pdf-network-guard.js",
            "type": "file",
            "size": 1569,
            "sha256": "e900a3d31b91c9bdca0f5404b54e2cf9b5ed89f84a0ff579283be58636e69b02"
          },
          {
            "path": "package/dist/pdf-reader.d.ts",
            "type": "file",
            "size": 1254,
            "sha256": "b3462bcf99a20f0a38307bb63139d57a02d3498c64417716f01af539310bcf4d"
          },
          {
            "path": "package/dist/pdf-reader.js",
            "type": "file",
            "size": 5096,
            "sha256": "a81c8aaed8d965c70a62fcfc4879cdb2c127bdac96c92899432edb6f1935e232"
          },
          {
            "path": "package/dist/pdf-worker.d.ts",
            "type": "file",
            "size": 960,
            "sha256": "91e34e9a3e3acb30cb01277bd5312aa9034a4b7f44b553cd755cd5ba1230a36f"
          },
          {
            "path": "package/dist/pdf-worker.js",
            "type": "file",
            "size": 5126,
            "sha256": "bdb1eb8f0a3d2a75a8918c9e997e813ad0eb1f1f0a862f2679c47759febf7a69"
          },
          {
            "path": "package/dist/proxy-environment.d.ts",
            "type": "file",
            "size": 302,
            "sha256": "2692aca7c6dd43007f7208a89accf329be0b0f38c4c497cc85ad94c9e184681a"
          },
          {
            "path": "package/dist/proxy-environment.js",
            "type": "file",
            "size": 460,
            "sha256": "a39a952f1a650401e52f4ad1b44a13dc91de940acd70a71510b62a0c209cf253"
          },
          {
            "path": "package/dist/proxy.d.ts",
            "type": "file",
            "size": 4528,
            "sha256": "3412a3abd9e6a3f3908ee7fc7acc57150b615144118610573b88ab389b2f5401"
          },
          {
            "path": "package/dist/proxy.js",
            "type": "file",
            "size": 13069,
            "sha256": "57f8626b8a66b6aa31d50c53e6cd8fd31ccdd080a1c4768588bbb782a1f1d87a"
          },
          {
            "path": "package/dist/resources.d.ts",
            "type": "file",
            "size": 513,
            "sha256": "c5927b58f565b795c26eaa87871606fa1fc5c7009cb29aaab0bc042242948fbc"
          },
          {
            "path": "package/dist/resources.js",
            "type": "file",
            "size": 12044,
            "sha256": "fc9ca1704293fb9e42f8c63e2a2594cf5fa41501411554db04a5f2571b710a97"
          },
          {
            "path": "package/dist/search-cache.d.ts",
            "type": "file",
            "size": 626,
            "sha256": "c81a5867324d24d7af6fe78362e0e9f56530547111ffd57cefea4ab3888d59a1"
          },
          {
            "path": "package/dist/search-cache.js",
            "type": "file",
            "size": 3206,
            "sha256": "147f1c7625fd3341f63ace7bb132f6cc91ea0e7dd6fe61bd8632023eb3708843"
          },
          {
            "path": "package/dist/search.d.ts",
            "type": "file",
            "size": 685,
            "sha256": "ca668cc5c58b70bf78acbce07f469f21fde347a9b4e5c8e6d1c7695c56dd55f1"
          },
          {
            "path": "package/dist/search.js",
            "type": "file",
            "size": 37424,
            "sha256": "63906d987ae6fa9747adbaeaf391b56a809ff1bef37062ecf15df57f7b0e947b"
          },
          {
            "path": "package/dist/searxng-instances.d.ts",
            "type": "file",
            "size": 1031,
            "sha256": "a23e563c77f3955360d04d45e507047ddd7bed35906753776e0d9a10d8f3dad0"
          },
          {
            "path": "package/dist/searxng-instances.js",
            "type": "file",
            "size": 4575,
            "sha256": "2130cece11a6925255aef2f4528cecb29a4b05c06e1691f559ed8c74c303ebd5"
          },
          {
            "path": "package/dist/searxng-response.d.ts",
            "type": "file",
            "size": 902,
            "sha256": "f0f9b4e0dcf60aff32dd9bda5252454d2b0f90e7b84dddba059ea827c1f1a097"
          },
          {
            "path": "package/dist/searxng-response.js",
            "type": "file",
            "size": 6371,
            "sha256": "09aece956826110956442477df4153d106511e6f03160c2969a67562a713b646"
          },
          {
            "path": "package/dist/suggestions.d.ts",
            "type": "file",
            "size": 183,
            "sha256": "1cd3994d9415c86de61882e0eaf6f0268f83d7e1cdddcb87c6944a0e4491985a"
          },
          {
            "path": "package/dist/suggestions.js",
            "type": "file",
            "size": 1620,
            "sha256": "2c835e3997105fd1213b1f16816b7c992e677cb628846e8da31d622bdfa0f39b"
          },
          {
            "path": "package/dist/tls-config.d.ts",
            "type": "file",
            "size": 2058,
            "sha256": "355e80c0b19de7941008a71eef98c669c724601837606324dddc4656ce79fd43"
          },
          {
            "path": "package/dist/tls-config.js",
            "type": "file",
            "size": 3360,
            "sha256": "dcfe1eb5225e7ec23b1f4298371f89449c93fdee8c37faa1f915fc24c7e82a82"
          },
          {
            "path": "package/dist/types.d.ts",
            "type": "file",
            "size": 1891,
            "sha256": "e41d963e0956a6f36f294dfade948f33c2c55320688bf01ffd45163171e837e4"
          },
          {
            "path": "package/dist/types.js",
            "type": "file",
            "size": 14227,
            "sha256": "ea4af1b02747900fb5ecefdc1e26f85754d60050b8118190a78d773e8ef1de23"
          },
          {
            "path": "package/dist/url-reader.d.ts",
            "type": "file",
            "size": 698,
            "sha256": "53285939afc749bef87881bf5505fd2baa1b3c55ae70a0cb15007a198f767f71"
          },
          {
            "path": "package/dist/url-reader.js",
            "type": "file",
            "size": 33232,
            "sha256": "de0ce58c2358b74f2192a1588fc4671b8281865684bc03b88988b95dc2872b10"
          },
          {
            "path": "package/dist/url-security.d.ts",
            "type": "file",
            "size": 586,
            "sha256": "c9d00aeb62d889aa382a12879dacb8e2d2c9286773485a288d83e9fdd64097a0"
          },
          {
            "path": "package/dist/url-security.js",
            "type": "file",
            "size": 7523,
            "sha256": "ebbecd8edf317b1f0c0a59857db816004e030a1d756954f41515fa1ea5a15024"
          },
          {
            "path": "package/dist/version.d.ts",
            "type": "file",
            "size": 47,
            "sha256": "3884956990a12e2d25d9a860f8109fd2bdaee8dac3c9df7f5363866e948e8f6a"
          },
          {
            "path": "package/dist/version.js",
            "type": "file",
            "size": 39,
            "sha256": "c27ecef6e2d36224fde3e1486bfbcd7f21a4885557c6348eae55186e5dcc7869"
          },
          {
            "path": "package/LICENSE",
            "type": "file",
            "size": 1059,
            "sha256": "d5d54589b2be70312c163de0716cc3da4109bf3ed05c1e4d4d5b633025312e5f"
          },
          {
            "path": "package/package.json",
            "type": "file",
            "size": 3065,
            "sha256": "fef45748bf281dd3e17ae5735e24ab37f33b018020c9f3f25b6ad3033d98293a"
          },
          {
            "path": "package/README.md",
            "type": "file",
            "size": 13953,
            "sha256": "cd89f142c47a7c9dc0c75f20e470b4440310b7d5a7fe3536d45906b531131d75"
          }
        ]
      }
    },
    {
      "id": "observation:registry-metadata",
      "kind": "artifact_metadata",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "425b7aa24cd590193429f938b2c3df54e8ced4e5b249dc09200d23fa8bfaafd8",
          "capture_kind": "registry_metadata"
        }
      ],
      "data": {
        "metadata_url": "https://registry.npmjs.org/mcp-searxng/2.5.0",
        "requested_package": "mcp-searxng",
        "requested_version": "2.5.0",
        "tarball_url": "https://registry.npmjs.org/mcp-searxng/-/mcp-searxng-2.5.0.tgz",
        "integrity_claim": "sha512-hrUuwPG1GRGQ4d20C7/Dux5/guLiY/M0rAxcZXbX6tKb5Hss71wAEFxy6hFSIrHYD1eG38ORCVckV/2gBT9UoA==",
        "integrity_verified": true
      }
    },
    {
      "id": "observation:runtime-dependencies",
      "kind": "dependency",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "fef45748bf281dd3e17ae5735e24ab37f33b018020c9f3f25b6ad3033d98293a",
          "artifact_path": "package/package.json",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "dependencies": {
          "@modelcontextprotocol/core": "2.0.0",
          "@modelcontextprotocol/node": "2.0.0",
          "@modelcontextprotocol/server": "2.0.0",
          "@types/cors": "^2.8.19",
          "@types/express": "^5.0.6",
          "cors": "^2.8.6",
          "express": "^5.2.1",
          "express-rate-limit": "8.7.0",
          "jose": "6.2.12",
          "node-html-markdown": "^2.0.0",
          "node-html-parser": "9.0.4",
          "undici": "7.29.1",
          "unpdf": "1.8.1",
          "zod": "4.6.5"
        }
      }
    },
    {
      "id": "observation:filesystem-api-8f1f2f6844d9ec3c",
      "kind": "code_indicator",
      "coverage": "inferred",
      "evidence": [
        {
          "sha256": "dcfe1eb5225e7ec23b1f4298371f89449c93fdee8c37faa1f915fc24c7e82a82",
          "artifact_path": "package/dist/tls-config.js",
          "capture_kind": "artifact_file",
          "byte_range": [
            1998,
            2007
          ]
        }
      ],
      "data": {
        "indicator": "filesystem-api",
        "description": "Source references a filesystem API."
      }
    },
    {
      "id": "observation:static-tool-inventory",
      "kind": "protocol_inventory",
      "coverage": "inferred",
      "evidence": [
        {
          "sha256": "b62b16d3105fd7b09b1a5438b5333a83a09a8345ba979ae19acb43c4f8b3fb21",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "extraction": "static_source_analysis",
        "complete": false,
        "incompleteness": [
          "registration_name_not_static",
          "tools_inferred_from_definitions_only"
        ],
        "scanned_files": [
          "package/dist/browser-solver-config.js",
          "package/dist/browser-solver-content.js",
          "package/dist/browser-solver.js",
          "package/dist/cache.js",
          "package/dist/cli.js",
          "package/dist/credential-output.js",
          "package/dist/diagnostic-output.js",
          "package/dist/diagnostic-sanitizer.js",
          "package/dist/env-int.js",
          "package/dist/error-handler.js",
          "package/dist/http-security.js",
          "package/dist/http-server.js",
          "package/dist/index.js",
          "package/dist/instance-info.js",
          "package/dist/logging.js",
          "package/dist/oauth-http.js",
          "package/dist/pdf-network-guard.js",
          "package/dist/pdf-reader.js",
          "package/dist/pdf-worker.js",
          "package/dist/proxy-environment.js",
          "package/dist/proxy.js",
          "package/dist/resources.js",
          "package/dist/search-cache.js",
          "package/dist/search.js",
          "package/dist/searxng-instances.js",
          "package/dist/searxng-response.js",
          "package/dist/suggestions.js",
          "package/dist/tls-config.js",
          "package/dist/types.js",
          "package/dist/url-reader.js",
          "package/dist/url-security.js",
          "package/dist/version.js"
        ],
        "tools": [
          {
            "name": "searxng_instance_info",
            "discovery": "definition",
            "artifact_path": "package/dist/types.js",
            "byte_range": [
              8971,
              10138
            ],
            "description_sha256": "64116507a8e3bb9d26232f6bb9e0418776907ee06549c43031380450aef85823",
            "description_repr": "string_literal",
            "input_schema_sha256": "91ab10442738130c4924f565f62ac00fd86a743ff6e85e3fb8109f5644c4c1c1",
            "input_schema_repr": "json_literal",
            "input_schema_properties": [
              "category",
              "includeDisabled",
              "includeEngines",
              "refresh"
            ]
          },
          {
            "name": "searxng_search_suggestions",
            "discovery": "definition",
            "artifact_path": "package/dist/types.js",
            "byte_range": [
              8174,
              8935
            ],
            "description_sha256": "593f078835179ee8861f1f44c80248ac10ab213ac101c5ca774db07ba5df3e5c",
            "description_repr": "source_text",
            "input_schema_sha256": "c0fdb85a216c247caf4103fbed0601c55d01e80a9ce064efb0c568044056276e",
            "input_schema_repr": "json_literal",
            "input_schema_properties": [
              "language",
              "query"
            ]
          },
          {
            "name": "searxng_web_search",
            "discovery": "definition",
            "artifact_path": "package/dist/types.js",
            "byte_range": [
              3502,
              8140
            ],
            "description_sha256": "e14df3a3715cbb0df559e9b17eb98dbc99f9938254a90217e8418414c32c6140",
            "description_repr": "source_text",
            "input_schema_sha256": "68372f674435dee48333444866df6bb32fc9345a953a2e2c80be08720a58d30c",
            "input_schema_repr": "json_literal",
            "input_schema_properties": [
              "categories",
              "engines",
              "language",
              "min_score",
              "num_results",
              "pageno",
              "query",
              "response_format",
              "result_detail",
              "safesearch",
              "time_range"
            ]
          },
          {
            "name": "web_url_read",
            "discovery": "definition",
            "artifact_path": "package/dist/types.js",
            "byte_range": [
              11007,
              11642
            ],
            "description_sha256": "dbe1dc930078a53a0d38af8b754b392e77332cb1f67d27a9648ad2f83fd59a40",
            "description_repr": "string_literal",
            "input_schema_sha256": "51f6737e92275a887a03b92c0fead66420eb77162fd23b58bdd670e0e0aa8216",
            "input_schema_repr": "json_literal",
            "input_schema_properties": [
              "url"
            ]
          }
        ]
      }
    }
  ],
  "findings": [],
  "limitations": [
    {
      "code": "protocol_discovery_not_run",
      "summary": "M1 performs static artifact inspection only; no MCP protocol session was opened."
    },
    {
      "code": "tool_calls_not_performed",
      "summary": "No tools were invoked."
    },
    {
      "code": "semantic_analysis_not_run",
      "summary": "No semantic model analysis was run."
    },
    {
      "code": "static_tool_extraction_incomplete",
      "summary": "The declared tool surface could not be fully resolved from source (registration_name_not_static, tools_inferred_from_definitions_only). Treat the inventory as a lower bound, not a complete list."
    }
  ]
}