{"name":"app.geometry/mcp","slug":"geometry-mcp","title":"GEOMETRY","description":"Deterministic calendars and cosmic date JSON for AI agents via MCP (Gregorian 1900-2100).","url":"https://mcp.market/server/geometry-mcp","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":20,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-20T17:48:42.000Z","license":"MIT"},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T19:41:09.945Z","last_ok_at":"2026-09-20T19:41:09.945Z","latency_ms":1111},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/goqolabs/geometry-mcp","website":null,"version":"0.66.0","remotes":[{"type":"streamable-http","url":"https://mcp.geometry.app/mcp"}],"packages":[],"tools":[{"name":"get_age_plate","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age_no":{"type":"integer","description":"Magian age board index (0..89 preferred; wraps via f_age_mod90)"}},"required":["age_no"],"additionalProperties":false}},{"name":"get_age_spread","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"birth_date":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Civil birth date YYYY-MM-DD (month/day resolves Cosmic birth card)"},"as_of_date":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"As-of civil date YYYY-MM-DD (pass host today when asking current age board)"}},"required":["birth_date","as_of_date"],"additionalProperties":false}},{"name":"get_compatibility","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date_a":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Person A date YYYY-MM-DD (exactly two people; not a roster)"},"date_b":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Person B date YYYY-MM-DD (exactly two people; not a roster)"}},"required":["date_a","date_b"],"additionalProperties":false}},{"name":"get_date","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Single query date YYYY-MM-DD (any Gregorian date — sky, calendars, weekday, leap year, day_ruler, Cosmic card)"}},"required":["date"],"additionalProperties":false}},{"name":"get_long_range","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"birth_date":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Civil birth date YYYY-MM-DD (month/day resolves Cosmic birth card)"},"as_of_date":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"As-of civil date YYYY-MM-DD (pass host today when asking current journey year)"}},"required":["birth_date","as_of_date"],"additionalProperties":false}},{"name":"get_name","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"full_name":{"type":"string","minLength":1,"description":"Person or word name to decode (whitespace-separated words; not a date)"}},"required":["full_name"],"additionalProperties":false}},{"name":"get_plays_numerology","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"retro_id":{"type":"string","minLength":1,"description":"Retrosheet player id e.g. ohtansh01, freef001"},"season_yr":{"type":"integer","description":"Required for season/spotlight modes"},"mode":{"type":"string","enum":["spotlight","season","career_summary"],"description":"season (default) | spotlight | career_summary"},"lane":{"type":"string","enum":["hr","k","both"],"description":"Home runs, strikeouts, or both (default both)"},"tier_max":{"type":"integer","description":"Max pattern tier 0-4 (spotlight defaults to 1)"},"game_dt":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Optional single-game filter YYYY-MM-DD"},"limit":{"type":"integer","description":"Max event rows returned (default 100, max 500)"}},"required":["retro_id"],"additionalProperties":false}},{"name":"get_team_chemistry","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"season_yr":{"type":"integer","description":"MLB season year e.g. 2024"},"team_code":{"type":"string","minLength":1,"description":"Retrosheet team code e.g. LAN, CHN, HOU"},"scope":{"type":"string","enum":["ws_champion","postseason"],"description":"ws_champion (default) or postseason active roster"},"gametype":{"type":"string","description":"Postseason round when scope=postseason (default worldseries)"},"include_pair_matrix":{"type":"boolean","description":"Reserved v2 — echoes pair_note when true"}},"required":["season_yr","team_code"],"additionalProperties":false}}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-20T21:00:38.037Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T21:00:38.009Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 2145ms"]},"poisoning":{"score":15,"max":15,"notes":["8 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":3,"max":10,"notes":["namespace and repository owner differ"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.geometry.app/mcp","reachable":true,"authRequired":false,"latencyMs":2145,"serverInfo":{"name":"geometry","version":"0.1.1"}}],"packages":[],"repo":{"found":true,"owner":"goqolabs","repo":"geometry-mcp","archived":false,"pushedAt":"2026-09-20T17:48:42Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/267486480?v=4","ownerCreatedAt":"2026-03-12T00:37:13Z","license":"MIT"},"icon":{"url":"https://geometry.app/favicon.ico","source":"site","width":48,"height":48},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-20T17:48:42.000Z","score":20}}}},"grade_history":[],"reviews":[]}