{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fa5srhkw77s9","handle":"mcp-perception","url":"https://wellknown.network/agents/mcp-perception","links":{"self":"https://wellknown.network/agents/mcp-perception/record.json","html":"https://wellknown.network/agents/mcp-perception","markdown":"https://wellknown.network/agents/mcp-perception/record.md","api":"https://wellknown.network/api/v1/agents/mcp-perception","status":"https://wellknown.network/api/v1/agents/mcp-perception/status","claim":"https://wellknown.network/agents/mcp-perception/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mcp-perception/claim.json","badge":"https://wellknown.network/agents/mcp-perception/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mcp-perception/history","tools":"https://wellknown.network/api/v1/agents/mcp-perception/tools"},"ard":{"identifier":"urn:air:packagesmcp-perception-production.up.railway.app:server:mcp-perception","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-perception","summary":"Geospatial AI MCP server — satellite imagery, embeddings, weather, GNS governance","description":"Geospatial AI MCP server — satellite imagery, embeddings, weather, GNS governance","publisher":{"name":"com.geiant","url":null},"homepage":null,"repository":"https://github.com/GNS-Foundation/geiant","version":"0.3.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://packagesmcp-perception-production.up.railway.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-04-11T10:41:15.387352Z","publishedAt":"2026-04-11T10:41:15.387352Z","registryName":"com.geiant/mcp-perception"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.vector-search","name":"Vector Search","confidence":0.99,"provenance":"derived"},{"slug":"data.weather","name":"Weather","confidence":0.911,"provenance":"derived"},{"slug":"automation.orchestration","name":"Agent Orchestration","confidence":0.554,"provenance":"derived"}],"categories":["automation","data"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 10m ago.","lastOkAt":"2026-10-10T14:25:57.096Z","lastProbedAt":"2026-10-10T14:25:57.096Z","statusComputedAt":"2026-10-10T14:27:22.163Z","reliability30d":{"probes":60,"successRate":1,"p50Ms":104,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":60,"ok":60,"authBoundaryOk":0,"serviceOk":60,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T14:25:57.096Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":102,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T07:23:37.889Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":117,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T00:28:56.764Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":104,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:27:22.119Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":103,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T12:30:00.247Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":120,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T06:22:39.589Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":100,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:24:19.286Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":109,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:28:05.669Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":101,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:24:05.024Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":108,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:26:06.387Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":106,"error":null,"detail":{"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"toolCount":8,"toolsHash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","serverName":"geiant-perception","capabilities":["tools","resources"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"perception_fetch_tile","description":"Fetch the least-cloudy Sentinel-2 L2A tile covering a given H3 cell from Microsoft Planetary Computer. Returns signed COG band URLs for all 6 Prithvi/Clay spect"},{"name":"perception_classify","description":"Run Prithvi-EO-2.0-300M-TL-Sen1Floods11 flood classification on a Sentinel-2 tile previously fetched by perception_fetch_tile. Sends the 6-band chip to a RunPod"},{"name":"perception_embed","description":"[Sub-phase 4.2 — NOT YET IMPLEMENTED] Will generate Clay v1.5 embeddings."},{"name":"perception_weather","description":"Query atmospheric conditions for an H3 cell at a given timestamp from Open-Meteo ERA5. Returns wind, precipitation, temperature. Writes to Spatial Memory and dr"},{"name":"gns_get_trust_score","description":"Get the current TierGate trust tier and score for an agent. Tiers: provisioned (0%) → observed (25%) → trusted (60%) → certified (85%) → sovereign (99%). Omit a"},{"name":"gns_verify_chain","description":"Verify the cryptographic integrity of an agent's breadcrumb chain. Returns { is_valid, block_count, issues[] } plus epoch Merkle roots. A valid chain proves no "},{"name":"gns_roll_epoch","description":"Roll all pending breadcrumbs into a new sealed epoch with a Merkle root. Returns { epoch_index, merkle_root, block_count, epoch_hash }. Call this at the end of "},{"name":"gns_get_compliance_report","description":"Returns a full EU AI Act compliance report for a GNS agent, including trust score, chain verification, Merkle epoch proofs, delegation certificate, and regulato"}],"package":null,"toolSurface":{"id":"ts_4dmb5wn22qu5","endpointId":"ep_ht8jjfsyyxj4","hash":"564885ecab1b616e1f71260a65c58779a13c722191807cff6a606e813a7c1006","toolCount":8,"serverName":"geiant-perception","serverVersion":"0.3.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T14:25:30.951Z","lastSeenAt":"2026-10-10T14:25:57.082Z","observations":103,"toolNames":["perception_fetch_tile","perception_classify","perception_embed","perception_weather","gns_get_trust_score","gns_verify_chain","gns_roll_epoch","gns_get_compliance_report"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_ht8jjfsyyxj4","url":"https://packagesmcp-perception-production.up.railway.app/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T07:23:37.891Z","auth":{"observedAt":"2026-10-10T07:23:37.989Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T07:23:38.027Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.up.railway.app","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-27T03:01:43.000Z","validTo":"2026-12-26T03:01:42.000Z","daysToExpiry":76,"sanCount":2,"fingerprint256":"FB:37:0C:A2:68:42:DA:2B:2F:F8:E3:18:2E:0E:8C:FC:6F:B8:EA:C3:2C:DB:57:18:F4:5A:4B:39:B9:E1:40:AF"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.geiant/mcp-perception","url":"https://registry.modelcontextprotocol.io/v0/servers/com.geiant%2Fmcp-perception","firstSeenAt":"2026-09-05T18:20:05.855Z","fetchedAt":"2026-10-09T06:18:01.841Z","normalizedAt":"2026-10-09T06:18:01.841Z"}]},"firstSeenAt":"2026-09-05T18:20:05.855Z","updatedAt":"2026-10-10T14:28:11.158Z"}