# Geolithic (remote · geolithicintelligence.com)

One face of the Earth, yours alone for one term, proven on a public chain. A dollar. Readings free.

- Trust score: 65/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- remote · `geolithicintelligence.com`: 65/100 (this document), [markdown](https://verifymcp.io/servers/howardzheni-geolithic/geolithicintelligence.md), [page](https://verifymcp.io/servers/howardzheni-geolithic/geolithicintelligence)

## Channel facts

- Endpoint: `https://geolithicintelligence.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 15 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 51/100
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 2166 tokens (~144/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 37/100
  - Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Geolithic MCP server?

Geolithic is a hosted endpoint at https://geolithicintelligence.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http howardzheni-geolithic 'https://geolithicintelligence.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "howardzheni-geolithic": {
      "url": "https://geolithicintelligence.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "howardzheni-geolithic": {
      "type": "http",
      "url": "https://geolithicintelligence.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.howardzheni-geolithic]
url = "https://geolithicintelligence.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "howardzheni-geolithic": {
      "type": "remote",
      "url": "https://geolithicintelligence.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add howardzheni-geolithic --url 'https://geolithicintelligence.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  howardzheni-geolithic:
    url: "https://geolithicintelligence.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "howardzheni-geolithic": {
      "Transport": "http",
      "Url": "https://geolithicintelligence.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add howardzheni-geolithic -t streamable-http -u 'https://geolithicintelligence.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "howardzheni-geolithic": {
      "type": "http",
      "url": "https://geolithicintelligence.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 65, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional improvement] Schema quality: 165 → 144

### 2026-09-19 (score 64, +1)

- [security improvement] Injection markers: unverified → pass
- [security improvement] TLS certificate: unverified → pass
- [security improvement] HSTS header: unverified → pass
- [security improvement] Transport: fail → pass
- [security] Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 15 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
- [functional improvement] Endpoint reachability: unreachable → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.33
- [functional improvement] MCP protocol: unverified → pass

### 2026-09-18 (score 63, 0)

- [security regression] Endpoint reachability: reachable → unreachable
- [security regression] Stability: 0.27 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] TLS certificate: pass → unverified
- [security regression] HSTS header: pass → unverified
- [security regression] Transport: pass → fail
- [security] Authorization: Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-09-16 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-14 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-13 (score 61, 0)

- [functional regression] Schema quality: 2226 → 2488
- [functional] New tool “witness”

### 2026-09-11 (score 61, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “hold_ground” rewrote its description, which is the text the model reads
- [security] Tool “tick” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 138 → 159
- [functional] Schema quality: good → fair
- [functional] New tool “meet”
- [functional] New tool “open_ground”
- [functional] New tool “stamp”
- [cosmetic] “tick” added an optional parameter “light”

### 2026-09-10 (score 61, −2)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “claim” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 121 → 138
- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “attest”
- [functional] New tool “hold_ground”
- [functional] New tool “quote_ground”
- [cosmetic] “claim” added an optional parameter “payment”

## MCP tools (15)

### `catalog` (~52 tokens)

What is for lease: the strata (L4–L7), their terms on the Earth
ladder, the reserve prices in degrees, how to bid and claim, and the
founding period's stated limits.

### `tick` (~133 tokens)

The newest tick of the Earth, free. By default the hash and
nothing else: the clock and the chain's links — the commitment a
stamp binds to, trusted because the atlas shows what it fingerprints
and a person can see that it is the world. With light=True, the
light: the field arrays at the given mesh level (2–5), unsworn, with
the poles' eyes and the measured magnet's zeros. The reading itself
is chained and never served; the face you hold opens with
open_ground().

Input parameters:

- `light` (boolean)
- `slice` (integer)

### `open_ground` (~244 tokens)

Your address and the contents of your facet, and nothing else:
present the lease's own fields (the receipt's addr, start,
amount_degrees, salt) and get, for the newest chained tick of your
term or the `tick` you name, the address you hold — where you exist,
where your stamps land, where another agent finds you by a meeting —
and per mapped field its numbers on this facet: the wind at 10 m and
850 hPa (the corners' readings, the charge and its change, the
Merkle opening to the tick's chained root, verifiable with hashes
alone), and more as fields are mapped (the measured magnet joins when its
observatories' terms allow); plus the tick's record, the chained census inside the facet
and the stamps on it. The whole tick is never served. `field` narrows
to wind_10m, wind_850, magnet.

Input parameters:

- `addr` (string, required)
- `amount_degrees` (string, required)
- `field` (string)
- `salt` (string, required)
- `start` (string, required)
- `tick` (string)

### `rent_roll` (~49 tokens)

The public rent roll: every strike (prices always, parties
never) with each record's chain identity, plus current occupancy.
The market data that prices the market.

Input parameters:

- `limit` (integer)

### `ground` (~51 tokens)

Where a face address stands on the earth — at the founding and
at a tick's chained frame, with the parcel's drift in km.

Input parameters:

- `addr` (string, required)
- `tick_iso` (string)

### `bid` (~138 tokens)

Bid for the NEXT term of a face-stratum (address F{base}·{digits},
level 4–7 by digit count; amount in degrees ≥ the reserve, ≤ 720,
at most 12 decimals). Pass your own salt (16–64 hex characters) and
the house never holds it; leave it empty and the house makes one.
Returns a receipt: KEEP THE SALT — it is the only credential. The
gavel strikes at the receipt's `gavel` tick; then use claim().

Input parameters:

- `addr` (string, required)
- `amount_degrees` (string, required)
- `salt` (string)

### `claim` (~164 tokens)

After the gavel: present your bid's exact fields and salt. The
winner receives the lease (bearer paper); a loser learns only the
clearing price. A winner is first answered 402 with two ways to pay
the clearing price: `pay.checkout_url` (a card checkout, for a
person) or `x402` (pay it yourself: sign a USDC transfer for
x402.accepts[0], build the x402 PaymentPayload, base64 it, and call
claim() again with it as `payment`). The lease issues at once.

Input parameters:

- `addr` (string, required)
- `amount_degrees` (string, required)
- `payment` (string)
- `salt` (string, required)
- `start` (string, required)

### `attest` (~139 tokens)

Attach your own sha256 to the face-term you hold: the claim and the
attach in one. The record chains beside the world's state at that
place and moment, witnessed; at most one per tick of your term; no
party is named. A due lease is paid on this same call — pass the
x402 `payment` (see claim) or pay the card checkout first.

Input parameters:

- `addr` (string, required)
- `amount_degrees` (string, required)
- `hash` (string, required)
- `label` (string)
- `payment` (string)
- `salt` (string, required)
- `start` (string, required)

### `stamp` (~150 tokens)

Stamp the moment: chain your sha256 beside the Earth's tick — the
clock's now, with the world's last witnessed state beside it — for
two cents over x402, no account. Name where, if you like: an address,
or lat and lon for the face under a place. Without `payment` the
answer is the 402 with the requirements to sign; call again with
\`payment`. Two stamps on faces in one parent at one tick are a
witnessed meeting: see meet().

Input parameters:

- `addr` (string)
- `hash` (string, required)
- `label` (string)
- `lat`
- `lon`
- `payment` (string)

### `meet` (~83 tokens)

Did two stamps meet? Pass the two stamps' chain.digest values. If
both stand on faces sharing a parent at the same tick, the answer
names the room (the deepest face both stood in) and its level — the
same place at the same time, by the chain's own arithmetic.

Input parameters:

- `a` (string, required)
- `b` (string, required)

### `witness` (~262 tokens)

Ask what the Earth was doing: the wind at a place at a moment as
the chain committed it — the nest face's three corners at 10 m and
850 hPa with their coordinates, the Merkle opening to the tick's
chained root, the chain identity of that state, and the outside
anchor that covers it. `at` is an ISO hour or tick (UTC); without it,
the newest chained tick. A moment not yet chained is refused, never
substituted (ticks chain about three hours behind the clock). Two
cents over x402: without `payment` the answer is the 402 with the
requirements; call again with `payment`. One payment opens a
face-tick for everyone after; `addr` (from an earlier answer) re-reads
one. Settle on it: two of you stamp sealed claims into one triangle at
one tick (stamp()), meet() proves you did so together, the witness
resolves it after the target tick chains, and you settle between
yourselves — the house holds nothing.

Input parameters:

- `addr` (string)
- `at` (string)
- `lat`
- `lon`
- `payment` (string)

### `quote_ground` (~121 tokens)

The plan to hold the ground under a place for a session: the face
at the level the duration asks (a tick, an hour, six hours, a day),
the next term, the reserve, the dollars if you bid alone, the
claim_url — and the exact x402 requirements to sign before the
gavel. Pass your own salt (16–64 hex) and the house never holds it.

Input parameters:

- `hours` (number)
- `lat` (number, required)
- `lon` (number, required)
- `salt` (string)

### `hold_ground` (~205 tokens)

Hold the ground you work on, in one call: quote the face under the
place for the session's length, bid, wait for the gavel (at most four
minutes), then claim and attach your sha256 — paying by x402 on the
way if you pass `payment` signed for the quote's requirements. Alone
on the face you pay the reserve (two cents for a tick or an hour
over x402; a dollar by card); contested, the 402 names the clearing
price and you pay and attest with attest(). With
wait=False it bids and returns the receipt; call attest() after
claim_after.

Input parameters:

- `amount_degrees` (string)
- `hash` (string, required)
- `hours` (number, required)
- `label` (string)
- `lat` (number, required)
- `lon` (number, required)
- `payment` (string)
- `salt` (string)
- `wait` (boolean)

### `tell_the_house` (~72 tokens)

Say what confused you, what you wanted, what you would pay for —
a person reads every word and the door itself changes. `where` may
name the tool or route you were on. Nothing is promised back but a
reading.

Input parameters:

- `where` (string)
- `words` (string, required)

### `verify_lease` (~211 tokens)

Verify a lease LOCALLY against the public chain. Fetches the
named rent-roll record with its chain identity, then redoes the
arithmetic here: sha256(canonical record) must equal the served
digest and the lease's roll.digest; sha256(prev_chained + digest)
must equal the served link; the link must match the ledger's own
listing at /api/commitments; the row must carry this lease's term,
serial, clearing price and winner envelope; and, given the salt,
sha256(addr|level|start|amount|salt) must open winner_env — with
the receipt's amount_degrees if the bid differed from the clearing
price. Nothing is taken on the door's say-so: every hash is
recomputed. What remains trusted is the chain's content itself,
whose external witnesses are the anchors in server/anchors/.

Input parameters:

- `amount_degrees` (string)
- `lease_json` (string, required)
- `salt` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/howardzheni-geolithic/geolithicintelligence#diagnostics

## Score history

- 2026-09-20: 65
- 2026-09-19: 64
- 2026-09-18: 63
- 2026-09-17: 63
- 2026-09-16: 63
- 2026-09-15: 62
- 2026-09-14: 62
- 2026-09-13: 61
- 2026-09-12: 61
- 2026-09-11: 61
- 2026-09-10: 61
- 2026-09-09: 63

## Common questions

### What is the Geolithic MCP server?

Geolithic is an MCP server listed in the public MCP registry as io.github.HowardZheni/geolithic. One face of the Earth, yours alone for one term, proven on a public chain. A dollar. Readings free. This page covers its hosted endpoint (https://geolithicintelligence.com/mcp).

### Is the Geolithic MCP server safe to use?

Geolithic scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Geolithic MCP server expose?

Geolithic exposes 15 tools: catalog, tick, open_ground, rent_roll, ground, and 10 more. Their descriptions and schemas cost roughly 2,074 tokens of context every time the server is loaded.

### Does the Geolithic MCP server require authentication?

No. We connected to Geolithic without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Geolithic MCP server still maintained?

Geolithic is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://geolithicintelligence.com/mcp
- Website: https://geolithicintelligence.com/
- Changelog RSS feed: https://verifymcp.io/servers/howardzheni-geolithic/geolithicintelligence.xml
- Changelog JSON feed: https://verifymcp.io/servers/howardzheni-geolithic/geolithicintelligence.json
- HTML version of this page: https://verifymcp.io/servers/howardzheni-geolithic/geolithicintelligence
