MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

GreenlandAI

The physical world as queryable data: companies, deposits, infrastructure, projects and commodities.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
289 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
50

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 289 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name GreenlandAI.

  • Pass
    Lists tools

    tools/list returned 50 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 289 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 289 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    159 of 159 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-31T13:05:32.384075Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using GreenlandAI

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http greenlandai https://mcp.greenlandai.ai/mcp

Capabilities

Tools 50

balance_proof

Inclusion proof for YOUR wallet balance in the latest hourly transparency attestation: leaf hash, Merkle path, root, the anchoring BSV txid ("pending" until the batch is broadcast) and how to verify it. No arguments: the wallet is the one your credential owns.

Discovered
billing_attempts

YOUR OWN charge record, attempt by attempt (your own wallet, from your credential): each attempt's status (pending, completed, settled_zero, failed, refunded …), reserved vs settled joules, and the attempt_id to match a call's `metering.attempt_id`. Paged with limit and offset.

Discovered
billing_quote

The exact price of a metered call for YOU, before you make it — free. `path` = the API path the tool hits (e.g. /api/v1/relationships, with hops). Fund `joules_all_in`, the true debit. The quote says when it is a maximum and when an empty answer is free.

Discovered
bridge_proof

Inclusion proofs for YOUR Bridge Ledger rows (contribution and fee events): per-row leaf hash, Merkle path, bridge_root and the anchoring BSV txid ("pending" until the hourly batch is broadcast). No arguments: scoped to your credential.

Discovered
company

One company's record by id: the company, the deposits and infrastructure it operates, its relationships with tier and provenance, and `merged` when the id moved. Have only a name? Call `company_search` first. An unknown id is a 404. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
company_profile

company + relationships + entity_history for one company in ONE call, billed exactly as the three would be, with one charged_joules total. Lean by default; include_raw for everything. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
company_search

Find companies by name, sector or country, to get the id that `company`, `relationships` and the entity tools take. Returns {count, total, companies[{id, name, sector, country, …}]}, one page by limit and offset. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
contribute_receipts

Your OWN append-only contribution receipts, each with its canonical claim hash (claim_sha256), so you can check the door holds what you sent. Send your enabled gai_ key as X-API-Key. Paged.

Discovered
contribute_relations

Submit evidenced graph relationships to the contributor door (TEN programme). Each relation needs subject, relation, object, a real source_url and a verbatim quote from it. Nothing is written on submit: admitted claims queue for the nightly judge. Send your enabled gai_ key as X-API-Key.

Discovered
contribute_stats

Your OWN contributor standing: submitted, accepted and rejected totals, acceptance rate, pending review and standing (good, warning, suspended, revoked). Send your enabled gai_ key as X-API-Key.

Discovered
contribute_submissions

Your OWN per-item submission outcomes: pending_review, accepted or rejected, with the judge's reason verbatim and what was promoted. Send your enabled gai_ key as X-API-Key. Paged.

Discovered
deposit

One resource deposit by id: its record, `commodities[]` ({name, role, group}) and operators. Pair with `deposits(commodity=…)` to find ids. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
deposit_brief

deposit + relationships + entity_history for one deposit in ONE call, billed exactly as the three would be, with one charged_joules total. Lean by default; include_raw for everything. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
deposits

Search resource deposits by commodity, resource_type, country, status, owner_country, max_port_km or name. `commodity` matches through the commodity graph (a group match counts; `commodity_filter` says which). Returns {count, total, deposits[]}, paged. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
entity_change

The structured change at one site between two dates (t0, t1): per class (water, ice, canopy, pad, stockpile) the area changed, what optical and radar each saw, and a confidence. Read `height_class` first: only repeat_surface supports a volume change. Slow (about 15–60 s): start=true answers at once with a job_id for job_status. Agent keys only. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
entity_history

The cheap index of one entity's dates: imagery scene dates (no images), our record's versions since record time began, and a short newest-first `what_changed` list, each item marked world time or our time. Agent keys. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
entity_state

One packet for one entity at a date (as_of): the entity as we held it then, the pins held by then, its relationships valid then, and the satellite still for that date. Charged for the parts delivered. Agent keys only. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
funding_prepare

The in-band funding step for a joule shortfall: your own USDC-on-Base deposit address and the live minimum, read from the running system. It moves no money; track the deposit with `funding_status`.

Discovered
funding_status

YOUR OWN USDC-on-Base deposit state: credited, or held (below the minimum, above the maximum, or waiting for platform funding) — nothing is lost while held. From your credential, no arguments.

Discovered
job_status

An entity_change job started with start=true: running, done (with the answer and how its reservation settled) or failed (released). Free. Only the paying wallet can read it.

Discovered
joules_balance

Your own wallet balance, free. A GreenlandAI agent key (gai_/gqa_) reads its own wallet with no arguments; a JoulePAI or ENYAL credential passes `wallet_id`. The graph meter debits this same wallet.

Discovered
joules_deficit

Can you afford the next call? Give a planned `cost`; returns {needed, have, shortfall, tool_to_call_next}. Free. Agent keys read their own wallet; a JoulePAI or ENYAL credential may pass `wallet_id`.

Discovered
ledger_verify

Recent public ledger anchors with their on-chain transaction ids and the exact credit supply at each anchor — public, no auth. Independently checkable.

Discovered
look_at

A satellite still of a place: the newest Sentinel-2 archive image on or before `as_of`, by lat/lng or entity_type + id. Returns the JPEG plus provenance (`observed_at` is the scene's date). A cloudy or missing scene is `available:false` and costs nothing. Agent keys only. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
look_from

Map pins near a point (lat/lng + radius_km). `entity_type` alone filters to that type; with `id` it anchors the view at that entity. Each pin carries its `source_tier` provenance. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
look_through

An ordered stack of dated Sentinel-2 stills of one site from t0 to t1, one per window (max_frames, default 6), each with its own scene date. A window with no clear scene is an explicit empty frame, not charged. Agent keys only. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
map_viewport

Everything inside a bounding box (min_lat, min_lng, max_lat, max_lng): the true count per type for the whole box plus a capped sample of pins. Agent keys only. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
market_accept

Accept a delivery on a match (POST /match/{id}/accept) — releases escrow to the provider. You must be the buyer party; the backend enforces it.

Discovered
market_listings

Browse the RAREEAI marketplace: kind="providers" (listings, filterable and sorted) or "oracles". Paged.

Discovered
market_match

Read one marketplace match you are a party to: its escrow_terms, fee and timeout fields, dispute window and dispute state. For the settlement legs use `trade_settlement`.

Discovered
market_provide

Create or update a marketplace listing (verified account, marketplace:write). Typed body: wallet_id, frontier, resource_type, unit_type, price_joules_per_unit and optional capacity, limits, SLA and oracle opt-in. A first-time registration carries a one-time fee.

Discovered
market_quote

Read one marketplace REQUEST you own, by id: its terms, status and units matched, plus the generic `escrow_terms`. A trade's own fee and deadlines are on the match — read them with `market_match`.

Discovered
market_request

Post a marketplace BUY request (verified account, marketplace:write): wallet_id, frontier, resource_type, unit_type, units_needed, max_price_per_unit and options. Escrow is debited on match. A physical trade must carry `physical_claim` (the site and dates).

Discovered
market_request_rematch

Match one of YOUR open requests now. Machine speed escrows each match from your wallet at once; human speed waits for the provider's approval. A 409 when the request is no longer open.

Discovered
market_request_rematch_withdraw

Withdraw a request's automatic re-matching consent now (DELETE /api/v1/marketplace/request/{id}/rematch). Matches already escrowed stay as they are.

Discovered
nearby

Entities near a location: lat + lng, radius_km, an optional entity_type, limit. Each carries `source_tier`. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
oracle_assess

Post your verdict on a delivery you were assigned: verdict (valid or invalid), quality_score 0-100, notes, an optional execution_trace. A low score opens a dispute. A 409 means the match has moved on — do not retry; read the match.

Discovered
oracle_assignments

List YOUR oracle assignments: each delivery to assess, with its match_id, deadline, the fee earned and your verdict if already given. Optional status filter and limit.

Discovered
oracle_deregister

Deregister as an oracle and get your stake back from escrow (less anything slashed). `wallet_id` is required. Fails while you have pending assessments.

Discovered
oracle_register

Register as a RAREEAI oracle by staking joules (invite-only at launch; a wallet not yet invited is told how to apply). Body: wallet_id, specialisations (1–7 from a fixed list) and stake_amount. The stake is returned when you deregister.

Discovered
place_index

What exists at a place, and when: dated stills, source quotes and measurements within radius_km of lat/lng or of an entity's site, newest first. Each row carries valid_on (world time) and recorded_at (our time). Filter by dates and kinds; paged. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
receipts_me

Receipts for your key: whether THIS key is opted in to a receipt with each paid graph answer, and how its owner turns them on. Free.

Discovered
relationships

Labelled relationship edges (owns, operates, supplies …) around ONE entity, with tier and provenance: start from entity_type + entity_id (or a name in `entity`), walk `hops` deep, filter by relation_type. `as_of` answers for a past date. An ambiguous name fails uncharged and lists the candidates. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
signals

The live signal cards: compiled, provenance-carrying observations (lead_lag, network, signature) with severity and the entities they name. Cards appear only while their type is armed; an answer with no cards costs nothing. Observations, not advice. Agent keys only. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
site_reconstruction

A dated, georeferenced 3D model of a site (entity_type + id, or lat + lng) with measurements: extent, elevation, slope, pits and heaps with volumes. The tier (lidar_2m or dem_30m) is decided before any charge. Slow (about 15–60 s). Agent keys only. Metered: see CHARGING in the server instructions; quote first with `billing_quote`.

Discovered
tool_guide

The full guide for one tool, free and not metered: its complete description (edge cases, every rule, examples), every parameter's full description and the fields it returns. Each tool's listed description is its short contract; read this when you need the rest.

Discovered
trade_settlement

YOUR OWN trade's settlement, as buyer or seller: every leg (payout, fees, refunds) with its role, amount, ledger status and on-chain anchor state, plus the escrow contract's legs when there is one. A 404 means you were not a party.

Discovered
transparency_latest

The latest hourly public transparency attestation: a Merkle root over every wallet balance, the verified total supply and the Bridge Ledger root, with the anchoring BSV txid ("pending" until broadcast; `last_anchored` names the newest anchored one). No auth.

Discovered
verify_proof

Look up one identifier (a chunk, proof, match or transfer id, or a BSV txid) in ENYAL's public verify lookup; its verdict fields come back unchanged. Only `chain_confirmed:true` is a verified anchor; `degraded:true` means inconclusive, not absent. No auth.

Discovered
wallet_transfer

A direct wallet-to-wallet transfer (wallet:transfer scope). An agent wallet may send only to a registered destination; limits are live config, not constants. Typed body: from_wallet_id, to_wallet_id or to_handle, amount and options. A transfer fee is charged to the sender. privacy_mode: only 'transparent' (or omit it) — the other modes are temporarily unavailable and refused.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected289 ms50