{
  "automatic_evidence_credit": false,
  "captures": [],
  "change_log": [
    {
      "after_hash": "75af1f3507d84ac0c8dd483e55e5b335499678e80c97d1463ab60c6b68ad1c58",
      "before_hash": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_affect]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_ai-adoption-components]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_art5-safeguard]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_care]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_claim-maintenance]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_company-practice]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_conformance]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_continuity]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_cross-reality]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_custody-disclosure]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_detector-interop]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_distribution-integrity]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_effect-binding]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_governance]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_harness-fidelity]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_humanoid-deployment]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_humanoid-labour-index]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_interop-conformance]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_interpretability-reproducibility]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_jail]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_lab-practice]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_labour-components]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_machinery-conformity]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_measurer-integrity]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[axis_openness]",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 0,
          "NON_BREAKING": 33
        },
        "taxonomy_version": "1.0.0",
        "total": 33,
        "truncated": true
      },
      "entry_sha256": "6ba6c388e1435a1288c559c6b15c237c01198efb5c1e100cdf1a935a9d926bd5",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-26T15:58:21Z",
      "previous_entry_sha256": "97635dc344a802471be29271ac017186c5b3cdf294ccbb40cba567a1f44e8f6c",
      "receipt_id": "78e14c71-24b6-58ce-8022-fe26e2890f7f",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/78e14c71-24b6-58ce-8022-fe26e2890f7f",
      "sequence": 48490,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "before_hash": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[evidence_bundle].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[receipts_batch].description",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 2,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 2,
        "truncated": false
      },
      "entry_sha256": "c9fb4d7efec1aaef7f5635c94bba3784d031b54115fff82646386794d26124c6",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-15T21:06:55Z",
      "previous_entry_sha256": "6950ccee512df9747ccd94f1e62ee5f3b065f928d2fcc2e1968c3c8390d835b3",
      "receipt_id": "3a4f8289-583e-5ed2-bb77-fc75917c465b",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/3a4f8289-583e-5ed2-bb77-fc75917c465b",
      "sequence": 31709,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "before_hash": "c901acf89141a92c9237962f1a89fb851d447b6f9040343f6926730ff1ce4100",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[art50_marking_evidence].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[route].description",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 2,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 2,
        "truncated": false
      },
      "entry_sha256": "f10f3b4461d58fa2f7c567a53ce326760fa02c8e208dd6307299c9de9a1dc327",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-08T07:46:44Z",
      "previous_entry_sha256": "7c3ddc246585f012c59fc72036202160cea629c92fadb8feef4ca24ec95de9f6",
      "receipt_id": "0f0b748a-a4b3-5f65-ae7d-ea31a6ced92d",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/0f0b748a-a4b3-5f65-ae7d-ea31a6ced92d",
      "sequence": 19991,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "c901acf89141a92c9237962f1a89fb851d447b6f9040343f6926730ff1ce4100",
      "before_hash": "b7e7b582d66bf83668226611c3f72f4019b3bef92c96a844dda22a7e17795ee8",
      "diff": {
        "changes": [
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[art50_marking_evidence].inputSchema.properties[url].maxLength",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[art50_marking_evidence].inputSchema.properties[url].pattern",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[server_evidence].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[server_evidence].inputSchema.properties[endpoint_url].maxLength",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[server_evidence].inputSchema.properties[endpoint_url].pattern",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 4,
          "INFO": 1,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 5,
        "truncated": false
      },
      "entry_sha256": "65c64adebb31a25a52eebbf79ef3b09ee00618f76ef520cc5e53f818b5d0572c",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-07T06:02:54Z",
      "previous_entry_sha256": "ec4d359a3ef3a194d83803dec0e0bf7bb91943b594b95b8f0aebe780a2c5f7fb",
      "receipt_id": "2cb20fb0-476d-53d6-8d0f-1809b9e53e33",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/2cb20fb0-476d-53d6-8d0f-1809b9e53e33",
      "sequence": 18941,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "b7e7b582d66bf83668226611c3f72f4019b3bef92c96a844dda22a7e17795ee8",
      "before_hash": "c901acf89141a92c9237962f1a89fb851d447b6f9040343f6926730ff1ce4100",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input constraint relaxed",
            "kind": "INPUT_CONSTRAINT_RELAXED",
            "path": "tools[art50_marking_evidence].inputSchema.properties[url].maxLength",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input constraint relaxed",
            "kind": "INPUT_CONSTRAINT_RELAXED",
            "path": "tools[art50_marking_evidence].inputSchema.properties[url].pattern",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[server_evidence].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input constraint relaxed",
            "kind": "INPUT_CONSTRAINT_RELAXED",
            "path": "tools[server_evidence].inputSchema.properties[endpoint_url].maxLength",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input constraint relaxed",
            "kind": "INPUT_CONSTRAINT_RELAXED",
            "path": "tools[server_evidence].inputSchema.properties[endpoint_url].pattern",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 1,
          "NON_BREAKING": 4
        },
        "taxonomy_version": "1.0.0",
        "total": 5,
        "truncated": false
      },
      "entry_sha256": "e64fbcfc0f8a80f464f224f490581b50c07d5592aabce32144e0215ef13479d9",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-06T04:12:24Z",
      "previous_entry_sha256": "d5f7d85e16368b5e4232798e03ae50807bc08cc9ec06a478fb3ad70e2eff377c",
      "receipt_id": "4912f5a2-92a1-5335-9b5c-de584e40a392",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/4912f5a2-92a1-5335-9b5c-de584e40a392",
      "sequence": 18172,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "c901acf89141a92c9237962f1a89fb851d447b6f9040343f6926730ff1ce4100",
      "before_hash": "75a664f13b3115fb4af837630134fec74ccc5c4864b841c37b566453a320661b",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "version patch",
            "kind": "VERSION_PATCH",
            "path": "version",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "description changed",
            "kind": "DESCRIPTION_CHANGED",
            "path": "description",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 2,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 2,
        "truncated": false
      },
      "entry_sha256": "e53ed1e62b2b7caf8470b27be26443e98c57cec40b37a865496878313e9abfae",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED"
      ],
      "observed_at_utc": "2026-10-05T02:28:18Z",
      "previous_entry_sha256": "e7a3cfda27b936e5db5358d396cb26f418f029a26009ab507850582a1f7cb97d",
      "receipt_id": "5a812a31-2f98-581a-be8e-92319707c0c9",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/5a812a31-2f98-581a-be8e-92319707c0c9",
      "sequence": 15509,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "75a664f13b3115fb4af837630134fec74ccc5c4864b841c37b566453a320661b",
      "before_hash": "6e21a4dfc6a9e36f9ad3cb4527e225f2ca77785accc30f64e8945a936b339147",
      "diff": {
        "changes": [
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[art50_marking_evidence].inputSchema.properties[url].maxLength",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[art50_marking_evidence].inputSchema.properties[url].pattern",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[server_evidence].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[server_evidence].inputSchema.properties[endpoint_url].maxLength",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "input constraint tightened",
            "kind": "INPUT_CONSTRAINT_TIGHTENED",
            "path": "tools[server_evidence].inputSchema.properties[endpoint_url].pattern",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 4,
          "INFO": 1,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 5,
        "truncated": false
      },
      "entry_sha256": "13bd5811f6e91e8db6e7b29b8f0a54104ca181cfcb6f3ffa284d33114594452b",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-02T23:00:51Z",
      "previous_entry_sha256": "a9f30214fd24a9158c6687a76fd6b263ca54043e3a11876606bae81c73c5cd75",
      "receipt_id": "36cc9c20-c6ab-53bb-ae0b-d3c42d3b73d9",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/36cc9c20-c6ab-53bb-ae0b-d3c42d3b73d9",
      "sequence": 8024,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "6e21a4dfc6a9e36f9ad3cb4527e225f2ca77785accc30f64e8945a936b339147",
      "before_hash": "2f0abacc2a5c7e608a713f33c34a15b1a07911d7a593cc912ad486ab58abfe7b",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[evidence_bundle]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[evidence_bundle_preview]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[route]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "protocol version changed",
            "kind": "PROTOCOL_VERSION_CHANGED",
            "path": "protocolVersion",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 0,
          "NON_BREAKING": 4
        },
        "taxonomy_version": "1.0.0",
        "total": 4,
        "truncated": false
      },
      "entry_sha256": "03e917cc2678a0263398e56ad5243d379016cb266bf36347df48aca37d12a9de",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-01T21:10:12Z",
      "previous_entry_sha256": "dd91b55608298eb5a880f93e334c18baf5dcb68f7d43523c1ae748403724f2c7",
      "receipt_id": "668722e3-aec8-5f2e-b97d-bed41e11d8cd",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/668722e3-aec8-5f2e-b97d-bed41e11d8cd",
      "sequence": 397,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    },
    {
      "after_hash": "2f0abacc2a5c7e608a713f33c34a15b1a07911d7a593cc912ad486ab58abfe7b",
      "before_hash": "ee4bef33995653d9eba4f3523148c2c1cd43b1f1714f13ec8b061027485b6cb9",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[get_card].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[list_cards].description",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 2,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 2,
        "truncated": false
      },
      "entry_sha256": "9317b6489fdbfcdbac9df5e7217110cb1acba57f6699c7b296b440e24ecc54e6",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-09-30T05:59:44Z",
      "previous_entry_sha256": "b72c8b61d41ad3db1d1e2e3329bfd80f9b1256518aec846f71bbd93dffe97af4",
      "receipt_id": "dbd5877a-a4b9-56bc-97a6-9a05bd8f24b8",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/dbd5877a-a4b9-56bc-97a6-9a05bd8f24b8",
      "sequence": 49,
      "target_id": "obs_2b30e8e286e4fed6713c376b",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://councilof.ai/mcp/"
    }
  ],
  "check_outcomes": {
    "ask": {
      "changed_since": "https://www.gaipagents.com/v1/free/observatory/changed-since?url=<endpoint>",
      "changes_and_reachability": "https://www.gaipagents.com/v1/free/changes/subscribe?url=<endpoint>",
      "conformance": "https://www.gaipagents.com/v1/free/conformance/check?url=<endpoint>"
    },
    "published": false,
    "why": "Outcomes of GAIP's own checks (whether the endpoint answered, HTTP status, response time, conformance findings) are given only to a caller who asks about the URL, never on a public page, list or feed. The same applies to every target."
  },
  "conformance": {
    "findings": "GIVEN_TO_CALLER_ONLY",
    "meaning": "The rule catalogue this manifest was read against at the observed time. The finding codes go only to a caller who checks the URL (check_outcomes.ask.conformance).",
    "observed_at_utc": "2026-10-28T19:20:38Z",
    "protocol": "MCP",
    "rule_catalogue_route": "/v1/free/knowledge/conformance-rules",
    "rule_catalogue_version": "1.0.0"
  },
  "corrections": {
    "contact": "https://www.gaipagents.com/contact",
    "exclusion": "https://www.gaipagents.com/v1/free/observatory/corrections/exclusion",
    "opt_out": "POST kind OPT_OUT to the route; the target is withdrawn from public view at once (a pause). The site's owner makes it permanent at https://www.gaipagents.com/v1/free/observatory/corrections/exclusion.",
    "queued_for_review": 0,
    "route": "https://www.gaipagents.com/v1/free/observatory/corrections"
  },
  "declared_derivations": {
    "data_appetite": {
      "categories": {},
      "fields_read": 61,
      "observed_at_utc": "2026-10-28T19:20:38Z",
      "tools_read": 52
    },
    "dependency_domains": [],
    "last_observed_at_utc": "2026-10-28T19:20:38Z",
    "meaning": "Derived by GAIP from what this agent declared, at the stated time: the categories of data its tools' input fields ask for (counts, by keyword rules gaip.data-appetite-rules.v1), the outside domains its declarations point to, and the operator as the agent itself publishes it. Facts about declarations, not an assessment of the agent or its operator.",
    "operator": {
      "as_published": "ai.councilof",
      "source_kind": "registry_namespace_domain"
    },
    "rules_version": "gaip.data-appetite-rules.v1",
    "schema_version": "gaip.declared-derivations.v1"
  },
  "latest": {
    "baseline_at_utc": "2026-09-29T03:58:57Z",
    "manifest_sha256": "75af1f3507d84ac0c8dd483e55e5b335499678e80c97d1463ab60c6b68ad1c58",
    "observed_at_utc": "2026-10-28T19:20:38Z"
  },
  "metadata_signals": {
    "meaning": "Pattern rules are published only as aggregate rates across all observed targets (see the summary), never per party. GAIP issues no overall verdict and does not rank parties.",
    "overall_verdict": null,
    "per_target_results": null,
    "published": "AGGREGATE_ONLY_IN_SUMMARY",
    "rules": [
      {
        "rationale": "Zero-width, bidirectional-control and Unicode tag characters are not visible to a human reader but are read by language models. GAIP reports whether any occur; many have ordinary uses.",
        "rule_id": "OBS-SIG-001",
        "title": "Invisible or bidirectional-control Unicode characters in names or descriptions"
      },
      {
        "rationale": "Tool and skill descriptions are read by models. GAIP reports whether a description contains phrases shaped like instructions to a model (the patterns in GAIP's public conformance rule catalogue, plus the phrases listed in the Observatory method). Such phrases can be benign.",
        "rule_id": "OBS-SIG-002",
        "title": "Instruction-like text in descriptions"
      },
      {
        "rationale": "When a description refers to a tool name that only a different observed server publishes, a model using both servers may connect the two. GAIP reports whether such a reference occurs; shared names are common and often coincidental.",
        "rule_id": "OBS-SIG-003",
        "title": "Description names a tool published by a different observed server"
      },
      {
        "rationale": "Declared OAuth scopes whose names contain wildcard or whole-account wording (*, all, admin, root, full) request wide access by name. GAIP reports whether such a scope name is declared; it does not know what the scope grants.",
        "rule_id": "OBS-SIG-004",
        "title": "Declared authorization scopes with broad-access wording"
      }
    ],
    "third_party_scanners": [
      {
        "name": "Snyk agent-scan (formerly Invariant Labs mcp-scan)",
        "status": "NOT_RUN",
        "url": "https://github.com/snyk/agent-scan"
      },
      {
        "name": "Cisco AI Defense MCP Scanner",
        "status": "NOT_RUN",
        "url": "https://github.com/cisco-ai-defense/mcp-scanner"
      }
    ]
  },
  "method": "https://www.gaipagents.com/observatory",
  "notice": "Facts observed by GAIP at the stated time (UTC); they may be out of date. This is not an assessment of safety, quality, security, legality or trustworthiness of any party, and not a recommendation. To request a correction, add a right of reply or opt out, POST to https://www.gaipagents.com/v1/free/observatory/corrections or use https://www.gaipagents.com/contact.",
  "price_gbp": 0,
  "schema_version": "gaip.observatory.v1.target",
  "silent_changes_last_30_days": {
    "days": 30,
    "entries_read_at_most": 200,
    "kinds": [
      "tool_descriptions_reworded",
      "tools_added"
    ],
    "line": "In the last 30 days its declared tools or interface changed with no declared version change in 2 weeks: 2026-W42 (2026-10-15); 2026-W44 (2026-10-26); kinds: tool descriptions re-worded, tools added.",
    "meaning": "Weeks (ISO) in which GAIP recorded a change to the agent's declared tools or interface (tools added or removed, descriptions re-worded, input or output schema, behaviour labels, sign-in, terms or prices, endpoint host) and no declared version (registry or card version, serverInfo.version) moved that week. A week whose version movement is not recorded is not counted. Dated facts from the public change log; not an assessment of the agent.",
    "weeks": [
      {
        "dates": [
          "2026-10-15"
        ],
        "kinds": [
          "tool_descriptions_reworded"
        ],
        "week": "2026-W42"
      },
      {
        "dates": [
          "2026-10-26"
        ],
        "kinds": [
          "tools_added"
        ],
        "week": "2026-W44"
      }
    ],
    "weeks_with_silent_changes": 2
  },
  "snapshot": {
    "capabilities": [
      "tools"
    ],
    "description": "19 tools (14 free, 5 x402-metered): GSPC board, evidence, Ed25519 card verify. Measurement only.",
    "name": "ai.councilof/gspc",
    "parts": [
      "registry_server_json",
      "mcp_initialize_tools_list"
    ],
    "protocol": "MCP",
    "protocolVersion": "2025-11-25",
    "public_copy": "Text excerpts of at most 300 characters; input schemas and security schemes as SHA-256 and size only.",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://councilof.ai/mcp/"
      }
    ],
    "scopes": [],
    "serverInfo": {
      "name": "csoai-gspc-mcp",
      "version": "1.4.4"
    },
    "title": "Council of AI GSPC",
    "tools": [
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": false,
          "title": "Article 50 marking evidence (paid, x402; preview free)"
        },
        "description": "PAID (x402 or CSOAI LTD invoice). Article 50 marking-evidence pack via https://councilof.ai/api/art50/marking-evidence: which machine-readable marks the named methods DETECT in these bytes right now. Scope: C2PA and IPTC metadata only (C2PA manifest store, assertion hashes, hard binding, claim signa",
        "inputSchema": {
          "bytes": 772,
          "published": "HASH_ONLY",
          "sha256": "b56a29587774860d4d9b25a3d89ebdf41fe3952544f0ba04c0983247504c95ab"
        },
        "name": "art50_marking_evidence",
        "title": "Article 50 marking evidence (paid, x402; preview free)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "affect axis (live GSPC board)"
        },
        "description": "The affect axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a declare",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_affect",
        "title": "affect axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "ai-adoption-components axis (live GSPC board)"
        },
        "description": "The ai-adoption-components axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class an",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_ai-adoption-components",
        "title": "ai-adoption-components axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "art5-safeguard axis (live GSPC board)"
        },
        "description": "The art5-safeguard axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_art5-safeguard",
        "title": "art5-safeguard axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "care axis (live GSPC board)"
        },
        "description": "The care axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a declared ",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_care",
        "title": "care axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "claim-maintenance axis (live GSPC board)"
        },
        "description": "The claim-maintenance axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer ",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_claim-maintenance",
        "title": "claim-maintenance axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "company-practice axis (live GSPC board)"
        },
        "description": "The company-practice axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_company-practice",
        "title": "company-practice axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "conformance axis (live GSPC board)"
        },
        "description": "The conformance axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a de",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_conformance",
        "title": "conformance axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "continuity axis (live GSPC board)"
        },
        "description": "The continuity axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a dec",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_continuity",
        "title": "continuity axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "cross-reality axis (live GSPC board)"
        },
        "description": "The cross-reality axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a ",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_cross-reality",
        "title": "cross-reality axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "custody-disclosure axis (live GSPC board)"
        },
        "description": "The custody-disclosure axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_custody-disclosure",
        "title": "custody-disclosure axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "detector-interop axis (live GSPC board)"
        },
        "description": "The detector-interop axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_detector-interop",
        "title": "detector-interop axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "distribution-integrity axis (live GSPC board)"
        },
        "description": "The distribution-integrity axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class an",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_distribution-integrity",
        "title": "distribution-integrity axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "effect-binding axis (live GSPC board)"
        },
        "description": "The effect-binding axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_effect-binding",
        "title": "effect-binding axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "governance axis (live GSPC board)"
        },
        "description": "The governance axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a dec",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_governance",
        "title": "governance axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "harness-fidelity axis (live GSPC board)"
        },
        "description": "The harness-fidelity axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_harness-fidelity",
        "title": "harness-fidelity axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "humanoid-deployment axis (live GSPC board)"
        },
        "description": "The humanoid-deployment axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answe",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_humanoid-deployment",
        "title": "humanoid-deployment axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "humanoid-labour-index axis (live GSPC board)"
        },
        "description": "The humanoid-labour-index axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class ans",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_humanoid-labour-index",
        "title": "humanoid-labour-index axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "interop-conformance axis (live GSPC board)"
        },
        "description": "The interop-conformance axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answe",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_interop-conformance",
        "title": "interop-conformance axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "interpretability-reproducibility axis (live GSPC board)"
        },
        "description": "The interpretability-reproducibility axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a firs",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_interpretability-reproducibility",
        "title": "interpretability-reproducibility axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "jail axis (live GSPC board)"
        },
        "description": "The jail axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a declared ",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_jail",
        "title": "jail axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "lab-practice axis (live GSPC board)"
        },
        "description": "The lab-practice axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a d",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_lab-practice",
        "title": "lab-practice axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "labour-components axis (live GSPC board)"
        },
        "description": "The labour-components axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer ",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_labour-components",
        "title": "labour-components axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "machinery-conformity axis (live GSPC board)"
        },
        "description": "The machinery-conformity axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answ",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_machinery-conformity",
        "title": "machinery-conformity axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "measurer-integrity axis (live GSPC board)"
        },
        "description": "The measurer-integrity axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_measurer-integrity",
        "title": "measurer-integrity axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "openness axis (live GSPC board)"
        },
        "description": "The openness axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a decla",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_openness",
        "title": "openness axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "provenance axis (live GSPC board)"
        },
        "description": "The provenance axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a dec",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_provenance",
        "title": "provenance axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "provenance-controls axis (live GSPC board)"
        },
        "description": "The provenance-controls axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answe",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_provenance-controls",
        "title": "provenance-controls axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "regulator-transparency axis (live GSPC board)"
        },
        "description": "The regulator-transparency axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class an",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_regulator-transparency",
        "title": "regulator-transparency axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "regulatory-framework axis (live GSPC board)"
        },
        "description": "The regulatory-framework axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answ",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_regulatory-framework",
        "title": "regulatory-framework axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "reserve-attestation axis (live GSPC board)"
        },
        "description": "The reserve-attestation axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answe",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_reserve-attestation",
        "title": "reserve-attestation axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "safety axis (live GSPC board)"
        },
        "description": "The safety axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a declare",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_safety",
        "title": "safety axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "serving-fidelity axis (live GSPC board)"
        },
        "description": "The serving-fidelity axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_serving-fidelity",
        "title": "serving-fidelity axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "swarm axis (live GSPC board)"
        },
        "description": "The swarm axis of the live GSPC board at https://councilof.ai/api/gspc \u2014 this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer \u2014 a declared",
        "inputSchema": {
          "bytes": 76,
          "published": "HASH_ONLY",
          "sha256": "d746974fa9afd5e951f76f9af38954b0ad7f436f2120dc974da65e5ee39f856f"
        },
        "name": "axis_swarm",
        "title": "swarm axis (live GSPC board)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Live GSPC board totals"
        },
        "description": "Live GSPC board totals from https://councilof.ai/api/gspc. Returns the slot count and the measured count as two labelled numbers WITH their kind \u2014 a slot is a declared position on the board, a measurement is a real run behind it; the two are never summed and never swapped \u2014 plus the board's separati",
        "inputSchema": {
          "bytes": 301,
          "published": "HASH_ONLY",
          "sha256": "2fa501881dc1217d687f8e6cae24b96a3b6bc79d60e0551ace231fef213789a2"
        },
        "name": "board_totals",
        "title": "Live GSPC board totals"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": false,
          "title": "Commission a measurement card (paid, x402)"
        },
        "description": "PAID (x402). Commission one signed card-v0 receipt (surface ras.commission) for a named subject on the frozen bank via https://councilof.ai/api/request-attestation. Re-serves every signed measurement card already on file for the subject; a payment never mints a MEASURED cell (fresh_run stays UNMEASU",
        "inputSchema": {
          "bytes": 515,
          "published": "HASH_ONLY",
          "sha256": "ebf168a39a2a79b98791e6c13bb0afb8d9f69cfc6d11ec7032a0deddd5d83ddc"
        },
        "name": "commission_card",
        "title": "Commission a measurement card (paid, x402)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": false,
          "title": "Evidence bundle for one obligation (paid, x402; preview free)"
        },
        "description": "PAID (x402). For ONE obligation (article-50, article-53 GPAI transparency, dora or cra) and an optional subject via https://councilof.ai/api/evidence-bundle: selected existing card objects with signature fields and any retained inclusion proofs, an OSCAL assessment-results wrapper and an assembly ma",
        "inputSchema": {
          "bytes": 623,
          "published": "HASH_ONLY",
          "sha256": "aae501f18e4deac8f22d988e1445871895e9ea78f8a8ef1092993e5d822a734c"
        },
        "name": "evidence_bundle",
        "title": "Evidence bundle for one obligation (paid, x402; preview free)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Signed cards relevant to one obligation (free)"
        },
        "description": "For ONE obligation (article-50, article-53 GPAI transparency, dora or cra) and an optional subject: the obligation record, its counsel-gate status and the already-signed measurement cards that are relevant to it (count plus the first cards, each with its verify link), read live from https://councilo",
        "inputSchema": {
          "bytes": 495,
          "published": "HASH_ONLY",
          "sha256": "26cdbf3a2af84a3dc5b84c6c18fee403393355f7b46f106bfd0d7ffcc23b6624"
        },
        "name": "evidence_bundle_preview",
        "title": "Signed cards relevant to one obligation (free)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "One GSPC board axis"
        },
        "description": "One axis row from the live GSPC board at https://councilof.ai/api/gspc \u2014 every axis the board carries, behavioural and financial families alike, addressed by the axis id exactly as the board spells it: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL b",
        "inputSchema": {
          "bytes": 304,
          "published": "HASH_ONLY",
          "sha256": "2b95e6b1b6b731935554487c5454f1e1b53bccd969aa516a37aef85c2bfa9496"
        },
        "name": "get_axis",
        "title": "One GSPC board axis"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "One public-root card-v0 leaf"
        },
        "description": "GET one public-root card-v0 leaf by sha256 (64 hex) from https://councilof.ai/cards/{sha16}.json. UNMEASURED cells stay visible. States: VALID (fetched); NOT_IN_THIS_CORPUS (the id is in the signed card index, not the public root, so use verify_card on it); INVALID (in neither the live root nor the ",
        "inputSchema": {
          "bytes": 175,
          "published": "HASH_ONLY",
          "sha256": "683ca9ab7701bf0ee104b941992be7991fb75f61a7c52a4acc2950483ed2fa2f"
        },
        "name": "get_card",
        "title": "One public-root card-v0 leaf"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Public Merkle root"
        },
        "description": "GET the permissionless public-root at https://councilof.ai/root.json. Returns merkle_root, card_count, as_of, and UNMEASURED notes. Separate from GSPC. Three states: VALID (fetched), UNREACHABLE (could not fetch), UNCHECKABLE (body unreadable). Never a certificate.",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "get_root",
        "title": "Public Merkle root"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "List signed card index rows"
        },
        "description": "The published signed-card index (https://councilof.ai/signed/card_index.json): what the index declares (n_cards) and how many rows it actually carries, reported next to \u2014 never reconciled with \u2014 the count the card store endpoint (https://councilof.ai/api/cards) reports for itself. Two labelled numbe",
        "inputSchema": {
          "bytes": 372,
          "published": "HASH_ONLY",
          "sha256": "a31aac936adc673ad94d5055884a57e1f13ddea8f6928b81d0ffe7775884406a"
        },
        "name": "list_cards",
        "title": "List signed card index rows"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "MCP handshake census snapshot"
        },
        "description": "GET the latest MCP handshake trust snapshot (https://councilof.ai/interop/mcp-trust/latest.json): counts of how many internet-facing MCP servers answer a correct initialize handshake, how many respond with an auth challenge, and how many are unreachable. Counts only by doctrine \u2014 host details withhe",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "mcp_trust",
        "title": "MCP handshake census snapshot"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Measurement-capsule index"
        },
        "description": "Read the latest signed measurement-capsule index published at https://councilof.ai/measurement-capsules/latest.json: the index root over every capsule, each batch (adapter, kind, capsule count, measurement states, batch Merkle root, record sha256, record signature and OpenTimestamps state), the inde",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "measurement_index",
        "title": "Measurement-capsule index"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": false,
          "title": "Receipts batch (paid, x402; preview free)"
        },
        "description": "PAID (x402 or CSOAI LTD invoice). A historical batch of the estate's measurement receipts via https://councilof.ai/api/receipts/batch: every signed card-v0 leaf whose as_of falls in [from,to] (\u2264200), each with its Merkle inclusion path and the public root(s) that carried it, plus the root index for ",
        "inputSchema": {
          "bytes": 500,
          "published": "HASH_ONLY",
          "sha256": "eec1d9a2c12a6df101fe13413f4efe469888d0a0ccd349800a8d3617db8d9c4a"
        },
        "name": "receipts_batch",
        "title": "Receipts batch (paid, x402; preview free)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "GSPC Route: decide a path under your policy (free, decide-only)"
        },
        "description": "GSPC Route (free, decide-only). Applies YOUR policy and the fixed GSPC floor to a candidate set and returns the chosen candidate, the basis of the choice and an unsigned route record (csoai.evidence-event/0.1, profile csoai.route-evidence/0.1). Candidates are the GSPC MCP tools by default, or ones y",
        "inputSchema": {
          "bytes": 2452,
          "published": "HASH_ONLY",
          "sha256": "375b20523540f6594764923bcbcb412c9a665ad8a410e978bb6859fa03bb4fa5"
        },
        "name": "route",
        "title": "GSPC Route: decide a path under your policy (free, decide-only)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": false,
          "title": "RWA asset evidence (paid, x402; preview free)"
        },
        "description": "PAID (x402). Per-request signed evidence card of ONE XRPL issued asset's deterministic on-ledger state via https://councilof.ai/api/rwa/evidence: AccountRoot lsf* flags, Domain, the two-way xrp-ledger.toml check (PASS / FAIL / UNCHECKABLE \u2014 unreachable is never FAIL), gateway_balances obligation, ho",
        "inputSchema": {
          "bytes": 422,
          "published": "HASH_ONLY",
          "sha256": "2061f78ee187f1dd45add302a238b9529d5a1069457d22e37b9fba5243e7578b"
        },
        "name": "rwa_evidence",
        "title": "RWA asset evidence (paid, x402; preview free)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Every published capsule about one endpoint"
        },
        "description": "Trust per server, not totals: every published measurement capsule about ONE endpoint URL across all batches \u2014 MCP contract-parity dimensions (AUTH, PAYMENT, PROTOCOL, TOOLS, VERSION), A2A card-signature state, self-parity cells for CSOAI's own doors, and any later adapter (e.g. tool drift) \u2014 each wi",
        "inputSchema": {
          "bytes": 312,
          "published": "HASH_ONLY",
          "sha256": "c9c7b14278741c6fc1a304db930df05a4ff65dfc564f49ec734f8561ae2d470e"
        },
        "name": "server_evidence",
        "title": "Every published capsule about one endpoint"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Verify one measurement capsule"
        },
        "description": "Verify one measurement capsule. Pass capsule_json as the capsule's JSON TEXT (exact: number lexemes are kept) or as an object. Recomputes capsule_id (sha256 of the canonical JSON without capsule_id), picks the rule by the capsule's schema (csoai.measurement-capsule/0.2: RFC 6962 Merkle with 0x00/0x0",
        "inputSchema": {
          "bytes": 222,
          "published": "HASH_ONLY",
          "sha256": "50453cdb12afbfc49be16355f1aecfdc762c1315a6332094ae76c8a66f37125d"
        },
        "name": "verify_capsule",
        "title": "Verify one measurement capsule"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Verify a signed measurement card (free)"
        },
        "description": "Verify a signed gspc.measurement-card under the published rule (https://councilof.ai/signed/HOW-TO-VERIFY.md): recompute the id from the canonical body bytes, then check the Ed25519 signature under a key PINNED in this verifier and published in the did:web:csoai.org DID document: #card-attestation-1",
        "inputSchema": {
          "bytes": 313,
          "published": "HASH_ONLY",
          "sha256": "0214154638632c91dd8818bba521127478aea03e963c38126cea106f90e17aea"
        },
        "name": "verify_card",
        "title": "Verify a signed measurement card (free)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Merkle inclusion check"
        },
        "description": "Check a sha256 against the live public-root merkle via GET /api/proof?sha=. Three states only: VALID (included), INVALID (not a leaf), UNCHECKABLE (proof endpoint unreachable). Does not claim Ed25519 unless sig_ed25519 is present and checked separately. Never a grade.",
        "inputSchema": {
          "bytes": 168,
          "published": "HASH_ONLY",
          "sha256": "7c698be663d45085e32f2c8f6ad0b9ee587e8ad45126ce3e9934ca9d44351141"
        },
        "name": "verify_inclusion",
        "title": "Merkle inclusion check"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "x402 catalog trust snapshot"
        },
        "description": "GET the latest x402 catalog trust snapshot: counts of how many catalogued x402 resources open a correct 402 challenge vs how many are phantom on the wire. Counts only by doctrine \u2014 host details withheld; a 402 is NOT delivery; measurement, never certification.",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "x402_trust",
        "title": "x402 catalog trust snapshot"
      }
    ],
    "version": "1.4.4"
  },
  "status_history": [
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "75af1f3507d84ac0c8dd483e55e5b335499678e80c97d1463ab60c6b68ad1c58",
      "observed_at_utc": "2026-10-28T19:20:38Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "75af1f3507d84ac0c8dd483e55e5b335499678e80c97d1463ab60c6b68ad1c58",
      "observed_at_utc": "2026-10-27T17:38:53Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "75af1f3507d84ac0c8dd483e55e5b335499678e80c97d1463ab60c6b68ad1c58",
      "observed_at_utc": "2026-10-26T15:58:21Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-25T14:16:08Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-24T12:30:37Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-23T09:53:15Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-22T08:13:09Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-21T06:29:57Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-20T04:36:50Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-19T02:53:59Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-18T01:12:03Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-16T23:24:44Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "898372c4290c579f3cfe055540653700ece5d167439b11cda89367b32ae1e989",
      "observed_at_utc": "2026-10-15T21:06:55Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "observed_at_utc": "2026-10-14T19:16:49Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "observed_at_utc": "2026-10-13T16:46:20Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "observed_at_utc": "2026-10-12T15:03:42Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "observed_at_utc": "2026-10-11T13:10:58Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "observed_at_utc": "2026-10-10T11:19:43Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "observed_at_utc": "2026-10-09T09:37:56Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "07b14d04d43a0654e5fa47248b7502e7af180915a07cad1ea25e3080e5be3cbb",
      "observed_at_utc": "2026-10-08T07:46:44Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "c901acf89141a92c9237962f1a89fb851d447b6f9040343f6926730ff1ce4100",
      "observed_at_utc": "2026-10-07T06:02:54Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "b7e7b582d66bf83668226611c3f72f4019b3bef92c96a844dda22a7e17795ee8",
      "observed_at_utc": "2026-10-06T04:12:24Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "c901acf89141a92c9237962f1a89fb851d447b6f9040343f6926730ff1ce4100",
      "observed_at_utc": "2026-10-05T02:28:18Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "75a664f13b3115fb4af837630134fec74ccc5c4864b841c37b566453a320661b",
      "observed_at_utc": "2026-10-04T00:41:26Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "75a664f13b3115fb4af837630134fec74ccc5c4864b841c37b566453a320661b",
      "observed_at_utc": "2026-10-02T23:00:51Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "6e21a4dfc6a9e36f9ad3cb4527e225f2ca77785accc30f64e8945a936b339147",
      "observed_at_utc": "2026-10-01T21:10:12Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "2f0abacc2a5c7e608a713f33c34a15b1a07911d7a593cc912ad486ab58abfe7b",
      "observed_at_utc": "2026-09-30T05:59:44Z",
      "protocol_version": "2025-06-18"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "ee4bef33995653d9eba4f3523148c2c1cd43b1f1714f13ec8b061027485b6cb9",
      "observed_at_utc": "2026-09-29T03:58:57Z",
      "protocol_version": "2025-06-18"
    }
  ],
  "target": {
    "corrections_route": "https://www.gaipagents.com/v1/free/observatory/corrections",
    "first_seen_at_utc": "2026-09-28T22:33:38Z",
    "kind": "MCP_REMOTE",
    "last_observed_at_utc": "2026-10-28T19:20:38Z",
    "locator": "https://councilof.ai/mcp/",
    "name": "ai.councilof/gspc",
    "source": "official-mcp-registry",
    "target_id": "obs_2b30e8e286e4fed6713c376b"
  }
}