# GEOMETRY (remote · mcp.geometry.app)

Deterministic calendars and cosmic date JSON for AI agents via MCP (Gregorian 1900-2100).

- Trust score: 82/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-22

## Components

- remote · `mcp.geometry.app`: 82/100 (this document), [markdown](https://verifymcp.io/servers/app-geometry-mcp/mcp.md), [page](https://verifymcp.io/servers/app-geometry-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.geometry.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.66.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-22.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - 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**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1792 tokens (~224/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 80/100
  - Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% 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 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

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

GEOMETRY is a hosted endpoint at https://mcp.geometry.app/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 app-geometry-mcp 'https://mcp.geometry.app/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "app-geometry-mcp": {
      "url": "https://mcp.geometry.app/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "app-geometry-mcp": {
      "type": "http",
      "url": "https://mcp.geometry.app/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.app-geometry-mcp]
url = "https://mcp.geometry.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-geometry-mcp": {
      "type": "remote",
      "url": "https://mcp.geometry.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-geometry-mcp --url 'https://mcp.geometry.app/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-geometry-mcp:
    url: "https://mcp.geometry.app/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "app-geometry-mcp": {
      "Transport": "http",
      "Url": "https://mcp.geometry.app/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add app-geometry-mcp -t streamable-http -u 'https://mcp.geometry.app/mcp'
```

### Other

```json
{
  "mcpServers": {
    "app-geometry-mcp": {
      "type": "http",
      "url": "https://mcp.geometry.app/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-21 (score 82, +1)

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

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

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

### 2026-09-17 (score 80, +1)

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

### 2026-09-15 (score 79, +1)

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

### 2026-09-13 (score 78, +1)

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

### 2026-09-11 (score 77, +1)

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

### 2026-09-10 (score 76, 0)

- [functional improvement] Schema quality: 266 → 224
- [functional] New tool “get_age_plate”
- [functional] New tool “get_age_spread”
- [functional] New tool “get_long_range”

### 2026-09-09 (score 76, +1)

- [security] Tool “get_name” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 774 → 1330
- [functional] New tool “get_plays_numerology”
- [functional] New tool “get_team_chemistry”

## MCP tools (8)

### `get_compatibility` (~250 tokens)

Compatibility (two dates)

USE when comparing exactly two people by Gregorian date. NOT for one date (moon/season/Rx/weekday/leap year/day_ruler → get_date) or names → get_name. Requires date_a and date_b. RETURNS scored dyad: cosmic_card_a/b (each side is full get_date shape incl. tarot_majors.greer/tarot_school, karma, planetary_spread; Cosmic card = birth = life = sun via also_called; planetary_spread and retrogrades_active planets include planet_type/symbol/emoji + names{} 10 cultures; each planetary_spread slot carries spread_pos 1-14 — sort by spread_pos for canonical Life-spread order), connections, overall_score, Chinese zodiac + true sidereal aspects, element harmony, life paths. temporal_context.date_a/b = {band, payload_scope} (full|extended|out_of_range × full|cosmic_card_only; 1900-2100 focus).

Input parameters:

- `date_a` (string, required): Person A date YYYY-MM-DD (exactly two people; not a roster)
- `date_b` (string, required): Person B date YYYY-MM-DD (exactly two people; not a roster)

### `get_date` (~375 tokens)

Date identity (any date)

PRIMARY single-date tool. USE for any one Gregorian date when the ask needs moon phase (incl. blue/blood/supermoon/micromoon flags, Earth-Moon distance, phase_gmt, prev/next blue or blood dates), season/equinox anchors, classical retrogrades (retrogrades_active phase=retrograde), calendars, lunar year, Cosmic card (same card as life/sun — cosmic.also_called + planetary_spread.sun), karmic source/spirit, 14 planetary Life-spread cards, weekday or leap year (calendar_meta.weekday / is_leap_year), day_ruler (weekday planetary ruler Roman/Greek/Norse), or full date identity. NOT for two-person scoring → get_compatibility; name text → get_name. RETURNS cosmic block (incl. karma + planetary_spread) + tarot_majors (greer + tarot_school) + day_ruler (full+extended) + temporal blocks (moon_phase, season, retrogrades_active, calendar_meta, …). planetary_spread and retrogrades_active planets include planet_type/symbol/emoji + names{} (greek,norse,celtic,egyptian,sumerian,babylonian,mesopotamian,arabic,sanskrit,chinese). Each planetary_spread slot carries spread_pos (1-14 canonical Life-spread order; midheaven=13, phoenix=14 — sort by spread_pos; jsonb object keys are unordered). temporal_context={band, payload_scope} (band full|extended|out_of_range; payload_scope full|cosmic_card_only). Out-of-range responses set cosmic_card_available.

Input parameters:

- `date` (string, required): Single query date YYYY-MM-DD (any Gregorian date — sky, calendars, weekday, leap year, day_ruler, Cosmic card)

### `get_name` (~194 tokens)

Name → cosmic cards

USE for person or word name text only (gematria → cosmic cards + Expression / Soul Urge / Personality). NOT for any date questions (weekday, leap year, moon, season, Rx, Cosmic card, day_ruler, Life Path) → get_date; two people → get_compatibility. RETURNS Francis Bacon cards, Latin cipher suite, periodic{} + periodic_set{}, numerology (expression/soul_urge/personality plus full-name karmic_lessons / hidden_passion / cornerstone / capstone / first_vowel / echoes and number lens polarity/planet/element/color), and per-word tarot/medicine/iching/chakra/lenormand/karma/planetary_spread. Free-text input guard (Del as a name is allowed; DEL FILE and SQL verbs are not).

Input parameters:

- `full_name` (string, required): Person or word name to decode (whitespace-separated words; not a date)

### `get_age_spread` (~167 tokens)

Magian Age seat (birth + as-of)

USE for one person's Magian Age Spread board seat: birth_date + as_of_date (completed civil years; no wall clock). NOT the 90-year Long Range Journey theme card; NOT get_date sky/calendars; NOT two-person scoring. RETURNS compact cosmic birth card + age_spread {age_civil, age_no (mod 90), age_aliases, age_spread_pos, planet_row, planet_col, is_fixed_card}. Feb-29 follows Postgres age(). Error as_of_before_birth when as_of_date < birth_date.

Input parameters:

- `as_of_date` (string, required): As-of civil date YYYY-MM-DD (pass host today when asking current age board)
- `birth_date` (string, required): Civil birth date YYYY-MM-DD (month/day resolves Cosmic birth card)

### `get_age_plate` (~124 tokens)

Magian Age board (52 seats)

USE for one Magian Grand Solar Age board by age_no (0..89; larger values wrap via mod 90). No birth date / no PII. NOT Long Range Journey; NOT get_age_spread person slice. RETURNS exactly 52 seats: card ref + age_spread_pos + planet_row + planet_col + is_fixed_card. Fixed seats: J hearts@11, 8 clubs@21, K spades@52.

Input parameters:

- `age_no` (integer, required): Magian age board index (0..89 preferred; wraps via f_age_mod90)

### `get_long_range` (~171 tokens)

Long Range Journey theme card

USE for one person's 90-year Long Range Journey theme card: birth_date + as_of_date (completed civil years; no wall clock). NOT Magian Age Spread board (get_age_spread / get_age_plate); NOT get_date sky/calendars. RETURNS compact cosmic birth card + long_range {age_civil, age_no (mod 90), age_aliases, theme_card, spread_offset, planetary_period}. One theme card only — never 90 ages. Feb-29 follows Postgres age(). Error as_of_before_birth when as_of_date < birth_date.

Input parameters:

- `as_of_date` (string, required): As-of civil date YYYY-MM-DD (pass host today when asking current journey year)
- `birth_date` (string, required): Civil birth date YYYY-MM-DD (month/day resolves Cosmic birth card)

### `get_team_chemistry` (~227 tokens)

Baseball team roster cardology

USE for MLB team × season roster cardology (suit mix, anchor stacks, Chinese zodiac year-animal match on postseason scope). NOT for play-by-play HR/K numerology → get_plays_numerology; two-person dyads → get_compatibility; single date → get_date. Requires season_yr + team_code. scope=ws_champion (default) | postseason. RETURNS roster_size, suit_mix, anchor_stacks, season_animal; postseason adds year_animal_match_pct (CNY-aware birth animal). Apply: apply_mcp_baseball_linked.ps1.

Input parameters:

- `gametype` (string): Postseason round when scope=postseason (default worldseries)
- `include_pair_matrix` (boolean): Reserved v2 — echoes pair_note when true
- `scope` (string): ws_champion (default) or postseason active roster
- `season_yr` (integer, required): MLB season year e.g. 2024
- `team_code` (string, required): Retrosheet team code e.g. LAN, CHN, HOU

### `get_plays_numerology` (~284 tokens)

Baseball play numerology (HR/K milestones)

USE when a player's season HR# or K# aligns with calendar day-of-month, jersey number, or inning on baseball.plays. NOT for roster cardology → get_team_chemistry; cosmic day card → get_date. Requires retro_id. mode=season (default) | spotlight (tier<=1) | career_summary (aggregates only). lane=both (default) | hr | k. Optional game_dt filter, tier_max (0-4), limit (1-500). RETURNS summary + events[] with pattern labels (day=HR#, HR#=jersey, day=K#=jersey, etc.). Overlay get_date(game_dt) for MCP day-card narrative.

Input parameters:

- `game_dt` (string): Optional single-game filter YYYY-MM-DD
- `lane` (string): Home runs, strikeouts, or both (default both)
- `limit` (integer): Max event rows returned (default 100, max 500)
- `mode` (string): season (default) | spotlight | career_summary
- `retro_id` (string, required): Retrosheet player id e.g. ohtansh01, freef001
- `season_yr` (integer): Required for season/spotlight modes
- `tier_max` (integer): Max pattern tier 0-4 (spotlight defaults to 1)

## Diagnostics

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

## Score history

- 2026-09-22: 82
- 2026-09-21: 82
- 2026-09-20: 81
- 2026-09-19: 81
- 2026-09-18: 80
- 2026-09-17: 80
- 2026-09-16: 79
- 2026-09-15: 79
- 2026-09-14: 78
- 2026-09-13: 78
- 2026-09-12: 77
- 2026-09-11: 77
- 2026-09-10: 76
- 2026-09-09: 76
- 2026-09-08: 75
- 2026-09-07: 75
- 2026-09-06: 75
- 2026-09-05: 74
- 2026-09-04: 74
- 2026-09-03: 73
- 2026-09-02: 73
- 2026-09-01: 72
- 2026-08-31: 72
- 2026-08-30: 71
- 2026-08-29: 71

## Common questions

### What is the GEOMETRY MCP server?

GEOMETRY is an MCP server listed in the public MCP registry as app.geometry/mcp. Deterministic calendars and cosmic date JSON for AI agents via MCP (Gregorian 1900-2100). This page covers its hosted endpoint (https://mcp.geometry.app/mcp).

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

GEOMETRY scores 82 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 GEOMETRY MCP server expose?

GEOMETRY exposes 8 tools: get_compatibility, get_date, get_name, get_age_spread, get_age_plate, and 3 more. Their descriptions and schemas cost roughly 1,792 tokens of context every time the server is loaded.

### Does the GEOMETRY MCP server require authentication?

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

### Is the GEOMETRY MCP server still maintained?

GEOMETRY is still listed as active in the MCP registry. We last reached this channel on 22 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://mcp.geometry.app/mcp
- Repository: https://github.com/goqolabs/geometry-mcp
- Changelog RSS feed: https://verifymcp.io/servers/app-geometry-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-geometry-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/app-geometry-mcp/mcp
