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 range在 post_forecast_significant_dates 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~7,815token 数(工具定义)
~16.9 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 6.11%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `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 个工具