Skip to main content
Glama

Western Astrology MCP Server by RoxyAPI

Monthly horoscope by zodiac sign - Editorial column with key dates

get_astrology_horoscope_sign_monthly
Read-only

A month-long column for any zodiac sign, plus a week-by-week breakdown and dated key dates a calendar page renders directly. The column names the major aspects, slow-planet sign changes, lunations and stations of the month, and reads each into the whole-sign houses of that sign, and those events come back beside the prose with their exact instants, so a piece can be checked against NASA JPL Horizons or the US Naval Observatory before it runs. Key dates are the real New Moon, Full Moon and retrograde instants, never approximations. Alongside the column come overview, love, career, health, finance and advice. Pass any date inside a month to retrieve that month, or timezone to roll over on a local clock. Composed in 8 languages (en, de, es, fr, hi, pt, ru, tr); any other lang code returns English. Monthly horoscope API, zodiac monthly forecast, astrology monthly prediction.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoAny date inside the target month, in YYYY-MM-DD format. The forecast covers the whole calendar month containing it. Defaults to the current period in the timezone parameter.
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
signYesZodiac sign, case-insensitive (e.g., aries, Aries, ARIES all work).
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.
timezoneNoSelects which period counts as current when date is omitted. Defaults to UTC, so the forecast rolls over at 00:00 UTC on the 1st. Pass the timezone of the end user to roll over on their local clock instead. Ignored when date is set. Accepts an IANA name (e.g. "America/New_York"), decimal hours (e.g. 5.5 for IST), or a fixed UTC offset (e.g. "-05:00").

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
loveYes
signYes
monthYes
adviceYes
careerYes
columnYes
eventsYes
healthYes
financeYes
keyDatesYes
overviewYes
luckyColorYes
weekByWeekYes
luckyNumbersYes
compatibleSignsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "advice": {
      +      "type": "string"
      +    },
      +    "career": {
      +      "type": "string"
      +    },
      +    "column": {
      +      "type": "string"
      +    },
      +    "compatibleSigns": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "events": {
      +      "items": {
      +        "properties": {
      +          "aspect": {
      +            "type": "string"
      +          },
      +          "at": {
      +            "type": "string"
      +          },
      +          "bodies": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "house": {
      +            "maximum": 12,
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "sign": {
      +            "type": "string"
      +          },
      +          "through": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "enum": [
      +              "aspect",
      +              "sign-ingress",
      +              "retrograde-station",
      +              "lunar-phase",
      +              "eclipse",
      +              "solar-season"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "at",
      +          "bodies",
      +          "house"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "finance": {
      +      "type": "string"
      +    },
      +    "health": {
      +      "type": "string"
      +    },
      +    "keyDates": {
      +      "items": {
      +        "properties": {
      +          "date": {
      +            "type": "string"
      +          },
      +          "event": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "date",
      +          "event"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "love": {
      +      "type": "string"
      +    },
      +    "luckyColor": {
      +      "type": "string"
      +    },
      +    "luckyNumbers": {
      +      "items": {
      +        "type": "number"
      +      },
      +      "type": "array"
      +    },
      +    "month": {
      +      "type": "string"
      +    },
      +    "overview": {
      +      "type": "string"
      +    },
      +    "sign": {
      +      "type": "string"
      +    },
      +    "weekByWeek": {
      +      "items": {
      +        "properties": {
      +          "advice": {
      +            "type": "string"
      +          },
      +          "focus": {
      +            "type": "string"
      +          },
      +          "week": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "week",
      +          "focus",
      +          "advice"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "sign",
      +    "month",
      +    "overview",
      +    "love",
      +    "career",
      +    "health",
      +    "finance",
      +    "advice",
      +    "column",
      +    "events",
      +    "weekByWeek",
      +    "keyDates",
      +    "luckyNumbers",
      +    "luckyColor",
      +    "compatibleSigns"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English."New value: +"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 English."
    • changedInput schema / properties / lang / enum
      Previous value: -[
      -  "en",
      -  "tr",
      -  "de",
      -  "es",
      -  "hi",
      -  "pt",
      -  "fr",
      -  "ru"
      -]New value: +[
      +  "en",
      +  "tr",
      +  "de",
      +  "es",
      +  "hi",
      +  "pt",
      +  "fr",
      +  "ru",
      +  "zh-Hans",
      +  "zh-Hant"
      +]
  3. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "sign": "aries"
      +  }
      +]
    • changedInput schema / properties / compact / description
      Previous value: -"Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {\"__cols\":[field names],\"__rows\":[[values]]}, so each field name is sent once instead of once per row. Fully lossless (no field or value is dropped or changed) and typically 40 to 52 percent fewer tokens on large results. Prefer true whenever token or inference cost matters. Default false returns standard indented JSON."New value: +"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."
  4. Changed2 schema fields changed
    • addedInput schema / properties / date
      Added value: +{
      +  "description": "Any date inside the target month, in YYYY-MM-DD format. The forecast covers the whole calendar month containing it. Defaults to the current period in the timezone parameter.",
      +  "example": "2026-04-03",
      +  "format": "date",
      +  "type": "string"
      +}
    • addedInput schema / properties / timezone
      Added value: +{
      +  "description": "Selects which period counts as current when date is omitted. Defaults to UTC, so the forecast rolls over at 00:00 UTC on the 1st. Pass the timezone of the end user to roll over on their local clock instead. Ignored when date is set. Accepts an IANA name (e.g. \"America/New_York\"), decimal hours (e.g. 5.5 for IST), or a fixed UTC offset (e.g. \"-05:00\").",
      +  "example": "America/New_York",
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / compact / description
      Previous value: -"Return the same data in a token-optimized compact shape (minified, with same-shaped arrays encoded columnar) to reduce LLM token cost. Lossless: no fields are dropped. Default false."New value: +"Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {\"__cols\":[field names],\"__rows\":[[values]]}, so each field name is sent once instead of once per row. Fully lossless (no field or value is dropped or changed) and typically 40 to 52 percent fewer tokens on large results. Prefer true whenever token or inference cost matters. Default false returns standard indented JSON."
  6. Changed1 schema field changed
    • addedInput schema / properties / compact
      Added value: +{
      +  "default": false,
      +  "description": "Return the same data in a token-optimized compact shape (minified, with same-shaped arrays encoded columnar) to reduce LLM token cost. Lossless: no fields are dropped. Default false.",
      +  "type": "boolean"
      +}
  7. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already mark the tool as read-only and non-destructive, and the description goes well beyond that by disclosing exact event instants, verifiability against NASA/USNO, language fallback to English, timezone-relative rollover, and the section structure. This is rich behavioral context with no contradiction.

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

Conciseness3/5

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

The opening is front-loaded with the core scope, but the description is padded with redundant quality claims and ends in keyword-stuffed phrases like 'Monthly horoscope API, zodiac monthly forecast, astrology monthly prediction.' It is structured enough to be usable, but not every sentence earns its place.

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 output schema and 100% schema coverage, the description does not need to explain return shapes. It covers content sections, key dates, language fallback, date/timezone semantics, and the read-only nature, so an agent has everything needed to select and call this tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3; the description adds little beyond what the schema already states for date/timezone behavior. The claim of '8 languages' is inconsistent with the schema's 10-language enum, so I do not give it credit for improving parameter understanding.

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 resource: a month-long column for any zodiac sign with weekly breakdown and dated key dates. 'Month-long' explicitly differentiates it from the daily/weekly/yearly sibling tools, and the mention of key dates adds a distinguishing attribute.

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

Usage Guidelines4/5

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

It gives clear invocation context: any date inside a month retrieves that month, and timezone controls rollover when date is omitted. It does not explicitly name sibling alternatives or exclusion conditions, but the month-scoped content makes the appropriate use obvious.

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