Skip to main content
Glama

Mesoamerican Astrology MCP Server by RoxyAPI

Generate a Mayan chart - Tzolkin, Haab and Long Count calculator API

post_mesoamerican_astrology_mayan_chart
Read-only

Mayan astrology birth chart from one date: the Tzolkin day sign and coefficient, the Haab date, the full Long Count with its day count, the Calendar Round, the Lord of the Night, the Year Bearer of the Haab year and the five point Cruz Maya, each with composed readings. Built for nawal readings, birth chart features and multi domain spiritual apps that show a Mayan card beside a natal chart. Every school split in the domain is a typed parameter and comes back echoed, so the chart can be reproduced exactly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format, in the PROLEPTIC GREGORIAN calendar, extended backwards unchanged through the 1582 reform. Years 1 to 4000 are accepted. A reference converter that switches to the Julian calendar below the reform will disagree with a date before 15 October 1582 by ten or eleven days; that is a difference of input convention rather than of arithmetic, and passing the Julian equivalent to such a tool reproduces these values exactly. A single-digit month or day is accepted and zero padded.
langNoResponse language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.en
compactNoSet true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.
correlationNoWhich correlation constant ties the day count to a civil date. This is the single choice that shifts every value in the response, so it is a parameter rather than a hidden default, and the resolved value comes back under conventions. "gmt-584283" is the commonly accepted constant and the default, and it is the one the major institutional converter runs on. "martinez-hernandez-584281" sits two days earlier, "astronomical-584285" two days later, and "martin-skidmore-584286" three days later, each shifting the Long Count by exactly its difference in days. Four of the eight published constants are offered: the other four sit tens of thousands of days away and are of historical interest only. The 584281 constant is the Martínez Hernández correlation, after Juan Martínez Hernández.gmt-584283
yearBearerSystemNoWhich Haab day is read as the start of the year when naming its Year Bearer. Only four of the twenty day signs can ever carry a year, and which four depends entirely on this choice, so the three schools never agree. "classic" reads the seating of Pop and is the default, because it is the set highland daykeepers still use; its four bearers are Ikʼ, Manikʼ, Ebʼ and Kabʼan. "campeche" reads 1 Pop and gives Akʼbʼal, Lamat, Bʼen and Etzʼnabʼ. "colonial-yucatec" reads 2 Pop and gives Kʼan, Muluk, Ix and Kawak. The three sets share no member, so a bearer alone tells you which school produced it.classic

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYes
haabYes
crossYes
summaryYes
tzolkinYes
longCountYes
yearBearerYes
conventionsYes
lordOfNightYes
calendarRoundYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "calendarRound": {
      +      "type": "string"
      +    },
      +    "conventions": {
      +      "properties": {
      +        "correlation": {
      +          "type": "string"
      +        },
      +        "yearBearerSystem": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "correlation",
      +        "yearBearerSystem"
      +      ],
      +      "type": "object"
      +    },
      +    "cross": {
      +      "items": {
      +        "properties": {
      +          "daySign": {
      +            "type": "string"
      +          },
      +          "daySignKiche": {
      +            "type": "string"
      +          },
      +          "daySignName": {
      +            "type": "string"
      +          },
      +          "number": {
      +            "type": "number"
      +          },
      +          "offsetDays": {
      +            "type": "number"
      +          },
      +          "position": {
      +            "type": "string"
      +          },
      +          "reading": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "position",
      +          "offsetDays",
      +          "daySign",
      +          "daySignName",
      +          "daySignKiche",
      +          "number",
      +          "reading"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "date": {
      +      "type": "string"
      +    },
      +    "haab": {
      +      "properties": {
      +        "day": {
      +          "type": "number"
      +        },
      +        "dayOfYear": {
      +          "type": "number"
      +        },
      +        "month": {
      +          "type": "string"
      +        },
      +        "monthClassic": {
      +          "type": "string"
      +        },
      +        "monthName": {
      +          "type": "string"
      +        },
      +        "reading": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "month",
      +        "monthName",
      +        "monthClassic",
      +        "day",
      +        "dayOfYear",
      +        "reading"
      +      ],
      +      "type": "object"
      +    },
      +    "longCount": {
      +      "properties": {
      +        "baktun": {
      +          "type": "number"
      +        },
      +        "daysSinceEpoch": {
      +          "type": "number"
      +        },
      +        "formatted": {
      +          "type": "string"
      +        },
      +        "julianDayNumber": {
      +          "type": "number"
      +        },
      +        "katun": {
      +          "type": "number"
      +        },
      +        "kin": {
      +          "type": "number"
      +        },
      +        "tun": {
      +          "type": "number"
      +        },
      +        "winal": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "formatted",
      +        "baktun",
      +        "katun",
      +        "tun",
      +        "winal",
      +        "kin",
      +        "daysSinceEpoch",
      +        "julianDayNumber"
      +      ],
      +      "type": "object"
      +    },
      +    "lordOfNight": {
      +      "properties": {
      +        "label": {
      +          "type": "string"
      +        },
      +        "reading": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "label",
      +        "reading"
      +      ],
      +      "type": "object"
      +    },
      +    "summary": {
      +      "type": "string"
      +    },
      +    "tzolkin": {
      +      "properties": {
      +        "daySign": {
      +          "type": "string"
      +        },
      +        "daySignClassic": {
      +          "type": "string"
      +        },
      +        "daySignKiche": {
      +          "type": "string"
      +        },
      +        "daySignName": {
      +          "type": "string"
      +        },
      +        "number": {
      +          "type": "number"
      +        },
      +        "reading": {
      +          "properties": {
      +            "challenges": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "guidance": {
      +              "type": "string"
      +            },
      +            "keynote": {
      +              "type": "string"
      +            },
      +            "numberBand": {
      +              "type": "string"
      +            },
      +            "numberReading": {
      +              "type": "string"
      +            },
      +            "strengths": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "keynote",
      +            "numberReading",
      +            "strengths",
      +            "challenges",
      +            "guidance"
      +          ],
      +          "type": "object"
      +        },
      +        "trecena": {
      +          "properties": {
      +            "dayOfTrecena": {
      +              "type": "number"
      +            },
      +            "number": {
      +              "type": "number"
      +            },
      +            "rulingSign": {
      +              "type": "string"
      +            },
      +            "rulingSignName": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "number",
      +            "dayOfTrecena",
      +            "rulingSign",
      +            "rulingSignName"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "daySign",
      +        "daySignName",
      +        "daySignClassic",
      +        "daySignKiche",
      +        "number",
      +        "trecena",
      +        "reading"
      +      ],
      +      "type": "object"
      +    },
      +    "yearBearer": {
      +      "properties": {
      +        "daySign": {
      +          "type": "string"
      +        },
      +        "daySignName": {
      +          "type": "string"
      +        },
      +        "number": {
      +          "type": "number"
      +        },
      +        "reading": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "daySign",
      +        "daySignName",
      +        "number",
      +        "reading"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "date",
      +    "tzolkin",
      +    "haab",
      +    "longCount",
      +    "calendarRound",
      +    "lordOfNight",
      +    "yearBearer",
      +    "cross",
      +    "summary",
      +    "conventions"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as read-only and non-destructive, so the safety profile is covered. The description adds meaningful behavioral context: the correlation parameter 'shifts every value in the response', the compact mode reduces tokens by 40-52%, and parameters are echoed for exact reproduction. It also explains the date convention (proleptic Gregorian) and how it differs from Julian-based converters. These go beyond annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence contributes. It opens with the core output, then justifies the design choices (correlation as a parameter, echo for reproducibility) and explains the date convention. The structure is logical: purpose → use case → behavioral notes → parameter clarifications. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, 3 enums, output schema), the description covers all input nuances, language handling, compact output, correlation effects, and year bearer variants. It even addresses the calendar convention pitfall. The presence of an output schema means return format need not be detailed. The description is thorough enough for an agent to call it correctly without external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 100% schema coverage, the description enriches every parameter significantly. It explains the proleptic Gregorian date nuance and the Julian disagreement, details the four correlation constants and their day offsets, and clarifies the three Year Bearer systems with their specific day signs. The lang and compact parameters are also contextualized. This is far beyond what the schema's enum descriptions provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a Mayan birth chart from a date, listing specific components (Tzolkin, Haab, Long Count, Calendar Round, etc.). It distinguishes itself from siblings by focusing on a comprehensive chart rather than single-aspect tools like daily or day signs. The verb 'generate' and the resource 'Mayan chart' are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use cases ('Built for nawal readings, birth chart features and multi domain spiritual apps') but does not explicitly contrast with alternative tools like post_mesoamerican_astrology_mayan_tzolkin or daily. It states what it does but not when to choose it over others. No explicit exclusions or when-not-to-use guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources