Astrology Forecast MCP Server by RoxyAPI

Astrology transit forecasts, timelines and significant-date feeds for AI agents.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
100%
이름 품질
76%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'post_forecast_significant_dates' name length outside 3-30 rangepost_forecast_significant_dates에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~7,815토큰 (도구 정의)
~16.9 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 6.11%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "forecast": {
      "url": "https://roxyapi.com/mcp/forecast"
    }
  }
}

원격 엔드포인트

https://roxyapi.com/mcp/forecaststreamable-http

할 수 있는 일

도구 목록

도구 (5)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢post_forecast_timeline(lang, birthData, startDate, endDate, domains, ...)

Build one time-ordered forecast for a single birth subject by merging upcoming events across three domains: western transit-to-natal aspects, sign ingresses, retrograde stations, eclipses, and new and full moons; biorhythm critical days; and vedic Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. The window is clamped to 90 days and events are capped and scored by significance. Built for what-is-coming dashboards, daily and weekly forecast feeds, and timing tools.

입력 스키마

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "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.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "example": "1990-07-15",
          "description": "Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence."
        },
        "time": {
          "type": "string",
          "format": "time",
          "example": "13:30:00",
          "description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
        },
        "timezone": {
          "anyOf": [
            {
              "type": "number",
              "minimum": -14,
              "maximum": 14
            },
            {
              "type": "string"
            }
          ],
          "description": "IANA 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 offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
          "example": "America/New_York"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0,
          "example": 0,
          "description": "Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0,
          "example": 0,
          "description": "Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ],
      "description": "The single birth subject this forecast is built for. One object only, never an array."
    },
    "startDate": {
      "type": "string",
      "format": "date",
      "example": "2026-06-01",
      "description": "First day of the forecast window in YYYY-MM-DD format. Defaults to today in UTC."
    },
    "endDate": {
      "type": "string",
      "format": "date",
      "example": "2026-08-30",
      "description": "Last day of the forecast window in YYYY-MM-DD format. Defaults to startDate plus 30 days. The window is clamped to a maximum of 90 days from startDate."
    },
    "domains": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "western",
          "vedic",
          "biorhythm"
        ],
        "example": "western",
        "description": "Forecast domain. western covers transit aspects, sign ingresses, retrograde stations, eclipses, and new and full moons. vedic covers Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. biorhythm covers critical days."
      },
      "example": [
        "western",
        "vedic",
        "biorhythm"
      ],
      "description": "Which forecast domains to include. Defaults to all three. Pass a subset to scope the timeline to one or two engines."
    },
    "minSignificance": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "example": 0,
      "description": "Drop events scoring below this significance threshold from 0 to 100. Defaults to 0, keeping all events."
    },
    "domainWeights": {
      "type": "object",
      "properties": {
        "western": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        },
        "vedic": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        },
        "biorhythm": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        }
      },
      "example": {
        "vedic": 1.5,
        "biorhythm": 0.5
      },
      "description": "Per-domain significance multipliers applied before the significance floor and event cap. Bias which domains survive filtering and the cap. Omitted domains default to a weight of 1. Valid keys are western, vedic, and biorhythm."
    },
    "compact": {
      "type": "boolean",
      "description": "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.",
      "default": false
    }
  },
  "required": [
    "birthData"
  ],
  "examples": [
    {
      "birthData": {
        "date": "1990-07-15",
        "time": "13:30:00",
        "timezone": "America/New_York"
      }
    }
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date"
        },
        "time": {
          "type": "string",
          "format": "time"
        },
        "timezone": {
          "type": "number"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ]
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "count": {
      "type": "number"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "datetime": {
            "type": "string"
          },
          "domain": {
            "type": "string",
            "enum": [
              "western",
              "vedic",
              "biorhythm"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "transit-aspect",
              "sign-ingress",
              "retrograde-station",
              "eclipse",
              "lunar-phase",
              "dasha-change",
              "critical-day"
            ]
          },
          "body": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "aspect": {
            "type": "string"
          },
          "orb": {
            "type": "number"
          },
          "station": {
            "type": "string",
            "enum": [
              "retrograde",
              "direct"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "penumbral",
              "partial",
              "annular",
              "total"
            ]
          },
          "obscuration": {
            "type": "number"
          },
          "phase": {
            "type": "string",
            "enum": [
              "new-moon",
              "full-moon"
            ]
          },
          "description": {
            "type": "string"
          },
          "significance": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "datetime",
          "domain",
          "type",
          "body",
          "description",
          "significance"
        ]
      }
    }
  },
  "required": [
    "birthData",
    "startDate",
    "endDate",
    "count",
    "events"
  ]
}
🟢post_forecast_transits(lang, birthData, startDate, endDate, minSignificance, ...)

Forecast the western astrology events for a single birth chart over a window up to 90 days: every transit-to-natal major aspect refined to its exact instant, every transiting planet sign ingress, every retrograde or direct station, every solar and lunar eclipse, and every New and Full Moon. Returns a time-ordered, significance-scored timeline. Built for astrology forecast feeds, transit alerts, and timing tools.

입력 스키마

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "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.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "example": "1990-07-15",
          "description": "Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence."
        },
        "time": {
          "type": "string",
          "format": "time",
          "example": "13:30:00",
          "description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
        },
        "timezone": {
          "anyOf": [
            {
              "type": "number",
              "minimum": -14,
              "maximum": 14
            },
            {
              "type": "string"
            }
          ],
          "description": "IANA 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 offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
          "example": "America/New_York"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0,
          "example": 0,
          "description": "Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0,
          "example": 0,
          "description": "Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ],
      "description": "The single birth subject this transit forecast is built for. One object only, never an array."
    },
    "startDate": {
      "type": "string",
      "format": "date",
      "example": "2026-06-01",
      "description": "First day of the transit window in YYYY-MM-DD format. Defaults to today in UTC."
    },
    "endDate": {
      "type": "string",
      "format": "date",
      "example": "2026-08-30",
      "description": "Last day of the transit window in YYYY-MM-DD format. Defaults to startDate plus 30 days. Clamped to a maximum of 90 days from startDate."
    },
    "minSignificance": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "example": 0,
      "description": "Drop transit events scoring below this significance threshold from 0 to 100. Defaults to 0."
    },
    "compact": {
      "type": "boolean",
      "description": "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.",
      "default": false
    }
  },
  "required": [
    "birthData"
  ],
  "examples": [
    {
      "birthData": {
        "date": "1990-07-15",
        "time": "13:30:00",
        "timezone": "America/New_York"
      }
    }
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date"
        },
        "time": {
          "type": "string",
          "format": "time"
        },
        "timezone": {
          "type": "number"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ]
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "count": {
      "type": "number"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "datetime": {
            "type": "string"
          },
          "domain": {
            "type": "string",
            "enum": [
              "western",
              "vedic",
              "biorhythm"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "transit-aspect",
              "sign-ingress",
              "retrograde-station",
              "eclipse",
              "lunar-phase",
              "dasha-change",
              "critical-day"
            ]
          },
          "body": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "aspect": {
            "type": "string"
          },
          "orb": {
            "type": "number"
          },
          "station": {
            "type": "string",
            "enum": [
              "retrograde",
              "direct"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "penumbral",
              "partial",
              "annular",
              "total"
            ]
          },
          "obscuration": {
            "type": "number"
          },
          "phase": {
            "type": "string",
            "enum": [
              "new-moon",
              "full-moon"
            ]
          },
          "description": {
            "type": "string"
          },
          "significance": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "datetime",
          "domain",
          "type",
          "body",
          "description",
          "significance"
        ]
      }
    }
  },
  "required": [
    "birthData",
    "startDate",
    "endDate",
    "count",
    "events"
  ]
}
🟢post_forecast_significant_dates(lang, birthData, startDate, endDate, domains, ...)

Return only the high-significance dates from the merged cross-domain forecast for a single birth subject: the rare outer-planet exact transit aspects, slow-planet sign ingresses, retrograde stations, and Vimshottari mahadasha and antardasha changes that mark genuine turning points. Defaults to a significance floor of 70 so the response is a short list of the most meaningful upcoming dates. Built for what-is-coming highlights, timing alerts, and at-a-glance forecast strips.

입력 스키마

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "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.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "example": "1990-07-15",
          "description": "Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence."
        },
        "time": {
          "type": "string",
          "format": "time",
          "example": "13:30:00",
          "description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
        },
        "timezone": {
          "anyOf": [
            {
              "type": "number",
              "minimum": -14,
              "maximum": 14
            },
            {
              "type": "string"
            }
          ],
          "description": "IANA 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 offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
          "example": "America/New_York"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0,
          "example": 0,
          "description": "Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0,
          "example": 0,
          "description": "Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ],
      "description": "The single birth subject this forecast is built for. One object only, never an array."
    },
    "startDate": {
      "type": "string",
      "format": "date",
      "example": "2026-06-01",
      "description": "First day of the window in YYYY-MM-DD format. Defaults to today in UTC."
    },
    "endDate": {
      "type": "string",
      "format": "date",
      "example": "2026-08-30",
      "description": "Last day of the window in YYYY-MM-DD format. Defaults to startDate plus 30 days. Clamped to a maximum of 90 days from startDate."
    },
    "domains": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "western",
          "vedic",
          "biorhythm"
        ],
        "example": "western",
        "description": "Forecast domain. western covers transit aspects, sign ingresses, retrograde stations, eclipses, and new and full moons. vedic covers Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. biorhythm covers critical days."
      },
      "example": [
        "western",
        "vedic",
        "biorhythm"
      ],
      "description": "Which forecast domains to consider before filtering by significance. Defaults to all three."
    },
    "minSignificance": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "example": 70,
      "description": "Significance floor from 0 to 100 for what counts as a significant date. Defaults to 70."
    },
    "domainWeights": {
      "type": "object",
      "properties": {
        "western": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        },
        "vedic": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        },
        "biorhythm": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        }
      },
      "example": {
        "vedic": 1.5,
        "biorhythm": 0.5
      },
      "description": "Per-domain significance multipliers applied before the significance floor and event cap. Bias which domains survive filtering and the cap. Omitted domains default to a weight of 1. Valid keys are western, vedic, and biorhythm."
    },
    "compact": {
      "type": "boolean",
      "description": "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.",
      "default": false
    }
  },
  "required": [
    "birthData"
  ],
  "examples": [
    {
      "birthData": {
        "date": "1990-07-15",
        "time": "13:30:00",
        "timezone": "America/New_York"
      }
    }
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date"
        },
        "time": {
          "type": "string",
          "format": "time"
        },
        "timezone": {
          "type": "number"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ]
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "count": {
      "type": "number"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "datetime": {
            "type": "string"
          },
          "domain": {
            "type": "string",
            "enum": [
              "western",
              "vedic",
              "biorhythm"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "transit-aspect",
              "sign-ingress",
              "retrograde-station",
              "eclipse",
              "lunar-phase",
              "dasha-change",
              "critical-day"
            ]
          },
          "body": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "aspect": {
            "type": "string"
          },
          "orb": {
            "type": "number"
          },
          "station": {
            "type": "string",
            "enum": [
              "retrograde",
              "direct"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "penumbral",
              "partial",
              "annular",
              "total"
            ]
          },
          "obscuration": {
            "type": "number"
          },
          "phase": {
            "type": "string",
            "enum": [
              "new-moon",
              "full-moon"
            ]
          },
          "description": {
            "type": "string"
          },
          "significance": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "datetime",
          "domain",
          "type",
          "body",
          "description",
          "significance"
        ]
      }
    }
  },
  "required": [
    "birthData",
    "startDate",
    "endDate",
    "count",
    "events"
  ]
}
🟢post_forecast_digest(lang, birthData, startDate, domains, minSignificance, ...)

Roll the cross-domain forecast for a single birth subject into four pre-summarized windows: the next 24 hours, 7 days, 30 days, and 90 days from the start date. Each window returns its event count, a per-domain count breakdown, a per-type count breakdown, and the top highest-significance events. Built for a glanceable what-is-coming strip so a caller can render the upcoming highlights without scanning the full event list.

입력 스키마

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "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.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "example": "1990-07-15",
          "description": "Birth date in YYYY-MM-DD format. Anchors the natal chart and the Vimshottari dasha sequence."
        },
        "time": {
          "type": "string",
          "format": "time",
          "example": "13:30:00",
          "description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
        },
        "timezone": {
          "anyOf": [
            {
              "type": "number",
              "minimum": -14,
              "maximum": 14
            },
            {
              "type": "string"
            }
          ],
          "description": "IANA 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 offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
          "example": "America/New_York"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0,
          "example": 0,
          "description": "Birth latitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0,
          "example": 0,
          "description": "Birth longitude in decimal degrees. Optional and does not affect the timeline. Defaults to 0."
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ],
      "description": "The single birth subject this digest is built for. One object only, never an array."
    },
    "startDate": {
      "type": "string",
      "format": "date",
      "example": "2026-06-01",
      "description": "Start anchor for every window in YYYY-MM-DD format. The next 24h, 7d, 30d, and 90d windows are measured forward from this date at 00:00:00 UTC. Defaults to today in UTC."
    },
    "domains": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "western",
          "vedic",
          "biorhythm"
        ],
        "example": "western",
        "description": "Forecast domain. western covers transit aspects, sign ingresses, retrograde stations, eclipses, and new and full moons. vedic covers Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. biorhythm covers critical days."
      },
      "example": [
        "western",
        "vedic",
        "biorhythm"
      ],
      "description": "Which forecast domains to include before rolling up the windows. Defaults to all three."
    },
    "minSignificance": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "example": 0,
      "description": "Drop events scoring below this significance threshold from 0 to 100 before the rollup. Defaults to 0."
    },
    "domainWeights": {
      "type": "object",
      "properties": {
        "western": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        },
        "vedic": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        },
        "biorhythm": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "example": 1.5,
          "description": "Multiplier for this domain significance. 1 leaves it unchanged, above 1 promotes the domain, below 1 demotes it."
        }
      },
      "example": {
        "vedic": 1.5,
        "biorhythm": 0.5
      },
      "description": "Per-domain significance multipliers applied before the significance floor and event cap. Bias which domains survive filtering and the cap. Omitted domains default to a weight of 1. Valid keys are western, vedic, and biorhythm."
    },
    "top": {
      "type": "integer",
      "minimum": 0,
      "maximum": 20,
      "example": 3,
      "description": "Number of highest-significance events to surface per window. Defaults to 3, capped at 20."
    },
    "compact": {
      "type": "boolean",
      "description": "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.",
      "default": false
    }
  },
  "required": [
    "birthData"
  ],
  "examples": [
    {
      "birthData": {
        "date": "1990-07-15",
        "time": "13:30:00",
        "timezone": "America/New_York"
      }
    }
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date"
        },
        "time": {
          "type": "string",
          "format": "time"
        },
        "timezone": {
          "type": "number"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ]
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "windows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "days": {
            "type": "number"
          },
          "from": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "count": {
            "type": "number"
          },
          "byDomain": {
            "type": "object",
            "properties": {
              "western": {
                "type": "number"
              },
              "vedic": {
                "type": "number"
              },
              "biorhythm": {
                "type": "number"
              }
            }
          },
          "byType": {
            "type": "object",
            "properties": {
              "transit-aspect": {
                "type": "number"
              },
              "sign-ingress": {
                "type": "number"
              },
              "retrograde-station": {
                "type": "number"
              },
              "eclipse": {
                "type": "number"
              },
              "lunar-phase": {
                "type": "number"
              },
              "dasha-change": {
                "type": "number"
              },
              "critical-day": {
                "type": "number"
              }
            }
          },
          "top": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "datetime": {
                  "type": "string"
                },
                "domain": {
                  "type": "string",
                  "enum": [
                    "western",
                    "vedic",
                    "biorhythm"
                  ]
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "transit-aspect",
                    "sign-ingress",
                    "retrograde-station",
                    "eclipse",
                    "lunar-phase",
                    "dasha-change",
                    "critical-day"
                  ]
                },
                "body": {
                  "type": "string"
                },
                "target": {
                  "type": "string"
                },
                "aspect": {
                  "type": "string"
                },
                "orb": {
                  "type": "number"
                },
                "station": {
                  "type": "string",
                  "enum": [
                    "retrograde",
                    "direct"
                  ]
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "penumbral",
                    "partial",
                    "annular",
                    "total"
                  ]
                },
                "obscuration": {
                  "type": "number"
                },
                "phase": {
                  "type": "string",
                  "enum": [
                    "new-moon",
                    "full-moon"
                  ]
                },
                "description": {
                  "type": "string"
                },
                "significance": {
                  "type": "number"
                }
              },
              "required": [
                "date",
                "datetime",
                "domain",
                "type",
                "body",
                "description",
                "significance"
              ]
            }
          }
        },
        "required": [
          "days",
          "from",
          "to",
          "count",
          "byDomain",
          "byType",
          "top"
        ]
      }
    }
  },
  "required": [
    "birthData",
    "startDate",
    "endDate",
    "windows"
  ]
}
🟢post_forecast_solar_return(lang, date, time, year, latitude, ...)

Cast the solar return chart for one subject and year: the chart erected for the exact moment the transiting Sun returns to its natal ecliptic longitude, the foundational technique for annual astrological forecasting. Returns the full tropical chart with planetary positions, house cusps, aspects, Ascendant, and Midheaven. Location-sensitive: pass the birthplace to anchor the chart to natal geography, or the current city for a relocated solar return where the houses and Ascendant shift to where you are on your birthday. Built for year-ahead forecast tools, birthday charts, and annual horoscope features.

입력 스키마

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "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.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. Anchors the natal Sun longitude the transiting Sun returns to each year."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "14:30:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Pins the exact natal Sun position that defines the solar return moment."
    },
    "year": {
      "type": "integer",
      "minimum": 1900,
      "maximum": 2200,
      "example": 2026,
      "description": "Year to cast the solar return for. The chart is erected for the moment in this year when the transiting Sun returns to the natal Sun longitude, on or within a day of the birthday."
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "example": 40.7128,
      "description": "Latitude of the solar return location in decimal degrees. The solar return is location-sensitive: use the birthplace to anchor the chart to natal geography, or the current city for a relocated solar return."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "example": -74.006,
      "description": "Longitude of the solar return location in decimal degrees. Sets the local sidereal time, so it drives the Ascendant, Midheaven, and house cusps of the return chart."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA 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 offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "houseSystem": {
      "type": "string",
      "enum": [
        "placidus",
        "whole-sign",
        "equal",
        "koch"
      ],
      "default": "placidus",
      "example": "placidus",
      "description": "House system for the return chart. placidus is the Western default. whole-sign, equal, and koch are also supported."
    },
    "compact": {
      "type": "boolean",
      "description": "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.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "year",
    "latitude",
    "longitude",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "14:30:00",
      "year": 2026,
      "latitude": 40.7128,
      "longitude": -74.006,
      "timezone": "America/New_York"
    }
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "birthDate": {
      "type": "string"
    },
    "solarReturnDate": {
      "type": "string"
    },
    "solarReturnYear": {
      "type": "number"
    },
    "location": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        },
        "timezone": {
          "type": "number"
        }
      },
      "required": [
        "latitude",
        "longitude",
        "timezone"
      ]
    },
    "natalSunPosition": {
      "type": "object",
      "properties": {
        "longitude": {
          "type": "number"
        },
        "sign": {
          "type": "string"
        },
        "degree": {
          "type": "number"
        }
      },
      "required": [
        "longitude",
        "sign",
        "degree"
      ]
    },
    "chart": {
      "type": "object",
      "properties": {
        "birthDetails": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "format": "date"
            },
            "time": {
              "type": "string",
              "format": "time"
            },
            "latitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            },
            "longitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "timezone": {
              "type": "number",
              "minimum": -12,
              "maximum": 14
            }
          },
          "required": [
            "date",
            "time",
            "latitude",
            "longitude",
            "timezone"
          ]
        },
        "planets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "Sun",
                  "Moon",
                  "Mercury",
                  "Venus",
                  "Mars",
                  "Jupiter",
                  "Saturn",
                  "Uranus",
                  "Neptune",
                  "Pluto",
                  "North Node",
                  "South Node",
                  "Chiron",
                  "Black Moon Lilith"
                ]
              },
              "longitude": {
                "type": "number",
                "minimum": 0,
                "maximum": 360
              },
              "latitude": {
                "type": "number"
              },
              "sign": {
                "type": "string"
              },
              "degree": {
                "type": "number",
                "minimum": 0,
                "maximum": 30
              },
              "house": {
                "type": "integer",
                "minimum": 1,
                "maximum": 12
              },
              "speed": {
                "type": "number"
              },
              "isRetrograde": {
                "type": "boolean"
              }
            },
            "required": [
              "name",
              "longitude",
              "latitude",
              "sign",
              "degree",
              "house",
              "speed",
              "isRetrograde"
            ]
          }
        },
        "houses": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer",
                "minimum": 1,
                "maximum": 12
              },
              "longitude": {
                "type": "number",
                "minimum": 0,
                "maximum": 360
              },
              "sign": {
                "type": "string"
              },
              "degree": {
                "type": "number",
                "minimum": 0,
                "maximum": 30
              }
            },
            "required": [
              "number",
              "longitude",
              "sign",
              "degree"
            ]
          }
        },
        "houseSystem": {
          "type": "string",
          "enum": [
            "placidus",
            "whole-sign",
            "equal",
            "koch"
          ]
        },
        "aspects": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "planet1": {
                "type": "string",
                "enum": [
                  "Sun",
                  "Moon",
                  "Mercury",
                  "Venus",
                  "Mars",
                  "Jupiter",
                  "Saturn",
                  "Uranus",
                  "Neptune",
                  "Pluto",
                  "North Node",
                  "South Node",
                  "Chiron",
                  "Black Moon Lilith"
                ]
              },
              "planet2": {
                "type": "string",
                "enum": [
                  "Sun",
                  "Moon",
                  "Mercury",
                  "Venus",
                  "Mars",
                  "Jupiter",
                  "Saturn",
                  "Uranus",
                  "Neptune",
                  "Pluto",
                  "North Node",
                  "South Node",
                  "Chiron",
                  "Black Moon Lilith"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "CONJUNCTION",
                  "OPPOSITION",
                  "TRINE",
                  "SQUARE",
                  "SEXTILE",
                  "SEMI_SEXTILE",
                  "QUINCUNX",
                  "SEMI_SQUARE",
                  "SESQUIQUADRATE"
                ]
              },
              "angle": {
                "type": "number"
              },
              "orb": {
                "type": "number"
              },
              "isApplying": {
                "type": "boolean"
              },
              "strength": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "interpretation": {
                "type": "string",
                "enum": [
                  "harmonious",
                  "challenging",
                  "neutral"
                ]
              }
            },
            "required": [
              "planet1",
              "planet2",
              "type",
              "angle",
              "orb",
              "isApplying",
              "strength",
              "interpretation"
            ]
          }
        },
        "partOfFortune": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "degree": {
              "type": "number",
              "minimum": 0,
              "maximum": 30
            },
            "longitude": {
              "type": "number",
              "minimum": 0,
              "maximum": 360
            },
            "house": {
              "type": "integer",
              "minimum": 1,
              "maximum": 12
            },
            "sect": {
              "type": "string",
              "enum": [
                "day",
                "night"
              ]
            }
          },
          "required": [
            "sign",
            "degree",
            "longitude",
            "house",
            "sect"
          ]
        },
        "vertex": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "degree": {
              "type": "number",
              "minimum": 0,
              "maximum": 30
            },
            "longitude": {
              "type": "number",
              "minimum": 0,
              "maximum": 360
            },
            "house": {
              "type": "integer",
              "minimum": 1,
              "maximum": 12
            }
          },
          "required": [
            "sign",
            "degree",
            "longitude",
            "house"
          ]
        }
      },
      "required": [
        "birthDetails",
        "planets",
        "houses",
        "houseSystem",
        "aspects",
        "partOfFortune",
        "vertex"
      ]
    }
  },
  "required": [
    "birthDate",
    "solarReturnDate",
    "solarReturnYear",
    "location",
    "natalSunPosition",
    "chart"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개
검증됨버전이 기록되지 않음도구 5개