GEOMETRY
Deterministic calendars and cosmic date JSON for AI agents via MCP (Gregorian 1900-2100).
使うべきか
品質と安全性
検出事項(2)
- HIGH
- MEDIUMget_name 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.geometry.app/mcp"
}
}
}リモートエンドポイント
https://mcp.geometry.app/mcpstreamable-httpできること
ツール一覧
ツール(8)
🟢get_compatibility(date_a, date_b)
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).
入力スキーマ
{
"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
}🟢get_date(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.
入力スキーマ
{
"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
}🟢get_name(full_name)
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).
入力スキーマ
{
"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
}🟢get_age_spread(birth_date, as_of_date)
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.
入力スキーマ
{
"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
}🟢get_age_plate(age_no)
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.
入力スキーマ
{
"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
}🟢get_long_range(birth_date, as_of_date)
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.
入力スキーマ
{
"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
}🟢get_team_chemistry(season_yr, team_code, scope, gametype, include_pair_matrix)
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.
入力スキーマ
{
"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
}🟢get_plays_numerology(retro_id, season_yr, mode, lane, tier_max, ...)
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.
入力スキーマ
{
"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
}推奨プロンプト
get_compatibilityget_compatibilityコミュニティ
エビデンス