Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Chinese Astrology MCP Server by RoxyAPI

REMOTE · ROXYAPI.COM

BaZi four pillars, Chinese zodiac, lunisolar calendar and almanac days for AI agents.

Available components

0 this week 88 Trust /100

Last scanned (5 hours ago)

Scores higher than 96% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Education and Research

Trust breakdown (7 categories)

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. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability76
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 8765 tokens (~547/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Tools include usage examples.Pass
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 21 Oct 26 +1
    • Stability: fail → pass ▲ security
  • 20 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 93.

  • 3 Oct 26 0
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
  • 1 Oct 26 86
    • Tool “post_chinese_astrology_bazi_day_master” rewrote its description, which is the text the model reads security
    • “post_chinese_astrology_calendar_lunar_date” reworded the description of “date” cosmetic
  • 30 Sept 26 0
    • “post_chinese_astrology_bazi_annual_forecast” reworded the description of “hourClock” cosmetic
    • “post_chinese_astrology_bazi_chart” reworded the description of “hourClock” cosmetic
    • “post_chinese_astrology_bazi_day_master” reworded the description of “hourClock” cosmetic
    • “post_chinese_astrology_bazi_luck_pillars” reworded the description of “hourClock” cosmetic

    4 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 21 Sept 26 0
    • A breaking change shipped without a version bump: still 2.0.0 ▼ security
    • “get_chinese_astrology_elements” changed the type of “offset”: integer|null → integer ▼ functional
    • “get_chinese_astrology_zodiac_animals” changed the type of “offset”: integer|null → integer ▼ functional
    • Tool “get_chinese_astrology_calendar_day_date” now declares an output schema ▲ functional
    • Tool “get_chinese_astrology_calendar_monthly” now declares an output schema ▲ functional
    • Tool “get_chinese_astrology_calendar_solar_terms_year” now declares an output schema ▲ functional
    • Tool “get_chinese_astrology_elements” now declares an output schema ▲ functional
    • Tool “get_chinese_astrology_zodiac_animals” now declares an output schema ▲ functional
    • Tool “get_chinese_astrology_zodiac_animals_id” now declares an output schema ▲ functional
    • Tool “get_chinese_astrology_zodiac_compatibility_sign1_sign2” now declares an output schema ▲ functional
    • Tool “get_chinese_astrology_zodiac_id_daily” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_bazi_annual_forecast” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_bazi_chart” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_bazi_compatibility” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_bazi_day_master” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_bazi_luck_pillars” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_calendar_auspicious_days” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_calendar_lunar_date” now declares an output schema ▲ functional
    • Tool “post_chinese_astrology_zodiac_sign” now declares an output schema ▲ functional
    • First check of Tool coverage: 100 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://roxyapi.com/mcp/chinese-astrology

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=roxyapi.com CN=WE1,O=Google Trust Services,C=US 23 Sept 2026 22 Dec 2026 ECDSA 256 ECDSA-SHA256 b253589252f3f4620e758a7554771c71
SANs: roxyapi.com, *.roxyapi.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of roxyapi.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
roxyapi.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline' 'inline-speculation-rules' 'unsafe-eval' https://challenges.cloudflare.com https://cdn.jsdelivr.net https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; connect-src 'self' https://challenges.cloudflare.com https://cloudflareinsights.com; frame-src 'self' https://challenges.cloudflare.com https://roxyapi.github.io; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), payment=(self), usb=(), bluetooth=(), accelerometer=(), gyroscope=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://roxyapi.com/mcp/chinese-astrology Verified 200
http (plaintext) http://roxyapi.com/mcp/chinese-astrology HTTPS enforced 301 https://roxyapi.com/mcp/chinese-astrology
MCP tools · 16 exposed · ~8,765 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_chinese_astrology_calendar_day_date ~323

Return the full almanac reading of one day: its lunisolar date, the year, month and day pillars with their Na Yin, the day officer from the twelve jian chu sequence, the lunar mansion on duty, the zodiac animal the day clashes with, and the activities the officer favours or opposes. The day officer is the layer a printed almanac reaches its verdict from first, and the response says exactly what it rules on rather than reducing the day to a single score. The year and month pillars here are attributed by whole days, which is what an almanac prints: the day a solar term falls on belongs to the new period for its whole length, however late in the day the term arrives. Built for date pickers, daily calendar widgets, and wedding or opening date tools.

NameTypeReqDescription
compactboolean–Set 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.
datestringyesGregorian date in YYYY-MM-DD format, evaluated at the reference meridian. Years 1900 to 2100.
langstring–Response 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 E…
NameTypeReqDescription
avoidsarrayyes–
clashAnimalstringyes–
clashAnimalLocalizedstring––
datestringyes–
dayOfficerobjectyes–
dayPillarobjectyes–
favoursarrayyes–
lunarobjectyes–
mansionobjectyes–
monthPillarobjectyes–
yearPillarobjectyes–
{"date":"1990-06-15"}
get_chinese_astrology_calendar_monthly ~285

Return every day of one Gregorian month of the Chinese almanac with its lunisolar date, its three pillars, its day officer, its lunar mansion and its clash animal, plus the solar terms that fall inside the month. This is the month view a calendar widget renders in one call rather than thirty one. Omit the year and month to get the month in progress. Built for calendar UIs, almanac pages, and planning tools that show a whole month at a glance.

NameTypeReqDescription
compactboolean–Set 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.
langstring–Response 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 E…
monthinteger–Gregorian month, 1 to 12. Defaults to the current UTC month when omitted, together with year.
yearinteger–Gregorian year, 1900 to 2100. Defaults to the current UTC year when omitted, together with month.
NameTypeReqDescription
daysarrayyes–
monthnumberyes–
solarTermsarrayyes–
totalnumberyes–
yearnumberyes–
{}
get_chinese_astrology_calendar_solar_terms_year ~300

Return all 24 solar terms of a year as astronomical instants rather than dates, each computed from the moment the sun reaches its exact apparent longitude at 15 degree steps. The year is the SOLAR year, which opens at Li Chun in early February, so Minor Cold and Major Cold, the last two terms, are dated in the January of the following Gregorian year. Every instant is returned twice, once in UTC and once at the UTC+8 reference meridian the Chinese calendar is defined on. Built for calendar apps, festival scheduling, and any BaZi feature that has to place a birth on the correct side of a term boundary.

NameTypeReqDescription
compactboolean–Set 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.
langstring–Response 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 E…
yearintegeryesSolar year, 1900 to 2100. The year opens at Li Chun rather than on 1 January, so its last two terms fall in the following January.
NameTypeReqDescription
referenceOffsetnumberyes–
termsarrayyes–
totalnumberyes–
yearnumberyes–
{"year":2026}
get_chinese_astrology_elements ~275

Return the five phases of Wu Xing with the Chinese character, the season and direction each governs, the Heavenly Stems and Earthly Branches that carry it, and both of the cycles that connect them. The generating cycle and the controlling cycle are returned as ordered rings as well as on each phase, so a caller can render either without deriving it. This is the one place the five phase vocabulary is defined: BaZi charts, Na Yin, zodiac element variants and every feng shui star reuse these identifiers rather than restating them.

NameTypeReqDescription
compactboolean–Set 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.
langstring–Response 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 E…
limitinteger–Maximum items to return per page. Range: 1-5, default 5.
offsetinteger–Number of items to skip for pagination. Default 0.
NameTypeReqDescription
controllingCyclearrayyes–
elementsarrayyes–
generatingCyclearrayyes–
limitnumberyes–
offsetnumberyes–
totalnumberyes–
{}
get_chinese_astrology_zodiac_animals ~252

Retrieve all twelve Chinese zodiac animals in cycle order, from Rat through Pig. Each entry returns the machine id, the Chinese character and tone-marked pinyin for the animal, its Earthly Branch, the fixed Five Element phase and yin or yang polarity of that branch, and a set of trait keywords. Built for sign pickers, zodiac cards and compatibility widgets that need the whole set in one call.

NameTypeReqDescription
compactboolean–Set 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.
langstring–Response 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 E…
limitinteger–Maximum items to return per page. Range: 1-12, default 12.
offsetinteger–Number of items to skip for pagination. Default 0.
NameTypeReqDescription
animalsarrayyes–
limitnumberyes–
offsetnumberyes–
totalnumberyes–
{}
get_chinese_astrology_zodiac_animals_id ~276

Retrieve the complete profile of one Chinese zodiac animal: character summary, strengths, weaknesses, trait keywords, the double-hour its Earthly Branch governs, and its five element variants with the Gregorian years that carry each one. Also returns the four classical branch relationships, the three-harmony trine it belongs to, its six-harmony secret friend, its clashing opposite and its harming partner. Built for sign detail pages and compatibility features.

NameTypeReqDescription
compactboolean–Set 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.
idstringyesAnimal id, case-insensitive and punctuation-insensitive. One of rat, ox, tiger, rabbit, dragon, snake, horse, goat, monkey, rooster, dog, pig. The sheep and the ram are the same animal as the goat an…
langstring–Response 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 E…
NameTypeReqDescription
branchstringyes–
chinesestringyes–
clashPartnerobjectyes–
compatibilitySummarystringyes–
elementstringyes–
elementLocalizedstring––
elementVariantsarrayyes–
harmPartnerobjectyes–
hoursobjectyes–
idstringyes–
namestringyes–
nameLocalizedstring––
pinyinstringyes–
polaritystringyes–
secretFriendobjectyes–
strengthsarrayyes–
summarystringyes–
traitsarrayyes–
trineobjectyes–
weaknessesarrayyes–
{"id":"rat"}
get_chinese_astrology_zodiac_compatibility_sign1_sign2 ~315

Score and explain the relationship between two Chinese zodiac animals from the classical branch relations rather than from a lookup table of opinions. Returns which of the six relations the pair stands in, a score out of 100, the phase the two branches combine into where they combine at all, and a composed reading with strengths, frictions and advice. The six relations are mutually exclusive by construction, so exactly one applies to any pair. Built for matchmaking features, relationship reports and compatibility widgets.

NameTypeReqDescription
compactboolean–Set 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.
langstring–Response 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 E…
sign1stringyesFirst animal id, case-insensitive. One of rat, ox, tiger, rabbit, dragon, snake, horse, goat, monkey, rooster, dog, pig.
sign2stringyesSecond animal id, case-insensitive. The relation is symmetric, so swapping the two returns the same relationship and the same score, with the reading written from the first sign point of view.
NameTypeReqDescription
advicestringyes–
frictionsarrayyes–
relationshipstringyes–
relationshipChinesestringyes–
relationshipNamestringyes–
relationshipNameLocalizedstring––
relationshipPinyinstringyes–
scorenumberyes–
sharedElementstring––
sharedElementLocalizedstring––
signsobjectyes–
strengthsarrayyes–
summarystringyes–
verdictstringyes–
{"sign1":"rat","sign2":"dragon"}
get_chinese_astrology_zodiac_id_daily ~426

Get the daily reading for one Chinese zodiac animal, built from the sexagenary day pillar rather than from a rotation of stock text. The day carries its own Earthly Branch, that branch stands in exactly one of six classical relations to the requested sign, and the reading is that relation applied to the sign temperament. Returns the day pillar, the relation, an energy rating, overview, love and career guidance, advice, and the sexagenary year in force with its Ben Ming Nian flag. Content is fixed for a given date and rolls over at midnight, by default UTC.

NameTypeReqDescription
compactboolean–Set 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.
datestring–Reading date in YYYY-MM-DD format. Past and future dates are both supported, for editorial scheduling and backfill. Defaults to the current day in the timezone parameter.
idstringyesAnimal id, case-insensitive. One of rat, ox, tiger, rabbit, dragon, snake, horse, goat, monkey, rooster, dog, pig.
langstring–Response 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 E…
timezonestring–Selects which day counts as current when date is omitted. Defaults to UTC, so the reading rolls over at 00:00 UTC each day. Pass the timezone of the end user to roll over on their local clock instead…
NameTypeReqDescription
advicestringyes–
animalobjectyes–
benMingNianbooleanyes–
careerstringyes–
datestringyes–
dayPillarobjectyes–
energyRatingnumberyes–
lovestringyes–
overviewstringyes–
relationshipstringyes–
yearobjectyes–
{"id":"rat"}
post_chinese_astrology_bazi_annual_forecast ~1,159

Read one Gregorian year against a natal BaZi chart. Returns the annual pillar for that year, the Ten God relation its stem holds to the natal Day Master, the same reading for the hidden stem of its branch, how the annual branch stands to the natal year branch including the ben ming nian return of the birth animal, and every combination, clash, harm and punishment the annual pillar forms with each of the four natal pillars. Built for yearly horoscope features, timing tools, and agents that need a year read against a specific chart rather than against an animal sign.

NameTypeReqDescription
compactboolean–Set 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.
datestringyesBirth date in YYYY-MM-DD format. Sets the year, month and day pillars. The year pillar turns at Beginning of Spring rather than on 1 January, and the month pillar turns at each of the twelve minor so…
dayBoundarystring–Which instant starts the sexagenary DAY, which only matters for a birth between 23:00 and 23:59. "midnight" is the classical position of the Ming compendium San Ming Tong Hui: the day turns at 00:00…
hourClockstring–Which clock the day boundary and the hour branch are read from, so a correction that carries a birth across midnight moves the day pillar with the hour. "clock" is civil time exactly as a birth certi…
langstring–Response 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 E…
latitudenumber–Birth latitude in decimal degrees. Accepted for consistency with the other birth-data endpoints and does not affect any part of a BaZi chart. Defaults to 0.
longitudenumber–Birth longitude in decimal degrees. Positive is East, negative is West. Required when hourClock is "local-mean" or "solar", which shift the hour branch to the sun over the birth place; omitting it in…
timestringyesBirth time in 24-hour HH:MM:SS format. Sets the hour pillar, which is one of the four and carries the whole picture of later life and offspring. Each Earthly Branch covers two hours, so a birth withi…
timezone–yesIANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the o…
yearintegeryesGregorian year to read against the natal chart. The annual pillar for that year is resolved under the same year boundary the request selected, so a li-chun reading and a lunar-new-year reading of the…
yearBoundarystring–Which instant starts the sexagenary YEAR. "li-chun" is Beginning of Spring, around 4 February, and is the classical rule every BaZi text uses, so it is the default on this endpoint. "lunar-new-year"…
NameTypeReqDescription
animalstringyes–
animalLocalizedstring––
annualPillarobjectyes–
benMingNianbooleanyes–
birthDataobjectyes–
branchTenGodobjectyes–
conventionsobjectyes–
interactionsarrayyes–
summarystringyes–
tenGodobjectyes–
yearnumberyes–
yearBranchRelationstringyes–
yearBranchRelationMeaningstringyes–
{"date":"1990-06-15","time":"14:30:00","timezone":"America/New_York","year":2026}
post_chinese_astrology_bazi_chart ~1,126

Calculate a complete BaZi chart, the Four Pillars of Destiny, from a birth moment. Returns the year, month, day and hour pillars with every Heavenly Stem and Earthly Branch, the stems hidden inside each branch, the Ten God relation each one holds to the Day Master, the Na Yin sound element of each pair, the five-element balance across the chart, and the combinations and clashes running between the pillars. The day boundary, year boundary and hour clock are all selectable and the applied conventions come back on every response, so a chart is self-describing. Built for astrology apps, matchmaking services, and agents that need a Four Pillars reading they can reproduce.

NameTypeReqDescription
compactboolean–Set 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.
datestringyesBirth date in YYYY-MM-DD format. Sets the year, month and day pillars. The year pillar turns at Beginning of Spring rather than on 1 January, and the month pillar turns at each of the twelve minor so…
dayBoundarystring–Which instant starts the sexagenary DAY, which only matters for a birth between 23:00 and 23:59. "midnight" is the classical position of the Ming compendium San Ming Tong Hui: the day turns at 00:00…
hourClockstring–Which clock the day boundary and the hour branch are read from, so a correction that carries a birth across midnight moves the day pillar with the hour. "clock" is civil time exactly as a birth certi…
langstring–Response 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 E…
latitudenumber–Birth latitude in decimal degrees. Accepted for consistency with the other birth-data endpoints and does not affect any part of a BaZi chart. Defaults to 0.
longitudenumber–Birth longitude in decimal degrees. Positive is East, negative is West. Required when hourClock is "local-mean" or "solar", which shift the hour branch to the sun over the birth place; omitting it in…
timestringyesBirth time in 24-hour HH:MM:SS format. Sets the hour pillar, which is one of the four and carries the whole picture of later life and offspring. Each Earthly Branch covers two hours, so a birth withi…
timezone–yesIANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the o…
yearBoundarystring–Which instant starts the sexagenary YEAR. "li-chun" is Beginning of Spring, around 4 February, and is the classical rule every BaZi text uses, so it is the default on this endpoint. "lunar-new-year"…
NameTypeReqDescription
birthDataobjectyes–
conventionsobjectyes–
dayMasterobjectyes–
fiveElementsarrayyes–
interactionsarrayyes–
pillarsarrayyes–
summarystringyes–
zodiacAnimalstringyes–
zodiacAnimalLocalizedstring––
{"date":"1990-06-15","time":"14:30:00","timezone":"America/New_York"}
post_chinese_astrology_bazi_compatibility ~292

Compare two BaZi charts pillar by pillar, the Chinese astrology reading of how two people match. Returns both resolved charts, how the two Day Masters stand to each other on the five-phase cycle, and every combination, clash, harm and punishment that crosses between them, each naming the two positions it joins. A tallied score summarises the balance and the interaction list behind it is returned in full, so a caller that disagrees with the weighting can recompute its own. Built for matchmaking products, relationship features, and agents that need a defensible two-chart reading.

NameTypeReqDescription
compactboolean–Set 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.
langstring–Response 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 E…
personAobjectyesBirth moment of the first person. Each subject carries its own school switches, so two charts built under different conventions can still be compared.
personBobjectyesBirth moment of the second person.
NameTypeReqDescription
challengingCountnumberyes–
dayMasterRelationstringyes–
harmoniousCountnumberyes–
interactionsarrayyes–
personAobjectyes–
personBobjectyes–
scorenumberyes–
summarystringyes–
{"personA":{"date":"1990-06-15","time":"14:30:00","timezone":"America/New_York"},"personB":{"date":"1990-06-15","time":"14:30:00","timezone":"America/New_York"}}
post_chinese_astrology_bazi_day_master ~1,122

Assess how well the Day Master is supported by the rest of a BaZi chart, and which of the five elements help it. Uses the classical three-factor method: whether the birth month season backs the Day Master element, whether any branch stores a root for it, and whether the other stems and the branches outside the month help or spend it. Returns the verdict, an auditable score with each factor contribution, the seasonal state, the root count, the element headcount, and the favorable and unfavorable element lists that follow from the verdict. Built for chart readers, remedy features, and agents that need the usable half of a Four Pillars reading.

NameTypeReqDescription
compactboolean–Set 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.
datestringyesBirth date in YYYY-MM-DD format. Sets the year, month and day pillars. The year pillar turns at Beginning of Spring rather than on 1 January, and the month pillar turns at each of the twelve minor so…
dayBoundarystring–Which instant starts the sexagenary DAY, which only matters for a birth between 23:00 and 23:59. "midnight" is the classical position of the Ming compendium San Ming Tong Hui: the day turns at 00:00…
hourClockstring–Which clock the day boundary and the hour branch are read from, so a correction that carries a birth across midnight moves the day pillar with the hour. "clock" is civil time exactly as a birth certi…
langstring–Response 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 E…
latitudenumber–Birth latitude in decimal degrees. Accepted for consistency with the other birth-data endpoints and does not affect any part of a BaZi chart. Defaults to 0.
longitudenumber–Birth longitude in decimal degrees. Positive is East, negative is West. Required when hourClock is "local-mean" or "solar", which shift the hour branch to the sun over the birth place; omitting it in…
timestringyesBirth time in 24-hour HH:MM:SS format. Sets the hour pillar, which is one of the four and carries the whole picture of later life and offspring. Each Earthly Branch covers two hours, so a birth withi…
timezone–yesIANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the o…
yearBoundarystring–Which instant starts the sexagenary YEAR. "li-chun" is Beginning of Spring, around 4 February, and is the classical rule every BaZi text uses, so it is the default on this endpoint. "lunar-new-year"…
NameTypeReqDescription
birthDataobjectyes–
conventionsobjectyes–
dayMasterobjectyes–
factorsarrayyes–
favorableElementsarrayyes–
fiveElementsarrayyes–
rootCountnumberyes–
scorenumberyes–
seasonalStatestringyes–
seasonalStateChinesestringyes–
seasonalStateMeaningstringyes–
summarystringyes–
unfavorableElementsarrayyes–
verdictstringyes–
{"date":"1990-06-15","time":"14:30:00","timezone":"America/New_York"}
post_chinese_astrology_bazi_luck_pillars ~1,313

Calculate the da yun luck pillars, the ten-year periods a BaZi chart walks through after birth. Returns the direction the sequence runs, the age it begins at with the day count behind that age, each ten-year pillar with the Ten God relation its stem holds to the natal Day Master, and an optional year-by-year annual overlay. Direction follows the classical rule: a male born in a yang-stem year and a female born in a yin-stem year run forward through the sexagenary cycle, the other two combinations run backward. Built for astrology apps, life-timing features, and agents that need a reproducible forecast spine.

NameTypeReqDescription
annualFromYearinteger–First Gregorian year of the annual pillar overlay. Omit it to leave annualPillars out of the response entirely. The annual pillar is the year the chart is currently walking through, read against the…
annualYearsinteger–How many consecutive years the annual overlay covers, 1 to 20. Ignored unless annualFromYear is present.
compactboolean–Set 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.
countinteger–How many ten-year luck pillars to return, 1 to 12. Eight covers eighty years from the start age, which reaches past a normal lifetime for most start ages.
datestringyesBirth date in YYYY-MM-DD format. Sets the year, month and day pillars. The year pillar turns at Beginning of Spring rather than on 1 January, and the month pillar turns at each of the twelve minor so…
dayBoundarystring–Which instant starts the sexagenary DAY, which only matters for a birth between 23:00 and 23:59. "midnight" is the classical position of the Ming compendium San Ming Tong Hui: the day turns at 00:00…
genderstringyesSubject sex, used only to pick the luck-pillar direction: a male born in a yang-stem year and a female born in a yin-stem year run forward through the sexagenary cycle, and the other two combinations…
hourClockstring–Which clock the day boundary and the hour branch are read from, so a correction that carries a birth across midnight moves the day pillar with the hour. "clock" is civil time exactly as a birth certi…
langstring–Response 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 E…
latitudenumber–Birth latitude in decimal degrees. Accepted for consistency with the other birth-data endpoints and does not affect any part of a BaZi chart. Defaults to 0.
longitudenumber–Birth longitude in decimal degrees. Positive is East, negative is West. Required when hourClock is "local-mean" or "solar", which shift the hour branch to the sun over the birth place; omitting it in…
timestringyesBirth time in 24-hour HH:MM:SS format. Sets the hour pillar, which is one of the four and carries the whole picture of later life and offspring. Each Earthly Branch covers two hours, so a birth withi…
timezone–yesIANA name (e.g. "America/New_York", "Europe/London", "UTC"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. "-05:00", "+01:00"). Prefer the IANA name: it is resolved to the o…
yearBoundarystring–Which instant starts the sexagenary YEAR. "li-chun" is Beginning of Spring, around 4 February, and is the classical rule every BaZi text uses, so it is the default on this endpoint. "lunar-new-year"…
NameTypeReqDescription
annualPillarsarray––
birthDataobjectyes–
boundaryTermstringyes–
boundaryTermNamestringyes–
conventionsobjectyes–
daysToTermnumberyes–
directionstringyes–
genderstringyes–
luckPillarsarrayyes–
startAgenumberyes–
startAgeMonthsnumberyes–
summarystringyes–
{"date":"1990-06-15","gender":"male","time":"14:30:00","timezone":"America/New_York"}
post_chinese_astrology_calendar_auspicious_days ~411

Search a date range for the days a chosen activity is favoured on, ranked by the jian chu day officer and filtered against a zodiac animal to protect. Every candidate day comes back with its officer, its pillars, its lunar date and the animal it clashes with, so a caller can show the reasoning rather than a bare verdict. The range is capped at 93 days, which is a quarter, because date selection is done inside a planning window rather than across a lifetime. Built for wedding planners, business opening tools, and moving and travel date pickers.

NameTypeReqDescription
activitystringyesActivity to choose a date for. One of wedding, travel, moving-house, opening-business, signing-contracts, construction, groundbreaking, burial, medical-treatment, praying. Matching folds case and pun…
avoidAnimalstring–Zodiac animal to protect. Days that clash with this animal are dropped from the results, which is how a date is chosen around the people attending rather than in the abstract. One of rat, ox, tiger,…
compactboolean–Set 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.
endDatestringyesLast date of the range to search, inclusive. The range may not exceed 93 days.
langstring–Response 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 E…
startDatestringyesFirst date of the range to search, inclusive.
NameTypeReqDescription
activitystringyes–
activityLabelstringyes–
avoidAnimalstring––
avoidAnimalLocalizedstring––
daysarrayyes–
daysSearchednumberyes–
endDatestringyes–
startDatestringyes–
totalnumberyes–
{"activity":"wedding","endDate":"2026-04-30","startDate":"2026-03-01"}
post_chinese_astrology_calendar_lunar_date ~475

Convert a Gregorian date to the Chinese lunisolar calendar or convert a lunar date back, in one endpoint. The calendar is computed at the UTC+8 reference meridian with the month containing the winter solstice fixed as month 11 and the leap month placed as the first month of the cycle carrying no major solar term, so a lunar date is the same worldwide rather than shifting with the caller timezone. The response reports the length of the lunar month, whether the date sits in a leap month, and which month the year doubles if any. Built for festival calendars, birthday features that follow the lunar date, and any app that has to survive a leap month without shifting every date after it.

NameTypeReqDescription
compactboolean–Set 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.
datestring–Gregorian date to convert to the lunisolar calendar. Send this OR the lunar fields, never both. Converts from the first day of lunar year 1551 to the last day of lunar year 2648, a little inside the…
isLeapMonthboolean–Set true to address the leap repetition of lunarMonth rather than the first pass. Requesting a leap month a year does not have returns 400.
langstring–Response 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 E…
lunarDayinteger–Day of the lunar month, 1 to 30. Requires lunarYear and lunarMonth.
lunarMonthinteger–Lunar month, 1 to 12. Requires lunarYear and lunarDay.
lunarYearinteger–Lunisolar year to convert back to a Gregorian date. Requires lunarMonth and lunarDay.
NameTypeReqDescription
gregorianDatestringyes–
leapMonthOfYearnumber––
lunarobjectyes–
referenceOffsetnumberyes–
{}
post_chinese_astrology_zodiac_sign ~415

Resolve a birth date to its Chinese zodiac animal, the sexagenary year pillar behind it, and the Five Element phase of that year, so a 1990 birth returns Horse as a Metal Horse rather than merely a Horse. The year boundary is a request parameter because the two schools genuinely disagree for dates in January and early February, and the resolved convention is echoed back so the answer is self-describing. Built for sign lookups, onboarding forms and birthday features.

NameTypeReqDescription
compactboolean–Set 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.
datestringyesBirth date in YYYY-MM-DD format. Only the date is needed: the zodiac animal is a property of the year, so no time, timezone or place changes the answer.
langstring–Response 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 E…
yearBoundarystring–Which instant starts the zodiac year. lunar-new-year is the folk rule and the default on this route, because it is the rule people mean when they say what animal they are: the sign turns on Chinese N…
NameTypeReqDescription
animalobjectyes–
conventionsobjectyes–
datestringyes–
elementstringyes–
elementLocalizedstring––
interpretationstringyes–
polaritystringyes–
yearPillarobjectyes–
{"date":"1990-06-15"}
Install

How do I install the Chinese Astrology MCP Server by RoxyAPI server?

Chinese Astrology MCP Server by RoxyAPI is a hosted endpoint at https://roxyapi.com/mcp/chinese-astrology, 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.

remote · roxyapi.com

# add to Claude Code
claude mcp add --transport http com-roxyapi-chinese-astrology 'https://roxyapi.com/mcp/chinese-astrology'
Common questions

What is the Chinese Astrology MCP Server by RoxyAPI server?

Chinese Astrology MCP Server by RoxyAPI is listed in the public MCP registry as com.roxyapi/chinese-astrology. BaZi four pillars, Chinese zodiac, lunisolar calendar and almanac days for AI agents. This page covers its hosted endpoint (https://roxyapi.com/mcp/chinese-astrology).

Is the Chinese Astrology MCP Server by RoxyAPI server safe to use?

Chinese Astrology MCP Server by RoxyAPI scores 88 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 Chinese Astrology MCP Server by RoxyAPI server expose?

Chinese Astrology MCP Server by RoxyAPI exposes 16 tools: post_chinese_astrology_bazi_chart, post_chinese_astrology_bazi_luck_pillars, post_chinese_astrology_bazi_day_master, post_chinese_astrology_bazi_compatibility, post_chinese_astrology_bazi_annual_forecast, and 11 more. Their descriptions and schemas cost roughly 8,765 tokens of context every time the server is loaded.

Does the Chinese Astrology MCP Server by RoxyAPI server require authentication?

No. We connected to Chinese Astrology MCP Server by RoxyAPI without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Chinese Astrology MCP Server by RoxyAPI server still maintained?

Chinese Astrology MCP Server by RoxyAPI is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.