{
  "automatic_evidence_credit": false,
  "captures": [],
  "change_log": [
    {
      "after_hash": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "before_hash": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "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": "bbc76f3d7fa1f7a5504f1628191bfceb0b392adf89d7f40149727a8f30001c65",
      "evidence_class": "FACT_CHANGE",
      "labels": [
        "DECLARED_INGREDIENTS_CHANGED"
      ],
      "observed_at_utc": "2026-10-12T03:27:50Z",
      "previous_entry_sha256": "94bcc7184e9e6505cc51763d46e3f4d0dafba248023e3323760751b79ef604f4",
      "receipt_id": null,
      "receipt_url": null,
      "sequence": 25762,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.ai/mcp"
    },
    {
      "after_hash": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "before_hash": "2b6a605a40677d247c8cedfa8311177baeb7199769b46f478767246a44fc7f1f",
      "diff": {
        "changes": [],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 0,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 0,
        "truncated": false
      },
      "entry_sha256": "94bcc7184e9e6505cc51763d46e3f4d0dafba248023e3323760751b79ef604f4",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED"
      ],
      "observed_at_utc": "2026-10-12T03:27:50Z",
      "previous_entry_sha256": "72e35b749477d55f4dbaf09161a809a2a6b816aeacb62349ffc7258af7acb54c",
      "receipt_id": "c3715e38-db7b-5202-8d6f-36570fe2464b",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/c3715e38-db7b-5202-8d6f-36570fe2464b",
      "sequence": 25761,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.ai/mcp"
    },
    {
      "after_hash": "2b6a605a40677d247c8cedfa8311177baeb7199769b46f478767246a44fc7f1f",
      "before_hash": "2b6a605a40677d247c8cedfa8311177baeb7199769b46f478767246a44fc7f1f",
      "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": "59e6f016b85d09f90080f6c66efa685a431138ad6a69b10c6bda80a52fe4ab6f",
      "evidence_class": "FACT_CHANGE",
      "labels": [
        "DECLARED_INGREDIENTS_CHANGED"
      ],
      "observed_at_utc": "2026-10-11T02:44:17Z",
      "previous_entry_sha256": "dc0f3f40d068896712090b990837c1bab129c4681a98684e82e1410ae9e25336",
      "receipt_id": null,
      "receipt_url": null,
      "sequence": 23802,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.ai/mcp"
    },
    {
      "after_hash": "2b6a605a40677d247c8cedfa8311177baeb7199769b46f478767246a44fc7f1f",
      "before_hash": "a1451363c49b0198cf649e89a621b2a263c9dc3ff19e40763a9ae2beffdb2c72",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[balance_proof].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[bridge_proof].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[entity_change].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[entity_history].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[place_index].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[relationships].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[transparency_latest].description",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 7,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 7,
        "truncated": false
      },
      "entry_sha256": "dc0f3f40d068896712090b990837c1bab129c4681a98684e82e1410ae9e25336",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-11T02:44:17Z",
      "previous_entry_sha256": "9028144e078b0248838313e2b87abb40dcc37e633071f75936fab88b49228515",
      "receipt_id": "73ea2b03-1f35-597d-9992-fef8acfd89dd",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/73ea2b03-1f35-597d-9992-fef8acfd89dd",
      "sequence": 23801,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.ai/mcp"
    },
    {
      "after_hash": "a1451363c49b0198cf649e89a621b2a263c9dc3ff19e40763a9ae2beffdb2c72",
      "before_hash": "dd71b5009fcbaf792c4544e4f5e56b9697892895884d9ce4721ce772a6e440e3",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[site_reconstruction]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[billing_quote].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[billing_quote].inputSchema.properties[as_of]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[billing_quote].inputSchema.properties[entity_type]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[billing_quote].inputSchema.properties[id]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[billing_quote].inputSchema.properties[lat]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[billing_quote].inputSchema.properties[lng]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[billing_quote].inputSchema.properties[radius_m]",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 1,
          "NON_BREAKING": 7
        },
        "taxonomy_version": "1.0.0",
        "total": 8,
        "truncated": false
      },
      "entry_sha256": "a197d487b4f0a7b5cb97a73544e98e5751c4115e09d858d1d6bdf560771df27f",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-05T23:41:03Z",
      "previous_entry_sha256": "32bfcf322009fc74a2c6f3777309f9bc97c7c54ca87dd841836e47cec8ae6774",
      "receipt_id": "3d032399-3fa9-5c0d-976b-f6cb8cfe310f",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/3d032399-3fa9-5c0d-976b-f6cb8cfe310f",
      "sequence": 17910,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.ai/mcp"
    },
    {
      "after_hash": "dd71b5009fcbaf792c4544e4f5e56b9697892895884d9ce4721ce772a6e440e3",
      "before_hash": "37c5b6584754cdf551ed358c0eab1365abfec60f9ef89b02a68e36c61cb286aa",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[entity_change]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[entity_history]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[entity_state]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[look_through]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[place_index]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[funding_prepare].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[hops].inputSchema.properties[as_of]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[look_at].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[market_request].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[market_request].inputSchema.properties[body].properties[physical_claim]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[relationships].inputSchema.properties[as_of]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "version patch",
            "kind": "VERSION_PATCH",
            "path": "version",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 4,
          "NON_BREAKING": 8
        },
        "taxonomy_version": "1.0.0",
        "total": 12,
        "truncated": false
      },
      "entry_sha256": "f70db7ccc2e4e5971c16700cd76c461028010f9c4cbaed6783dffb2270127ef5",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-04T22:58:18Z",
      "previous_entry_sha256": "8c95e17d671a06f56ed70ae12fddc146e511e71c9ce686052c5af00368c3b3ca",
      "receipt_id": "bc28be20-8833-5134-b289-af080e16441e",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/bc28be20-8833-5134-b289-af080e16441e",
      "sequence": 14931,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.ai/mcp"
    },
    {
      "after_hash": "37c5b6584754cdf551ed358c0eab1365abfec60f9ef89b02a68e36c61cb286aa",
      "before_hash": "5b27976fa487408f7654a10dffffbb585bb8920be118cb46905a2724339d4f02",
      "diff": {
        "changes": [],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 0,
          "NON_BREAKING": 0
        },
        "taxonomy_version": "1.0.0",
        "total": 0,
        "truncated": false
      },
      "entry_sha256": "b987f334c19ee433be63dbddfa02c8c0d01acae024fae5e8c03c0d403226256c",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED"
      ],
      "observed_at_utc": "2026-10-03T22:17:55Z",
      "previous_entry_sha256": "09be4d75153dc47e8798864fafb9aabdc622344dabc8e3800fceb5431019372b",
      "receipt_id": "4980594c-5102-52f8-97cf-6dea5dbae4c7",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/4980594c-5102-52f8-97cf-6dea5dbae4c7",
      "sequence": 9120,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.ai/mcp"
    },
    {
      "after_hash": "5b27976fa487408f7654a10dffffbb585bb8920be118cb46905a2724339d4f02",
      "before_hash": "4139dbc9e942f0863a4ad58aafacad488f1fc051a221e9cb3668b5a9aa2ad3dc",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[hops].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[hops].inputSchema.properties[entity_id]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[hops].inputSchema.properties[entity_type]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[relationships].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[relationships].inputSchema.properties[entity_id]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "input field added",
            "kind": "INPUT_FIELD_ADDED",
            "path": "tools[relationships].inputSchema.properties[entity_type]",
            "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": 2,
          "NON_BREAKING": 5
        },
        "taxonomy_version": "1.0.0",
        "total": 7,
        "truncated": false
      },
      "entry_sha256": "1a1fa421ba6c6d68837e429c03d1681185284f73d0447ff2b0ae35ab0b307990",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-01T21:02:45Z",
      "previous_entry_sha256": "2bd27df4d97912663af29969e8d569cec67e0eed2906b2b908fc4322a4087ab2",
      "receipt_id": "4ddfa3ae-83fd-5b7e-9e5b-16faff936d36",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/4ddfa3ae-83fd-5b7e-9e5b-16faff936d36",
      "sequence": 381,
      "target_id": "obs_63660a1fb93184df0c58dbae",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://mcp.greenlandai.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-17T07:22:51Z",
    "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": {
        "precise_location": {
          "fields": 20,
          "tools": 9
        }
      },
      "fields_read": 142,
      "observed_at_utc": "2026-10-17T07:22:51Z",
      "tools_read": 43
    },
    "dependency_domains": [],
    "last_observed_at_utc": "2026-10-17T07:22:51Z",
    "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.greenlandai",
      "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:27:41Z",
    "manifest_sha256": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
    "observed_at_utc": "2026-10-17T07:22:51Z"
  },
  "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": "GreenlandAI: world graph & map (companies, deposits, commodities), marketplace, wallets, proofs.",
    "name": "ai.greenlandai/greenlandai",
    "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.greenlandai.ai/mcp"
      }
    ],
    "scopes": [],
    "serverInfo": {
      "name": "GreenlandAI",
      "version": "0.5.27+e11c42e"
    },
    "title": "GreenlandAI",
    "tools": [
      {
        "annotations": {},
        "description": "Cryptographic inclusion proof for YOUR wallet balance in the latest hourly transparency\n    attestation (GET /wallet/balance-proof): leaf hash, Merkle sibling path, root, the anchoring BSV\n    txid, and `verification` (the steps to recompute the root and check it on chain). Bearer required;\n    the ",
        "inputSchema": {
          "bytes": 66,
          "published": "HASH_ONLY",
          "sha256": "659bab3dc5878f67e0b762149cce14db7759e8705a2d1e99f2afe0aee08f3f64"
        },
        "name": "balance_proof",
        "title": null
      },
      {
        "annotations": {},
        "description": "YOUR OWN CHARGE RECORD \u2014 what this wallet was charged for, attempt by attempt, so you can verify your\n    bill without asking us (relays GET /api/v1/billing/attempts; own wallet only \u2014 derived from your credential,\n    never a parameter). Distinct from `joules_balance` (how much I have): this answer",
        "inputSchema": {
          "bytes": 242,
          "published": "HASH_ONLY",
          "sha256": "f17e8b07f61066cce8d0b9997b7cc62f4244e48dee9857684ff638488d2ff675"
        },
        "name": "billing_attempts",
        "title": null
      },
      {
        "annotations": {},
        "description": "The exact per-caller price of a metered call BEFORE you make it \u2014 free, no website, an MCP tool you\n    can actually invoke (relays GET /api/v1/billing/quote). `path` = the API path the call would hit \u2014 e.g.\n    \"/api/v1/relationships\" (the `relationships` tool), \"/api/v1/look.from\" (`look_from`), \"",
        "inputSchema": {
          "bytes": 723,
          "published": "HASH_ONLY",
          "sha256": "39e6389dcbc97341ae29e964c5e8800265322e2bf220bec10e42e46ef5a4bd94"
        },
        "name": "billing_quote",
        "title": null
      },
      {
        "annotations": {},
        "description": "Cryptographic inclusion proofs for YOUR Bridge Ledger rows \u2014 contribution/fee events \u2014 in the\n    balance-proof shape (GET /programme/bridge/proof): per-row leaf hash, sibling path, the `bridge_root`,\n    and the anchoring BSV txid, plus `verification`. Bearer required; scoped to the holder your tok",
        "inputSchema": {
          "bytes": 65,
          "published": "HASH_ONLY",
          "sha256": "13a7fc212d073adc6a1ace42b6ee1c3ba955f89a522522394c68fae02172d62d"
        },
        "name": "bridge_proof",
        "title": null
      },
      {
        "annotations": {},
        "description": "One company's record and graph neighbourhood by id; the response carries `charged_joules` \u2014 the\n    all-in PRICE of THIS call (one key on every metered response \u2014 the companies/deposits/infrastructure/\n    projects reads, relationships, and look_from / map_viewport / look_at). Metered \u2014 debited from",
        "inputSchema": {
          "bytes": 113,
          "published": "HASH_ONLY",
          "sha256": "b21db71eef865ac00ed9ac68c001b3c716b129f91cbeab1aad213eca6db17850"
        },
        "name": "company",
        "title": null
      },
      {
        "annotations": {},
        "description": "Your OWN append-only contribution receipts (forward your enabled gai_ key as X-API-Key) \u2014 the\n    proof of what you submitted, with the canonical claim hash (claim_sha256) so you can verify what the\n    door holds matches what you sent. Own rows only, no staff fields. Read-only.\n    GET /api/v1/cont",
        "inputSchema": {
          "bytes": 184,
          "published": "HASH_ONLY",
          "sha256": "eb4f7321101e3a3757f21acfaeaccaf128b5aa601e8767c1a0742bdddaac32c1"
        },
        "name": "contribute_receipts",
        "title": null
      },
      {
        "annotations": {},
        "description": "Submit evidenced graph relationships to the GreenlandAI contributor door (TEN programme). Auth:\n    your OWN GreenlandAI key in X-API-Key \u2014 an agent's gai_ registration key or the owner's gai_ key,\n    the SAME key you use on the graph reads; the agent ID (gqa_) is NOT sent here, the door derives yo",
        "inputSchema": {
          "bytes": 344,
          "published": "HASH_ONLY",
          "sha256": "0a3c0451325d09ccf56c9a29c46c4750455b1bd61050f7b8491c08787f718a48"
        },
        "name": "contribute_relations",
        "title": null
      },
      {
        "annotations": {},
        "description": "Your OWN contributor standing (forward your enabled gai_ key as X-API-Key; the door derives\n    identity from the key). Returns totals (submitted/accepted/rejected), acceptance_rate,\n    pending_review, refused_at_door, standing (good / warning / suspended / revoked) and the thresholds\n    that appl",
        "inputSchema": {
          "bytes": 69,
          "published": "HASH_ONLY",
          "sha256": "4722ab769308422befa27071b38ec51b93461bf92da5544d33ee6cc05e933862"
        },
        "name": "contribute_stats",
        "title": null
      },
      {
        "annotations": {},
        "description": "Your OWN per-item submission outcomes (forward your enabled gai_ key as X-API-Key). Each item:\n    id, kind, name, outcome (pending_review / accepted / rejected), the judge's reason verbatim in\n    review_note (a pending item reads 'awaiting the judge (nightly, 21:15 UTC)'; a HELD item carries\n    t",
        "inputSchema": {
          "bytes": 187,
          "published": "HASH_ONLY",
          "sha256": "3b7c82a059909a95be76b628909d5cb70f16a39d00582cb4c68dba58d404817d"
        },
        "name": "contribute_submissions",
        "title": null
      },
      {
        "annotations": {},
        "description": "One resource deposit's record by numeric id (relays GET /api/v1/deposits/{id}), including its\n    `commodities[]` ({name, role: primary|byproduct, group} \u2014 the commodity graph, with `resource_type`\n    as the primary label) and operators. Pair with `deposits(commodity=...)`: search by commodity,\n   ",
        "inputSchema": {
          "bytes": 113,
          "published": "HASH_ONLY",
          "sha256": "f2cc1775de2102f4e033a074ab2a34c99ed8f04c057e91055b088ea7cbb59b90"
        },
        "name": "deposit",
        "title": null
      },
      {
        "annotations": {},
        "description": "YOUR OWN USDC-on-Base deposit state (relays GET /api/v1/wallet/deposit-status; own wallet only,\n    derived from your credential, never a parameter). States: credited (joules in your wallet) \u00b7\n    held_below_min (under `minimum_usdc` \u2014 held and accumulated, credits as one entry once your total\n    r",
        "inputSchema": {
          "bytes": 67,
          "published": "HASH_ONLY",
          "sha256": "65742c16657327c354603cd7543924301da407f01c921ca9cbce2988b8445281"
        },
        "name": "deposit_status",
        "title": null
      },
      {
        "annotations": {},
        "description": "Search resource deposits (relays GET /api/v1/deposits). Filters: `commodity`, `resource_type`,\n    `country`, `status`, `owner_country`, `max_port_km`, `search` (name substring), `limit` (<=100),\n    `offset`.\n    \u26a0 READ THIS BEFORE USING `commodity`: it filters by the commodity GRAPH, not by the de",
        "inputSchema": {
          "bytes": 828,
          "published": "HASH_ONLY",
          "sha256": "d794eb2a4e801c653a0983c06629b65a3a549b38d5e91d355834c8e744e9637f"
        },
        "name": "deposits",
        "title": null
      },
      {
        "annotations": {},
        "description": "change(site, t0, t1) \u2014 the STRUCTURED CHANGE between two dated frames of one site (entity_type + id, or lat + lng): per class\n    (water \u00b7 ice \u00b7 canopy \u00b7 pad \u00b7 stockpile \u00b7 unknown) the area in m\u00b2, by_sensor_m2 {optical, radar}, `said` (what each instrument saw:\n    an area, \"saw no change\", \"makes n",
        "inputSchema": {
          "bytes": 762,
          "published": "HASH_ONLY",
          "sha256": "4306a71b19f94cf7fd9f347429ee544113bf506919d0811c5bdce7f3eaf24b56"
        },
        "name": "entity_change",
        "title": null
      },
      {
        "annotations": {},
        "description": "history(entity) \u2014 the CHEAP INDEX of one entity's dates (the place across time). `entity_type` deposit|infrastructure|company|\n    project + `id`. Returns: `frames` \u2014 the imagery index over its coordinates (scene dates, cloud cover, scene ids, counts by year; NO\n    images \u2014 fetch stills with `look_",
        "inputSchema": {
          "bytes": 188,
          "published": "HASH_ONLY",
          "sha256": "05b3404c82cba14ed7d353f6e3cb3f4ff6da3034b33cb8f758f0a4e7c667f81e"
        },
        "name": "entity_history",
        "title": null
      },
      {
        "annotations": {},
        "description": "state(entity, as_of) \u2014 ONE packet for one entity at a date (YYYY-MM-DD, default today): `target` (the entity as WE held it at\n    as_of \u2014 before record time began, as held now, labelled), `pins` (look_from's frame, only pins we held by as_of; later additions\n    counted), `graph` (its 1-hop relation",
        "inputSchema": {
          "bytes": 401,
          "published": "HASH_ONLY",
          "sha256": "b518f650a1eeb0e1df9e6fcb4b2a4c2629954c8783ff3f698fbf2ecd57dcdb1c"
        },
        "name": "entity_state",
        "title": null
      },
      {
        "annotations": {},
        "description": "The in-band funding step for a joule shortfall \u2014 NEVER a website to visit (operator lock). USDC on\n    Base is the live agent-fundable rail: deposit USDC to your own Base address (derived from your\n    credential), at or above the live minimum (`minimum_usdc`, read per call from deposit-status), cre",
        "inputSchema": {
          "bytes": 124,
          "published": "HASH_ONLY",
          "sha256": "344244d36c1214e9de470fcfeba29575e4151f8c8cac88830bdd075a55588057"
        },
        "name": "funding_prepare",
        "title": null
      },
      {
        "annotations": {},
        "description": "DEPRECATED alias for `relationships` \u2014 kept working, to be removed at a future major. Use\n    `relationships`. Reason (operator ruling 2026-09-14): `hops` names the tool after the BILLING UNIT\n    (traversal depth is what we meter, and `billing_quote` takes hops= for that reason), but the\n    capabi",
        "inputSchema": {
          "bytes": 604,
          "published": "HASH_ONLY",
          "sha256": "08d22ca4016e8c563ceb500d420ead65ae717c5358bd5f0d21e7dda050b6cef3"
        },
        "name": "hops",
        "title": null
      },
      {
        "annotations": {},
        "description": "Your own wallet balance \u2014 a FREE read either way (checking costs nothing). A GreenlandAI AGENT key\n    (`gai_`/`gqa_`) reads its OWN wallet via GAI /api/v1/agent/me/balance \u2014 NO wallet_id needed; returns\n    {agent_id, agent_name, wallet_id, balance_joules, balance}. A JoulePAI (`jlp_`) or ENYAL (`e",
        "inputSchema": {
          "bytes": 131,
          "published": "HASH_ONLY",
          "sha256": "6c39c3849a3071329b1066e379d797dc629565da66e310a2fabedabea6c54c00"
        },
        "name": "joules_balance",
        "title": null
      },
      {
        "annotations": {},
        "description": "Given a planned `cost`, read a balance and return {needed, have, shortfall, tool_to_call_next} so an\n    agent can decide in-band whether it can afford the next call \u2014 no website, no guessing, FREE. A\n    GreenlandAI AGENT key (`gai_`/`gqa_`) reads its OWN balance via GAI /api/v1/agent/me/balance (n",
        "inputSchema": {
          "bytes": 192,
          "published": "HASH_ONLY",
          "sha256": "5b766ec8e73cf1659107a567d175f6c182b96802ccc78f53b9b9d046212beb01"
        },
        "name": "joules_deficit",
        "title": null
      },
      {
        "annotations": {},
        "description": "Recent public ledger anchors with their on-chain transaction ids and the exact credit supply at\n    each anchor \u2014 public, no auth. Independently checkable.",
        "inputSchema": {
          "bytes": 66,
          "published": "HASH_ONLY",
          "sha256": "b5cc3ecda519bd25176ff9827c27704085335ca7e363a2277a3cc3416b44bad8"
        },
        "name": "ledger_verify",
        "title": null
      },
      {
        "annotations": {},
        "description": "Satellite still of a place \u2014 a Sentinel-2 ARCHIVE image (the screen as a picture). Pose = lat/lng OR\n    entity_type+id (anchor); same pose family as `look_from`. Optional `as_of` (YYYY-MM-DD \u2014 the newest\n    scene on/before that date) and `max_cloud` (0-100, default 20). AGENT KEYS ONLY (a browser ",
        "inputSchema": {
          "bytes": 547,
          "published": "HASH_ONLY",
          "sha256": "0edad43f2085ddf5804272873f9dac4c1132ec8a8a144a20bcf1b0a4c843cd1a"
        },
        "name": "look_at",
        "title": null
      },
      {
        "annotations": {},
        "description": "Map lane: pins near a point (lat/lng + radius_km). `entity_type` (deposit | infrastructure | company\n    | project) behaves two ways (backend, 2026-09-14): `entity_type` ALONE (with lat/lng) FILTERS the frame\n    to that type only; `entity_type` + `id` ANCHORS the pose at that entity and keeps ALL t",
        "inputSchema": {
          "bytes": 623,
          "published": "HASH_ONLY",
          "sha256": "ef0dcb47d0e20b1cd00cba5509029260b734c61e0f96e849da2809fa3e65096f"
        },
        "name": "look_from",
        "title": null
      },
      {
        "annotations": {},
        "description": "The image stack \u2014 an ORDERED STACK of dated Sentinel-2 ARCHIVE stills of ONE site across a date range (the place across\n    time). Pose = lat/lng OR entity_type+id (anchor), the same pose rule as `look_at`. `t0` (YYYY-MM-DD, on or after 2015-06-23)\n    and optional `t1` (default today) bound the ran",
        "inputSchema": {
          "bytes": 665,
          "published": "HASH_ONLY",
          "sha256": "10a8cf448f3390cb2c6671091c1449c2da5207463b0efa84f53e2a6b57a5c4dd"
        },
        "name": "look_through",
        "title": null
      },
      {
        "annotations": {},
        "description": "Map lane: everything inside a bounding box \u2014 THE SCREEN (relays GET /api/v1/map.viewport). Typed\n    params: min_lat/min_lng/max_lat/max_lng (the bbox \u2014 all four together), entity_type\n    (deposit | infrastructure | company | project \u2014 default all four), energy (default False; omits energy\n    flee",
        "inputSchema": {
          "bytes": 677,
          "published": "HASH_ONLY",
          "sha256": "8825647299426a2701aa197c58ddd17d9e16753ed1d612ade5d94987185493d2"
        },
        "name": "map_viewport",
        "title": null
      },
      {
        "annotations": {},
        "description": "CLOSED \u2014 do NOT call. `/api/v1/mapdata` (the bulk map-layers surface) is TEMPORARILY closed to ALL\n    callers, agent AND human: the backend returns 403 BEFORE the meter, so NOTHING is charged (GR-109\n    operator ruling 2026-09-08, gated on AGENT_MAPDATA_ENABLED / HUMAN_MAPDATA_ENABLED \u2014 both defau",
        "inputSchema": {
          "bytes": 224,
          "published": "HASH_ONLY",
          "sha256": "2f8261297c9fba05c64b99a0482e3657128306fe0df957dd5440cd1eef07fe69"
        },
        "name": "mapdata",
        "title": null
      },
      {
        "annotations": {},
        "description": "Accept a delivery on a match (POST /match/{id}/accept) \u2014 releases escrow to the provider. You\n    must be the buyer party; backend enforces it.",
        "inputSchema": {
          "bytes": 242,
          "published": "HASH_ONLY",
          "sha256": "70768508344bfc8560287bdb4be0e56de92e0b2bf6603e157eabef59aa524620"
        },
        "name": "market_accept",
        "title": null
      },
      {
        "annotations": {},
        "description": "Browse the RAREEAI marketplace: kind=\"providers\" (listings) or \"oracles\". Typed query params for\n    the providers browse (GET /providers): frontier, resource_type, oracle_verified, active (default\n    True), limit (<=200, default 50), offset, sort (default \"price_asc\"). Needs a bearer; no write sco",
        "inputSchema": {
          "bytes": 578,
          "published": "HASH_ONLY",
          "sha256": "2fc66733255fe6e02b9934494f6b3694dddde2efd262ddd01f1d7c9ff4e3a99f"
        },
        "name": "market_listings",
        "title": null
      },
      {
        "annotations": {},
        "description": "Read one marketplace match by id, including its `escrow_terms` and this trade's typed fee/timeout\n    fields. You must be a party to the match. Bearer required. `dispute_window_end` is populated on\n    oracle-path trades (a real timestamp, not null) \u2014 it is the deadline to open a dispute after\n    d",
        "inputSchema": {
          "bytes": 136,
          "published": "HASH_ONLY",
          "sha256": "ec838e1595b80360f0531e9539e905be625ce1df37b5438920e3f9f2bf998c2b"
        },
        "name": "market_match",
        "title": null
      },
      {
        "annotations": {},
        "description": "Create/update a marketplace listing (POST /provide). Requires marketplace:write (verified\n    account) \u2014 an unverified/under-scoped token gets the backend's real 403. First-time provider\n    registration charges a 1,000-joule fee that is SPENT (not a refundable stake \u2014 contrast an oracle\n    stake, ",
        "inputSchema": {
          "bytes": 1830,
          "published": "HASH_ONLY",
          "sha256": "6ac138c0184379a3405497589bb371743bf96f0885cb67f1161eb92e8ed09834"
        },
        "name": "market_provide",
        "title": null
      },
      {
        "annotations": {},
        "description": "Read one marketplace REQUEST by id (GET /request/{id}; you must own it). Returns the request as the\n    route actually declares it: id, wallet_id, agent_id, frontier, resource_type, unit_type, speed,\n    privacy_mode, contract_escrow, units_needed, max_price_per_unit, priority, requirements, status,",
        "inputSchema": {
          "bytes": 142,
          "published": "HASH_ONLY",
          "sha256": "ff7c80ae641d9756bb2600f46e6695560d757ed8a5d6494c9352f0e1c8637173"
        },
        "name": "market_quote",
        "title": null
      },
      {
        "annotations": {},
        "description": "Post a marketplace BUY request (POST /request) \u2014 you want to buy a resource; providers match against\n    it and your escrow is debited on match. Bearer + a verified account (marketplace:write); an\n    under-scoped token gets the backend's real 403. Body (TYPED \u2014 extra fields refused here):\n    {wall",
        "inputSchema": {
          "bytes": 3226,
          "published": "HASH_ONLY",
          "sha256": "b2eca9f64ea9ded98e42bc094d924cdabdd2e0f3a392bc30120afdcb0034caa2"
        },
        "name": "market_request",
        "title": null
      },
      {
        "annotations": {},
        "description": "Entities near a location (the primitive `look_from` builds on). Typed query params (GET /nearby):\n    lat + lng (required), radius_km (default 100), entity_type (optional filter), limit (<=100, default\n    20), include_country_centroids (default False). Metered \u2014 debited from the CALLING agent's own",
        "inputSchema": {
          "bytes": 447,
          "published": "HASH_ONLY",
          "sha256": "027ebb1eb1e0f82ddc8678dfa72dae0c78d38f60fcfc9a2e7958b07037157af3"
        },
        "name": "nearby",
        "title": null
      },
      {
        "annotations": {},
        "description": "Post your verdict on a delivery you were assigned (POST /oracle/assess/{match_id}). Body:\n    {verdict ('valid' or 'invalid'), quality_score (an integer 0-100), notes (<= 2000 chars), and\n    optionally execution_trace (a dict describing how you verified)}. A quality_score below 40\n    auto-opens a ",
        "inputSchema": {
          "bytes": 737,
          "published": "HASH_ONLY",
          "sha256": "df1a7201c135bd38da8d91f68537bdb9538a84a371dce8d07b5d1f74efe47531"
        },
        "name": "oracle_assess",
        "title": null
      },
      {
        "annotations": {},
        "description": "List YOUR oracle assignments \u2014 the deliveries you have been assigned to assess (GET\n    /oracle/assignments). The backend scopes this to your own wallet; you never see another oracle's\n    queue. Optional query: status (filter) and limit (1-200, default 50). Each assignment carries\n    match_id, dea",
        "inputSchema": {
          "bytes": 185,
          "published": "HASH_ONLY",
          "sha256": "ec440fae6f8a62baf0c020f06905bdfaf4759b8f352d0c4bb594e917313004d4"
        },
        "name": "oracle_assignments",
        "title": null
      },
      {
        "annotations": {},
        "description": "Deregister as an oracle and unstake (POST /oracle/deregister?wallet_id=...). Returns your\n    staked joules from escrow (less any amount already slashed for overturned calls). Fails if you\n    have pending assessments. wallet_id (the UUID of your oracle wallet) is REQUIRED and is sent as a\n    QUERY",
        "inputSchema": {
          "bytes": 144,
          "published": "HASH_ONLY",
          "sha256": "661c323084896812690964046320e546d07aae56b2a0fff399dc67d4851d9f4a"
        },
        "name": "oracle_deregister",
        "title": null
      },
      {
        "annotations": {},
        "description": "Register as a RAREEAI oracle by staking joules (POST /oracle/register). INVITE-ONLY at launch\n    (Phase 1 \u2014 the oracle pool is operator-run): a non-whitelisted wallet gets a STRUCTURED invite-only\n    response saying how to apply (a verified account, a linked wallet holding the stake, then email\n  ",
        "inputSchema": {
          "bytes": 547,
          "published": "HASH_ONLY",
          "sha256": "f0b96229df20e1157fc34844b9c4feea54b58426e3d97fd797102116ac7659ee"
        },
        "name": "oracle_register",
        "title": null
      },
      {
        "annotations": {},
        "description": "place.index \u2014 WHAT EXISTS AT A PLACE, AND WHEN. Rows within `radius_km` (default 2, max 50) of lat + lng, or of an entity's site\n    (entity_type deposit|infrastructure|company|project + id; a country-centre anchor is refused 409, not charged), newest first:\n    `still` = a satellite still a route d",
        "inputSchema": {
          "bytes": 945,
          "published": "HASH_ONLY",
          "sha256": "f77fa16064df9994eb8ccda3f4f8f0e05fac02b30fa2cdc4f121a5e31f339d86"
        },
        "name": "place_index",
        "title": null
      },
      {
        "annotations": {},
        "description": "Graph lane: labelled relationship EDGES between companies/entities (ownership, operates, supplies,\n    \u2026) \u2014 the PRODUCT (edges with tiers + provenance), named for the capability, not the meter. Typed query\n    params (GET /relationships): the answer is about ONE entity (GreenlandAI 2026-10-01). enti",
        "inputSchema": {
          "bytes": 613,
          "published": "HASH_ONLY",
          "sha256": "ce77c13a1e153b8cffbd7def58faadb8c005e017deef7c93493bc8257f760c7b"
        },
        "name": "relationships",
        "title": null
      },
      {
        "annotations": {},
        "description": "A dated, georeferenced, textured 3D MODEL of a site (entity_type + id, or lat + lng) and its MEASUREMENTS as structured data.\n    `measurements` (computed on the elevation source's own grid, every block with `source` and `accuracy`): site_extent (side, area,\n    bbox, CRS); elevation (min, max, mean",
        "inputSchema": {
          "bytes": 660,
          "published": "HASH_ONLY",
          "sha256": "9d024f43328fb4a2bd0818b6b818a48604a0303bd0f5e772254b4fcbcd6aad7c"
        },
        "name": "site_reconstruction",
        "title": null
      },
      {
        "annotations": {},
        "description": "YOUR OWN trade's settlement \u2014 every leg of a marketplace trade you were the BUYER or SELLER of\n    (relays GET /api/v1/wallet/trade/{match_id}/settlement). Party-gated on the backend: a 404 means you\n    were not a party to this match (it also hides whether the match exists at all \u2014 never a wallet i",
        "inputSchema": {
          "bytes": 140,
          "published": "HASH_ONLY",
          "sha256": "f82a56841f86cb6c01746d4b04230097d2b094b48b3afb7240cf7690d14b852d"
        },
        "name": "trade_settlement",
        "title": null
      },
      {
        "annotations": {},
        "description": "The latest hourly PUBLIC transparency attestation (GET /transparency/latest \u2014 no auth): a Merkle\n    root over every wallet balance, the verified total supply, a transaction attestation, the state root,\n    and the Bridge Ledger root, plus the BSV transaction that anchors the batch. ANCHORING IS BAT",
        "inputSchema": {
          "bytes": 72,
          "published": "HASH_ONLY",
          "sha256": "606ccd2f545b0faaa63039c167d93bee5977053d51c6ec225a777a4480c32cad"
        },
        "name": "transparency_latest",
        "title": null
      },
      {
        "annotations": {},
        "description": "Look up one identifier (chunk_id, proof_id, match_id, transfer id, or a BSV txid) in ENYAL's\n    public verify lookup \u2014 no auth. The backend's body is returned UNCHANGED; read these fields, in this\n    order, and claim nothing stronger than they say:\n    - `found:true` = at least one of our systems ",
        "inputSchema": {
          "bytes": 142,
          "published": "HASH_ONLY",
          "sha256": "38b46bfc57d723313b1bd8604f3641625b08a21c8d090513b83ff818763042fc"
        },
        "name": "verify_proof",
        "title": null
      },
      {
        "annotations": {},
        "description": "Direct wallet-to-wallet transfer (POST /wallet/transfer). Requires wallet:transfer scope. WHO CAN\n    SEND (the backend as it runs, 2026-09-03): a verified human wallet to any wallet; an AGENT-class\n    wallet (agent_customer / agent_citizen) ONLY to a REGISTERED destination \u2014 either a pending servi",
        "inputSchema": {
          "bytes": 1358,
          "published": "HASH_ONLY",
          "sha256": "22cbc1a6762374eb4770ad016a445dc276ceeec4c3b9c141f98039565f48d7fc"
        },
        "name": "wallet_transfer",
        "title": null
      }
    ],
    "version": "0.5.17"
  },
  "status_history": [
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "observed_at_utc": "2026-10-17T07:22:51Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "observed_at_utc": "2026-10-16T06:50:58Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "observed_at_utc": "2026-10-15T06:14:15Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "observed_at_utc": "2026-10-14T05:32:34Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "observed_at_utc": "2026-10-13T04:53:57Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "202de87d43cb17186ece312e2beff9c8fd321a1ca14d4b2949fe5d85cfd4d3af",
      "observed_at_utc": "2026-10-12T03:27:50Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "2b6a605a40677d247c8cedfa8311177baeb7199769b46f478767246a44fc7f1f",
      "observed_at_utc": "2026-10-11T02:44:17Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "a1451363c49b0198cf649e89a621b2a263c9dc3ff19e40763a9ae2beffdb2c72",
      "observed_at_utc": "2026-10-10T02:08:45Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "a1451363c49b0198cf649e89a621b2a263c9dc3ff19e40763a9ae2beffdb2c72",
      "observed_at_utc": "2026-10-09T01:38:52Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "a1451363c49b0198cf649e89a621b2a263c9dc3ff19e40763a9ae2beffdb2c72",
      "observed_at_utc": "2026-10-08T00:57:06Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "a1451363c49b0198cf649e89a621b2a263c9dc3ff19e40763a9ae2beffdb2c72",
      "observed_at_utc": "2026-10-07T00:17:54Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "a1451363c49b0198cf649e89a621b2a263c9dc3ff19e40763a9ae2beffdb2c72",
      "observed_at_utc": "2026-10-05T23:41:03Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "dd71b5009fcbaf792c4544e4f5e56b9697892895884d9ce4721ce772a6e440e3",
      "observed_at_utc": "2026-10-04T22:58:18Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "37c5b6584754cdf551ed358c0eab1365abfec60f9ef89b02a68e36c61cb286aa",
      "observed_at_utc": "2026-10-03T22:17:55Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "5b27976fa487408f7654a10dffffbb585bb8920be118cb46905a2724339d4f02",
      "observed_at_utc": "2026-10-02T21:34:16Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "5b27976fa487408f7654a10dffffbb585bb8920be118cb46905a2724339d4f02",
      "observed_at_utc": "2026-10-01T21:02:45Z",
      "protocol_version": "2025-11-25"
    },
    {
      "manifest_partial": false,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "4139dbc9e942f0863a4ad58aafacad488f1fc051a221e9cb3668b5a9aa2ad3dc",
      "observed_at_utc": "2026-09-30T05:28:07Z",
      "protocol_version": "2025-06-18"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "4139dbc9e942f0863a4ad58aafacad488f1fc051a221e9cb3668b5a9aa2ad3dc",
      "observed_at_utc": "2026-09-29T03:27:41Z",
      "protocol_version": "2025-06-18"
    }
  ],
  "target": {
    "corrections_route": "https://www.gaipagents.com/v1/free/observatory/corrections",
    "first_seen_at_utc": "2026-09-29T00:40:32Z",
    "kind": "MCP_REMOTE",
    "last_observed_at_utc": "2026-10-17T07:22:51Z",
    "locator": "https://mcp.greenlandai.ai/mcp",
    "name": "ai.greenlandai/greenlandai",
    "source": "official-mcp-registry",
    "target_id": "obs_63660a1fb93184df0c58dbae"
  }
}