{
  "automatic_evidence_credit": false,
  "captures": [],
  "change_log": [
    {
      "after_hash": "b5fc486229bdc6f2a9205e68680d6789f1744174c7773b1892f5c5130c609027",
      "before_hash": "b5fc486229bdc6f2a9205e68680d6789f1744174c7773b1892f5c5130c609027",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "Declared provider, version, model, operator or AI self-disclosure changed",
            "kind": "DECLARED_INGREDIENTS_CHANGED",
            "path": "$.declared_ingredients_changed",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 1,
          "NON_BREAKING": 0
        },
        "taxonomy_version": null,
        "total": 1,
        "truncated": false
      },
      "entry_sha256": "49d2ad8f4d6e744eca36b63048bbf4b40e5c1b4515da9b868c30983ab3811f16",
      "evidence_class": "FACT_CHANGE",
      "labels": [
        "DECLARED_INGREDIENTS_CHANGED"
      ],
      "observed_at_utc": "2026-10-19T00:19:35Z",
      "previous_entry_sha256": "c723e2018b23bad7f36c260d8e5176ecf5bd546039bd3da88751dd5f9e5486d2",
      "receipt_id": null,
      "receipt_url": null,
      "sequence": 36833,
      "target_id": "obs_19138ba28c136a990acdd303",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.offendersearch.app/mcp"
    },
    {
      "after_hash": "b5fc486229bdc6f2a9205e68680d6789f1744174c7773b1892f5c5130c609027",
      "before_hash": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[map_area]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[map_group]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[map_open_record]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[map_route]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[map_viewport]",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 0,
          "NON_BREAKING": 5
        },
        "taxonomy_version": "1.0.0",
        "total": 5,
        "truncated": false
      },
      "entry_sha256": "c723e2018b23bad7f36c260d8e5176ecf5bd546039bd3da88751dd5f9e5486d2",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-19T00:19:35Z",
      "previous_entry_sha256": "fb6c8e9311555f21a174f72270c8c2b0a8b308395dd47421dc696e4420103bc5",
      "receipt_id": "511939f5-b33f-5995-a63c-dc75cc529fcf",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/511939f5-b33f-5995-a63c-dc75cc529fcf",
      "sequence": 36832,
      "target_id": "obs_19138ba28c136a990acdd303",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.offendersearch.app/mcp"
    },
    {
      "after_hash": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "before_hash": "17b6ab3ee414701118970f7f11b57aabc1ce193cbf06c7363a3c0c69c4fb6bbb",
      "diff": {
        "changes": [
          {
            "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": 1
        },
        "taxonomy_version": "1.0.0",
        "total": 1,
        "truncated": false
      },
      "entry_sha256": "aab81bbb3d41afca01d40bbac4dc597306a15745aa1a5cec2eb2ff82f782ffcb",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED"
      ],
      "observed_at_utc": "2026-10-02T06:32:50Z",
      "previous_entry_sha256": "339d34dbfc9fc38569f64ede659bafe3c1006352f2f549cbcddc0d7339a3d54b",
      "receipt_id": "61fc239b-b364-520b-8cd2-43275213ec75",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/61fc239b-b364-520b-8cd2-43275213ec75",
      "sequence": 3835,
      "target_id": "obs_19138ba28c136a990acdd303",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.offendersearch.app/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-19T00:19:35Z",
    "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": {
        "date_of_birth": {
          "fields": 3,
          "tools": 2
        },
        "postal_address": {
          "fields": 1,
          "tools": 1
        },
        "precise_location": {
          "fields": 4,
          "tools": 2
        }
      },
      "fields_read": 67,
      "observed_at_utc": "2026-10-19T00:19:35Z",
      "tools_read": 10
    },
    "dependency_domains": [
      {
        "domain": "github.com",
        "roles": [
          "repository"
        ]
      }
    ],
    "last_observed_at_utc": "2026-10-19T00:19:35Z",
    "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": "app.offendersearch",
      "source_kind": "registry_namespace_domain"
    },
    "rules_version": "gaip.data-appetite-rules.v1",
    "schema_version": "gaip.declared-derivations.v1"
  },
  "latest": {
    "baseline_at_utc": "2026-09-29T10:04:31Z",
    "manifest_sha256": "b5fc486229bdc6f2a9205e68680d6789f1744174c7773b1892f5c5130c609027",
    "observed_at_utc": "2026-10-19T00:19:35Z"
  },
  "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": [],
    "line": null,
    "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": [],
    "weeks_with_silent_changes": 0
  },
  "snapshot": {
    "capabilities": [
      "experimental",
      "prompts",
      "resources",
      "tools"
    ],
    "description": "Search US sex-offender registries and criminal records, with per-source citations.",
    "name": "app.offendersearch/offendersearch",
    "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://mcp.offendersearch.app/mcp"
      }
    ],
    "scopes": [],
    "serverInfo": {
      "name": "offendersearch",
      "version": "1.30.0"
    },
    "title": "Offendersearch",
    "tools": [
      {
        "annotations": {},
        "description": "Run many person/location lookups in one call (row-in / row-out).\n\n    Each row goes through the SAME engine as search_offenders, so a row's records\n    are identical to what a single search would return. A row that fails is\n    reported with status='error' in place and never aborts the batch. Max 10",
        "inputSchema": {
          "bytes": 1302,
          "published": "HASH_ONLY",
          "sha256": "b48c84e64a607490105295798095d667012c179bc4eae333b55cdb3488394194"
        },
        "name": "batch_search",
        "title": null
      },
      {
        "annotations": {},
        "description": "List the criminal-record jurisdictions searched, with kind and status.\n\n    Use it to discover which states and counties are reachable and which are\n    answering today, before relying on an empty result. Depth is uneven by design:\n    counties publish independently, so a state with many county juri",
        "inputSchema": {
          "bytes": 74,
          "published": "HASH_ONLY",
          "sha256": "c1c951b91f3b3b5c9302da0d76cdee31afdf37cbaaae5c496f4a788d73010e87"
        },
        "name": "get_criminal_coverage",
        "title": null
      },
      {
        "annotations": {},
        "description": "List every registry we cover plus its scope, legal status, and health.\n\n    Public coverage catalog (no API key required). Use it to discover the\n    `jurisdictions` codes accepted by search_offenders / batch_search and to\n    check per-registry freshness/health before relying on a result.\n\n    Retu",
        "inputSchema": {
          "bytes": 74,
          "published": "HASH_ONLY",
          "sha256": "7761933f5a1f22d9a5c0075d02f44ffeab40f5b2a55b9086bdcbe2bfc7b947a0"
        },
        "name": "get_registry_coverage",
        "title": null
      },
      {
        "annotations": {},
        "description": "Get what to draw inside a drawn shape: a polygon, or a line with a buffer.\n\n    The same answer as map_viewport for the shape's bounding box, limited to what\n    is inside the shape, at the same detail levels (clusters, pins, or named pins\n    at zoom 15+). The response adds `shape: 'polygon' | 'rou",
        "inputSchema": {
          "bytes": 2070,
          "published": "HASH_ONLY",
          "sha256": "fa41ca607fe70a4cf72b0f42148c96bc2247233842491fbd5af8965d5c8ba602"
        },
        "name": "map_area",
        "title": null
      },
      {
        "annotations": {},
        "description": "List the people behind a many-people pin or an approximate-area pin.\n\n    Returns: { total, page, perPage, totalPages, kind: 'address' | 'area', named,\n    members: [ { id, addressType, label, housingStatus, hasPhoto } ] }. Members\n    carry `label` only when the group id came from a view at zoom 15",
        "inputSchema": {
          "bytes": 563,
          "published": "HASH_ONLY",
          "sha256": "4506b2c70f3c63bb35ef767f58748da2f314fdc646e4b5668322c1a3b7bef191"
        },
        "name": "map_group",
        "title": null
      },
      {
        "annotations": {},
        "description": "Open the complete record behind one map marker, or behind a saved reference.\n\n    Returns: { record, recordRef, billing: { billed, unit, reason }, notice }.\n    `record` is the same Record object search_offenders returns. `recordRef`\n    ('mr_...') is a lasting reference: keep it to open the same re",
        "inputSchema": {
          "bytes": 306,
          "published": "HASH_ONLY",
          "sha256": "f246cea11e5effa4d03b9262483a5f0ad86aa9fdcd3ee34f221a478b1df145cd"
        },
        "name": "map_open_record",
        "title": null
      },
      {
        "annotations": {},
        "description": "Exact counts of registered addresses along one walking or bus route.\n\n    Counts a corridor either side of the line, a radius around each stop, or\n    both, and returns exact numbers per leg and per stop with nameless pins and\n    their distances. Never an estimate and never partial: the answer is c",
        "inputSchema": {
          "bytes": 3625,
          "published": "HASH_ONLY",
          "sha256": "ecdca31ccb16fe9855c6e474166abe2c3303e3f2cac9562d1d0227041599c918"
        },
        "name": "map_route",
        "title": null
      },
      {
        "annotations": {},
        "description": "Get what to draw for one map view: clusters, pins, or named pins.\n\n    Send the view as `bbox`, or as `lat` + `lng` + `radius_miles`. The detail\n    returned depends on the zoom the view is answered at (the response states it\n    in `zoom`):\n      - zoom 3-12  -> mode 'clusters': a count per grid ce",
        "inputSchema": {
          "bytes": 1871,
          "published": "HASH_ONLY",
          "sha256": "b188c25cecfaa8f7a9c403c2d3915b6aeebc76a8e80d2de819adc6a4cfc724f4"
        },
        "name": "map_viewport",
        "title": null
      },
      {
        "annotations": {},
        "description": "Search US criminal records \u2014 county jail bookings, state prison custody, court cases and warrants.\n\n    Covers county jail rosters, statewide prison systems, court sources, warrant\n    systems and statewide registries across the states, DC and the territories,\n    plus the federal layer \u2014 which is a",
        "inputSchema": {
          "bytes": 1414,
          "published": "HASH_ONLY",
          "sha256": "5ed4824856bc5bc82f274536e4aafc213826fca907176e385fd13f68d63e3e0b"
        },
        "name": "search_criminal",
        "title": null
      },
      {
        "annotations": {},
        "description": "Search US sex-offender registries for one person and/or location.\n\n    Fans out across all 58 registries (or the ones named in `jurisdictions`),\n    de-duplicates people across registries, scores each match, and returns the\n    normalized records. Supply whatever identifiers you have \u2014 all args are\n",
        "inputSchema": {
          "bytes": 4117,
          "published": "HASH_ONLY",
          "sha256": "b5ebd2247bf7e0e7e97dc2a6fc9b230e381642c664d6cedf9370b99eab4f428e"
        },
        "name": "search_offenders",
        "title": null
      }
    ],
    "version": "1.29.1"
  },
  "status_history": [
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "b5fc486229bdc6f2a9205e68680d6789f1744174c7773b1892f5c5130c609027",
      "observed_at_utc": "2026-10-19T00:19:35Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-17T23:27:03Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-16T22:09:44Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-15T21:21:55Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-14T20:32:15Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-13T19:32:58Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-12T18:44:18Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-11T17:57:08Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-10T16:59:22Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-09T16:13:03Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-08T15:22:56Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-07T14:36:35Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-06T13:45:32Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-05T12:45:58Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-04T11:48:20Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-03T10:47:28Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "547ce4c127b7b1499e49dfce01ce8c595bd1a4b1ef974cadd62a0ad56e051699",
      "observed_at_utc": "2026-10-02T06:32:50Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "17b6ab3ee414701118970f7f11b57aabc1ce193cbf06c7363a3c0c69c4fb6bbb",
      "observed_at_utc": "2026-09-30T18:23:33Z",
      "protocol_version": "2025-06-18"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "17b6ab3ee414701118970f7f11b57aabc1ce193cbf06c7363a3c0c69c4fb6bbb",
      "observed_at_utc": "2026-09-29T10:04:31Z",
      "protocol_version": "2025-06-18"
    }
  ],
  "target": {
    "corrections_route": "https://www.gaipagents.com/v1/free/observatory/corrections",
    "first_seen_at_utc": "2026-09-29T05:01:53Z",
    "kind": "MCP_REMOTE",
    "last_observed_at_utc": "2026-10-19T00:19:35Z",
    "locator": "https://mcp.offendersearch.app/mcp",
    "name": "app.offendersearch/offendersearch",
    "source": "official-mcp-registry",
    "target_id": "obs_19138ba28c136a990acdd303"
  }
}