# Astrology Forecast MCP Server by RoxyAPI (remote · roxyapi.com)

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

- Trust score: 65/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `roxyapi.com`: 65/100 (this document), [markdown](https://verifymcp.io/servers/com-roxyapi-forecast/mcp-forecast.md), [page](https://verifymcp.io/servers/com-roxyapi-forecast/mcp-forecast)

## Channel facts

- Endpoint: `https://roxyapi.com/mcp/forecast`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 56/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2426 tokens (~485/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-roxyapi-forecast https://roxyapi.com/mcp/forecast
```

### Codex

```toml
[mcp_servers.com-roxyapi-forecast]
url = "https://roxyapi.com/mcp/forecast"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-roxyapi-forecast": {
      "type": "remote",
      "url": "https://roxyapi.com/mcp/forecast",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-roxyapi-forecast --url https://roxyapi.com/mcp/forecast --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-roxyapi-forecast:
    url: "https://roxyapi.com/mcp/forecast"
```

### Other

```json
{
  "mcpServers": {
    "com-roxyapi-forecast": {
      "type": "http",
      "url": "https://roxyapi.com/mcp/forecast"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 64, 0)

- [functional improvement] Endpoint reachability: unreachable → reachable

### 2026-07-31 (score 64, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 61, 0)

- [security regression] Endpoint reachability: reachable → unreachable
- [security regression] HSTS header: pass → unverified
- [security regression] Stability: 0.07 → unverified
- [security regression] TLS certificate: pass → unverified
- [security regression] Transport: pass → fail
- [security] Authorization: Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-28 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 60, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 60)

First indexed and scored.

## MCP tools (5)

### `post_forecast_timeline` (~485 tokens)

Cross-domain forecast timeline - Transits, ingresses, stations, dasha changes, critical days

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.

Input parameters:

- `birthData` (object, required): The single birth subject this forecast is built for. One object only, never an array.
- `compact` (boolean): Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {"__cols":[fie…
- `domainWeights` (object): 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 wes…
- `domains` (array): Which forecast domains to include. Defaults to all three. Pass a subset to scope the timeline to one or two engines.
- `endDate` (string): 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.
- `lang` (string): Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
- `minSignificance` (number): Drop events scoring below this significance threshold from 0 to 100. Defaults to 0, keeping all events.
- `startDate` (string): First day of the forecast window in YYYY-MM-DD format. Defaults to today in UTC.

### `post_forecast_transits` (~372 tokens)

Western astrology forecast - aspects, ingresses, stations, eclipses, moon phases

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.

Input parameters:

- `birthData` (object, required): The single birth subject this transit forecast is built for. One object only, never an array.
- `compact` (boolean): Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {"__cols":[fie…
- `endDate` (string): 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.
- `lang` (string): Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
- `minSignificance` (number): Drop transit events scoring below this significance threshold from 0 to 100. Defaults to 0.
- `startDate` (string): First day of the transit window in YYYY-MM-DD format. Defaults to today in UTC.

### `post_forecast_significant_dates` (~462 tokens)

Significant dates - High-significance cross-domain forecast highlights

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.

Input parameters:

- `birthData` (object, required): The single birth subject this forecast is built for. One object only, never an array.
- `compact` (boolean): Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {"__cols":[fie…
- `domainWeights` (object): 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 wes…
- `domains` (array): Which forecast domains to consider before filtering by significance. Defaults to all three.
- `endDate` (string): 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.
- `lang` (string): Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
- `minSignificance` (number): Significance floor from 0 to 100 for what counts as a significant date. Defaults to 70.
- `startDate` (string): First day of the window in YYYY-MM-DD format. Defaults to today in UTC.

### `post_forecast_digest` (~477 tokens)

Forecast digest - Pre-summarized next 24h, 7d, 30d, and 90d rollups

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.

Input parameters:

- `birthData` (object, required): The single birth subject this digest is built for. One object only, never an array.
- `compact` (boolean): Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {"__cols":[fie…
- `domainWeights` (object): 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 wes…
- `domains` (array): Which forecast domains to include before rolling up the windows. Defaults to all three.
- `lang` (string): Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
- `minSignificance` (number): Drop events scoring below this significance threshold from 0 to 100 before the rollup. Defaults to 0.
- `startDate` (string): 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.
- `top` (integer): Number of highest-significance events to surface per window. Defaults to 3, capped at 20.

### `post_forecast_solar_return` (~630 tokens)

Solar return chart - Annual birthday forecast chart for a single subject

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.

Input parameters:

- `compact` (boolean): Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {"__cols":[fie…
- `date` (string, required): Birth date in YYYY-MM-DD format. Anchors the natal Sun longitude the transiting Sun returns to each year.
- `houseSystem` (string): House system for the return chart. placidus is the Western default. whole-sign, equal, and koch are also supported.
- `lang` (string): Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English.
- `latitude` (number, required): 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…
- `longitude` (number, required): 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.
- `time` (string, required): Birth time in 24-hour HH:MM:SS format. Pins the exact natal Sun position that defines the solar return moment.
- `timezone` (required): 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 D…
- `year` (integer, required): 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.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-roxyapi-forecast/mcp-forecast#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 65
- 2026-08-01: 64
- 2026-07-31: 64
- 2026-07-30: 62
- 2026-07-29: 61
- 2026-07-28: 61
- 2026-07-27: 60
- 2026-07-26: 60

## Links

- Remote endpoint: https://roxyapi.com/mcp/forecast
- Authorisation metadata: https://roxyapi.com/.well-known/oauth-protected-resource/mcp/forecast
- Website: https://roxyapi.com/products/forecast-api
- Changelog RSS feed: https://verifymcp.io/servers/com-roxyapi-forecast/mcp-forecast/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-roxyapi-forecast/mcp-forecast/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-roxyapi-forecast/mcp-forecast
