{
  "format_version": "0.2.0",
  "report_id": "8d76f216-fbaf-491f-a716-2ddf4c1faeae",
  "generated_at": "2026-09-15T18:17:15.233Z",
  "subject": {
    "server_name": "io.github.ihor-sokoliuk/mcp-searxng",
    "artifact": {
      "ecosystem": "npm",
      "package": "mcp-searxng",
      "version": "2.3.0",
      "sha256": "fa083141c5c3abda92b61ed7a329e53c395add58c2d3f5c4977048478765d7be",
      "download_url": "https://registry.npmjs.org/mcp-searxng/-/mcp-searxng-2.3.0.tgz",
      "registry_metadata_url": "https://registry.npmjs.org/mcp-searxng/2.3.0",
      "acquired_at": "2026-09-15T18:17:15.233Z",
      "registry_metadata_sha256": "b08d30227b5de297c220b7b8bf4d17a5aebb95843ed53f417d24154b2709e821",
      "integrity_claim": "sha512-z377rCQHoW/6GRCVxUJlDojIVcrJFt/Xa+Y6CTUgB5tjoGsZLBO/LLS+POMJHM/YBIDPUCj2WzJ2oQd0CZ48kA==",
      "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": "f1301ed53f058c357eb4bfdd09fd26b4022ac0dd195048451f48b0ba5692a52a",
          "artifact_path": "package/package.json",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "name": "mcp-searxng",
        "version": "2.3.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": "fa083141c5c3abda92b61ed7a329e53c395add58c2d3f5c4977048478765d7be",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "entry_count": 61,
        "regular_file_bytes": 300247,
        "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.d.ts",
            "type": "file",
            "size": 2362,
            "sha256": "13fac9c147573f6326fffed7e913d28d98af83b45e72e7c7fce7d408ddabca0b"
          },
          {
            "path": "package/dist/browser-solver.js",
            "type": "file",
            "size": 14234,
            "sha256": "7ebaad21d856b8b8a7797ca09cac539fb3092ad3e51b4cee9faf94c2d71ed34c"
          },
          {
            "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/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": 371,
            "sha256": "8a3de593d4602afd6306fe1531d725be1319ebf9e7c0c19799b24aebdce7e9d8"
          },
          {
            "path": "package/dist/diagnostic-sanitizer.js",
            "type": "file",
            "size": 7039,
            "sha256": "d708dfa2149f9690657d313c724e4880f2d9da1d8e5d1f7b1c4b67464932a912"
          },
          {
            "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": 2048,
            "sha256": "0cb40737254a5a2ee39a5c34fb92a467c7042745dfd174bfff2f56638767d073"
          },
          {
            "path": "package/dist/error-handler.js",
            "type": "file",
            "size": 7907,
            "sha256": "b7b1e45bd9f2971197b4c26178a4670dcd2190abfac7953c564fc18cb229cd09"
          },
          {
            "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": 2021,
            "sha256": "de7fe712898b931c25474ae2c873f51c91a5e8b94b51f5cfed0fa0bc038ae8c9"
          },
          {
            "path": "package/dist/http-server.js",
            "type": "file",
            "size": 30905,
            "sha256": "4e392ba087199205a4bdf8611ea5ed586c544433dbd673e10974551fd56ddde0"
          },
          {
            "path": "package/dist/index.d.ts",
            "type": "file",
            "size": 1328,
            "sha256": "f2b48992a9035b25ab0f4fa4e7e111c61497d17c5b600283a5317bff5bd29b4d"
          },
          {
            "path": "package/dist/index.js",
            "type": "file",
            "size": 18661,
            "sha256": "41adb9441e5da7c41c92122f70a295e8b187db195fb3355325cfea84db252119"
          },
          {
            "path": "package/dist/instance-info.d.ts",
            "type": "file",
            "size": 778,
            "sha256": "7cde80290fc80982d732563e7cd16fe2f89cc4a9c658be9b4383bbee11f8de5d"
          },
          {
            "path": "package/dist/instance-info.js",
            "type": "file",
            "size": 12630,
            "sha256": "575da0e584e402150209baf208d698e231af9cec452ed592be18115dde556ee5"
          },
          {
            "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.d.ts",
            "type": "file",
            "size": 4528,
            "sha256": "3412a3abd9e6a3f3908ee7fc7acc57150b615144118610573b88ab389b2f5401"
          },
          {
            "path": "package/dist/proxy.js",
            "type": "file",
            "size": 13110,
            "sha256": "bbcfd76dc80c7fbf5561d3d503c53111c41a3e8a3e0cbaab75fd86848a907caa"
          },
          {
            "path": "package/dist/resources.d.ts",
            "type": "file",
            "size": 513,
            "sha256": "c5927b58f565b795c26eaa87871606fa1fc5c7009cb29aaab0bc042242948fbc"
          },
          {
            "path": "package/dist/resources.js",
            "type": "file",
            "size": 12164,
            "sha256": "45ad0e097ac01751ef44006996eddcde5ebcc93a8f8255afd494741d409f53c8"
          },
          {
            "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": 33930,
            "sha256": "3069dbbf3ebc74098efc24c4ba0c8a624bf272aa102dcf8d9e1f9d6294dde89c"
          },
          {
            "path": "package/dist/searxng-instances.d.ts",
            "type": "file",
            "size": 1031,
            "sha256": "a23e563c77f3955360d04d45e507047ddd7bed35906753776e0d9a10d8f3dad0"
          },
          {
            "path": "package/dist/searxng-instances.js",
            "type": "file",
            "size": 4242,
            "sha256": "6610cf1f21cbee8ce722509d7d11f3f9a6b0454cbe2dac19ba9d8957044f951f"
          },
          {
            "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": 29432,
            "sha256": "cfea10a1e21500c4afacf99053adac9a35580b3bab5fde4a679757ff48b57a2d"
          },
          {
            "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": "71ab6e95f728dba82a1b0edeb54a8d200b4ae3dc96e82b0994f5c3ee7fd520f4"
          },
          {
            "path": "package/dist/version.js",
            "type": "file",
            "size": 39,
            "sha256": "64c2cd1b9e977d8207b37bdcc29877425c9c4aed2f26c0bcba4c3cf541cae1bf"
          },
          {
            "path": "package/LICENSE",
            "type": "file",
            "size": 1059,
            "sha256": "d5d54589b2be70312c163de0716cc3da4109bf3ed05c1e4d4d5b633025312e5f"
          },
          {
            "path": "package/package.json",
            "type": "file",
            "size": 3067,
            "sha256": "f1301ed53f058c357eb4bfdd09fd26b4022ac0dd195048451f48b0ba5692a52a"
          },
          {
            "path": "package/README.md",
            "type": "file",
            "size": 13794,
            "sha256": "9f7f00335166db64406eebf4a2ff911452c1e712d4550d4feac66afff3a25964"
          }
        ]
      }
    },
    {
      "id": "observation:registry-metadata",
      "kind": "artifact_metadata",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "b08d30227b5de297c220b7b8bf4d17a5aebb95843ed53f417d24154b2709e821",
          "capture_kind": "registry_metadata"
        }
      ],
      "data": {
        "metadata_url": "https://registry.npmjs.org/mcp-searxng/2.3.0",
        "requested_package": "mcp-searxng",
        "requested_version": "2.3.0",
        "tarball_url": "https://registry.npmjs.org/mcp-searxng/-/mcp-searxng-2.3.0.tgz",
        "integrity_claim": "sha512-z377rCQHoW/6GRCVxUJlDojIVcrJFt/Xa+Y6CTUgB5tjoGsZLBO/LLS+POMJHM/YBIDPUCj2WzJ2oQd0CZ48kA==",
        "integrity_verified": true
      }
    },
    {
      "id": "observation:runtime-dependencies",
      "kind": "dependency",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "f1301ed53f058c357eb4bfdd09fd26b4022ac0dd195048451f48b0ba5692a52a",
          "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": "fa083141c5c3abda92b61ed7a329e53c395add58c2d3f5c4977048478765d7be",
          "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.js",
          "package/dist/cache.js",
          "package/dist/cli.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.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."
    }
  ]
}