{"id":295574,"recorded_at":"2026-10-26T21:43:49.169244Z","observed_at":"2026-10-26T21:43:49.169188Z","subject_kind":"endpoint","subject":"21455521-f827-424a-bd2c-251bfa19db19","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":23,"tools":[{"description":"Evaluate whether a Linux distribution release is active, nearing EOL or unsupported under a CI policy.","inputSchema":{"additionalProperties":false,"properties":{"allow_security_support":{"default":false,"type":"boolean"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"fail_within_days":{"default":90,"maximum":3650,"minimum":0,"type":"integer"},"release":{"maxLength":256,"minLength":1,"type":"string"}},"required":["distro","release"],"type":"object"},"name":"check_release_lifecycle"},{"description":"Compare package additions, removals and version changes between two releases.","inputSchema":{"additionalProperties":false,"properties":{"change":{"enum":["all","changed","added","removed","version_changed","unchanged"],"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"from":{"maxLength":256,"minLength":1,"type":"string"},"limit":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"query":{"maxLength":256,"minLength":1,"type":"string"},"to":{"maxLength":256,"minLength":1,"type":"string"}},"required":["distro","from","to"],"type":"object"},"name":"compare_distro_releases"},{"description":"Compare installation names and commands for a tool across Linux distributions.","inputSchema":{"additionalProperties":false,"properties":{"tool":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"}},"required":["tool"],"type":"object"},"name":"compare_distros"},{"description":"Compare up to 50 inventory items across 5 explicit native repository targets. Read-only; indexed-build CVEs only, no cross-distro ranking. Alternatives require source evidence and user confirmation before installation. Disabled servers reject the call.","inputSchema":{"additionalProperties":false,"definitions":{"item":{"additionalProperties":false,"allOf":[{"if":{"properties":{"intent":{"const":"desired"}},"required":["intent"]},"then":{"not":{"required":["installed_version"]}}}],"properties":{"arch":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"installed_version":{"maxLength":512,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":512},"intent":{"enum":["observed","desired"]},"item_id":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"name":{"maxLength":128,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":128},"purl":{"maxLength":2048,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":2048},"repo":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"source":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"source_name":{"maxLength":128,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":128},"source_version":{"maxLength":512,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":512}},"required":["item_id","intent","name"],"type":"object"},"repositoryScope":{"additionalProperties":false,"properties":{"arch":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"distro":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"kind":{"const":"repository"},"release":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"repo":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64},"source":{"maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]+$","type":"string","x-maxUtf8Bytes":64}},"required":["kind","distro","release","source"],"type":"object"}},"properties":{"items":{"items":{"$ref":"#/definitions/item"},"maxItems":50,"minItems":1,"type":"array"},"schema_version":{"const":1},"source_scope":{"$ref":"#/definitions/repositoryScope"},"targets":{"items":{"$ref":"#/definitions/repositoryScope"},"maxItems":5,"minItems":1,"type":"array","uniqueItems":true}},"required":["schema_version","items","targets"],"type":"object"},"name":"compare_package_matrix"},{"description":"Compare a package's versions and repositories across distributions.","inputSchema":{"additionalProperties":false,"properties":{"arch":{"maxLength":256,"minLength":1,"type":"string"},"catalog_revision":{"maxLength":256,"minLength":1,"type":"string"},"distro":{"maxLength":256,"minLength":1,"type":"string"},"name":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"release":{"maxLength":256,"minLength":1,"type":"string"},"repo":{"maxLength":256,"minLength":1,"type":"string"},"source":{"maxLength":256,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"name":"compare_package_versions"},{"description":"Turn a package-not-found or command-not-found error into matching packages and install guidance.","inputSchema":{"additionalProperties":false,"properties":{"arch":{"maxLength":256,"minLength":1,"type":"string"},"catalog_revision":{"maxLength":256,"minLength":1,"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"error":{"maxLength":4096,"minLength":1,"type":"string"},"release":{"maxLength":256,"minLength":1,"type":"string"},"repo":{"maxLength":256,"minLength":1,"type":"string"},"source":{"maxLength":256,"minLength":1,"type":"string"}},"required":["error"],"type":"object"},"name":"diagnose_linux_error"},{"description":"Explain and statically inspect a command using the Command Doctor knowledge base. The command is never executed.","inputSchema":{"additionalProperties":false,"properties":{"command":{"maxLength":4096,"minLength":1,"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"}},"required":["command"],"type":"object"},"name":"explain_command"},{"description":"Get a token-efficient context pack with trust and execution guardrails for an agent.","inputSchema":{"additionalProperties":false,"properties":{"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"locale":{"enum":["en","zh-CN"],"type":"string"},"tool":{"maxLength":256,"minLength":1,"type":"string"}},"required":["tool"],"type":"object"},"name":"get_context"},{"description":"List cached lifecycle facts for a Linux distribution.","inputSchema":{"additionalProperties":false,"properties":{"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"}},"required":["distro"],"type":"object"},"name":"get_distro_lifecycle"},{"description":"Get package metadata and evidence. arch requires distro and release. Use view=availability to list indexed builds (requires release); absence is not vendor non-support.","inputSchema":{"additionalProperties":false,"properties":{"arch":{"maxLength":256,"minLength":1,"type":"string"},"catalog_revision":{"maxLength":256,"minLength":1,"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"name":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"offset":{"maximum":5000,"minimum":0,"type":"integer"},"release":{"maxLength":256,"minLength":1,"type":"string"},"repo":{"maxLength":256,"minLength":1,"type":"string"},"source":{"maxLength":256,"minLength":1,"type":"string"},"view":{"default":"detail","enum":["detail","availability"],"type":"string"}},"required":["name","distro"],"type":"object"},"name":"get_package"},{"description":"Trace indexed package version history for regression investigation.","inputSchema":{"additionalProperties":false,"properties":{"arch":{"maxLength":256,"minLength":1,"type":"string"},"catalog_revision":{"maxLength":256,"minLength":1,"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"name":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"release":{"maxLength":256,"minLength":1,"type":"string"},"repo":{"maxLength":256,"minLength":1,"type":"string"},"source":{"maxLength":256,"minLength":1,"type":"string"}},"required":["name","distro"],"type":"object"},"name":"get_package_history"},{"description":"Read repository freshness and counts. Use view=coordinates for the paginated release/native-architecture catalog and coverage.","inputSchema":{"additionalProperties":false,"properties":{"catalog_revision":{"maxLength":256,"minLength":1,"type":"string"},"distro":{"maxLength":256,"minLength":1,"type":"string"},"freshness_hours":{"default":48,"maximum":720,"minimum":1,"type":"integer"},"offset":{"maximum":5000,"minimum":0,"type":"integer"},"release":{"maxLength":256,"minLength":1,"type":"string"},"source":{"maxLength":256,"minLength":1,"type":"string"},"view":{"default":"health","enum":["health","coordinates"],"type":"string"}},"required":[],"type":"object"},"name":"get_repository_health"},{"description":"Get a sourced tool record, commands, flags and distribution mappings.","inputSchema":{"additionalProperties":false,"properties":{"tool":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"}},"required":["tool"],"type":"object"},"name":"get_tool"},{"description":"Get a cached CVE or CNNVD record and distribution-aware affected-package evidence.","inputSchema":{"additionalProperties":false,"properties":{"database":{"default":"cve","enum":["cve","cnnvd"],"type":"string"},"id":{"pattern":"^(CVE|CNNVD)-[A-Za-z0-9-]+$","type":"string"}},"required":["id"],"type":"object"},"name":"get_vulnerability"},{"description":"Reverse an executable name to curated tools and packages.","inputSchema":{"additionalProperties":false,"properties":{"binary":{"maxLength":256,"minLength":1,"type":"string"}},"required":["binary"],"type":"object"},"name":"identify_binary"},{"description":"Statically inspect a shell command for unsupported flags and portability issues. The command is never executed.","inputSchema":{"additionalProperties":false,"properties":{"command":{"maxLength":4096,"minLength":1,"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"}},"required":["command"],"type":"object"},"name":"lint_command"},{"description":"Map packages from one distribution release to another and report missing or ambiguous replacements.","inputSchema":{"additionalProperties":false,"properties":{"packages":{"items":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"maxItems":200,"minItems":1,"type":"array","uniqueItems":true},"source_distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"source_release":{"maxLength":256,"minLength":1,"type":"string"},"target_distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"target_release":{"maxLength":256,"minLength":1,"type":"string"}},"required":["packages","source_distro","source_release","target_distro","target_release"],"type":"object"},"name":"plan_distro_migration"},{"description":"Find packages that contain a command or filesystem path.","inputSchema":{"additionalProperties":false,"properties":{"arch":{"maxLength":256,"minLength":1,"type":"string"},"catalog_revision":{"maxLength":256,"minLength":1,"type":"string"},"distro":{"maxLength":256,"minLength":1,"type":"string"},"path":{"maxLength":256,"minLength":1,"type":"string"},"release":{"maxLength":256,"minLength":1,"type":"string"},"repo":{"maxLength":256,"minLength":1,"type":"string"},"source":{"maxLength":256,"minLength":1,"type":"string"}},"required":["path"],"type":"object"},"name":"query_file_provides"},{"description":"Resolve a tool and distribution to its package, real binary and install command.","inputSchema":{"additionalProperties":false,"properties":{"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"tool":{"maxLength":256,"minLength":1,"type":"string"}},"required":["tool","distro"],"type":"object"},"name":"resolve_install"},{"description":"Search package names across repositories and distributions.","inputSchema":{"additionalProperties":false,"properties":{"arch":{"maxLength":256,"minLength":1,"type":"string"},"catalog_revision":{"maxLength":256,"minLength":1,"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"limit":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"query":{"maxLength":256,"minLength":1,"type":"string"},"release":{"maxLength":256,"minLength":1,"type":"string"},"repo":{"maxLength":256,"minLength":1,"type":"string"},"source":{"maxLength":256,"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"name":"search_packages"},{"description":"Search curated Linux command-line tools.","inputSchema":{"additionalProperties":false,"properties":{"query":{"maxLength":256,"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"name":"search_tools"},{"description":"Search cached CVE or CNNVD records, with optional distribution and severity filters.","inputSchema":{"additionalProperties":false,"properties":{"database":{"default":"cve","enum":["cve","cnnvd"],"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"},"limit":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"query":{"maxLength":256,"minLength":1,"type":"string"},"severity":{"enum":["critical","high","medium","low","unknown"],"type":"string"}},"required":["query"],"type":"object"},"name":"search_vulnerabilities"},{"description":"Return conservative, sourced guidance for command syntax or portability problems. The command is never executed.","inputSchema":{"additionalProperties":false,"properties":{"command":{"maxLength":4096,"minLength":1,"type":"string"},"distro":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._+-]*$","type":"string"}},"required":["command"],"type":"object"},"name":"suggest_fix"}]},"body_sha256":"fb484f89d4d45a61622b46bbdaa5544549c96d5d16e00c1c02987af67e11e81d","prev_id":null,"leaf":"0x86a7e384251665fdac44cd49851a4d43d44f7ecdf5b0cdc72196980230d8d5fd","leaf_text":"{\"body\":\"fb484f89d4d45a61622b46bbdaa5544549c96d5d16e00c1c02987af67e11e81d\",\"id\":295574,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793051029169188,\"prev\":null,\"subject\":\"21455521-f827-424a-bd2c-251bfa19db19\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x86a7a62f9baead28fa83ef21a839e31f2297e341399135188046a7c058e43b23","0xb6fa5225429f4d9f4b77ef000aa955c1b9d0ac1980c56f878ef95ff5e00b8b64","0x632c17aa66a590f07b1a93dfa2d38bc56c04cc98f675bd10174b438b67779c76","0xe7b8a2c9a76f866ba1f95b76fe45bbcbba381c81ef1aa6cf83b58c7ea0b3400e","0xa8fa47c6cbdaa72948dc3a0dedcf62095aec2a4531a72a071ed6d34d6c0ba9a1","0x5e4a162adba3d461f93339095c98d18b3f6242f23063ca40e4e0c3d7555e9dec","0x70d9805aa8500d14855c798141a2ee376f575260fc2fe64f656891f467d90579","0x949db1a8b9964d408c68cb69e85855521998624444fc22abd193443d9f004ade","0x4e48ce09ef3ec881658cd0b04646f20f7dbd2b88a35dc47c25308a93ce0d117d","0x464a6f6a01f016e42ea9df2dc09f4dea1acac51b03a73fd4d04a0d7b85f9f0e7","0xaa315896c61e14116f01ecf0dd5aec1ebbd01bc8562fed10b0a3e3dd6bce0924","0x099dd43573993f2a1bea674129b7ed050429a0ac76c3bfda8aaf82a3af126469","0x49d11be052a4c069b10250aaba214f566b3f2e5aaa7a98e82ccc6a71c0e801a0","0x78ac2b34737774659a6a411f4d10b8ba570d40699d9f277321c3a32ff03d1dc9","0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2","0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76","0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9","0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}