AstroWay Forecasting
info.astroway/forecastastroway.infostreamable-httpv0.4.3Scanned
Transits, progressions, directions, returns, cosmobiology and evolutionary technique.
45 tools: 34 change things and 11 only read.
- Reads private data · 1
- Reads text others write · 7
- Can send data out · 1
- 5 findings
Tools listed without sign-in. Remote posture
Anlyon alternative
34 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
45 tools
Changes things 34Claude Code: ask
astroway_agent_toolsTool definitions for an agent framework, generated from the live OpenAPI document, so the schema a model fills is the schema the endpoint validates.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Tool definitions for an agent framework, generated from the live OpenAPI document, so the schema a model fills is the schema the endpoint validates. `format=openai` (default) returns `{ type, function }` objects you can spread straight into a chat completion; `format=anthropic` returns `{ name, description, input_schema }`. The objects carry nothing of ours: how to call each tool lives in a separate `executors` map keyed by tool name, because an unexpected key inside a vendor tool object is a 400 at their end. [Group: Agent Platform] [Endpoint: GET /v1/agent/tools] [Cost: see your plan — endpoint not in the public credit manifest]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_cosmogramEbertin cosmogram render data.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Ebertin cosmogram render data. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/cosmogram] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_dial_90All chart points in 90° cardinal modulus.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it All chart points in 90° cardinal modulus. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/dial-90] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_eight_harmonic_aspects22.5° / 45° / 67.5° / 90° / 135° aspects.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 22.5° / 45° / 67.5° / 90° / 135° aspects. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/eight-harmonic-aspects] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_lefeldt_extensionsLefeldt-Brummund 22.5° subdivisions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Lefeldt-Brummund 22.5° subdivisions. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/lefeldt-extensions] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_midpoint_picturesA=B/C structures with sentence form.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it A=B/C structures with sentence form. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/midpoint-pictures] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_sensitive_pointsEbertin's personal points midpoint hits.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Ebertin's personal points midpoint hits. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/sensitive-points] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_transit_midpointsTransits hitting natal midpoints in 90° dial.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Transits hitting natal midpoints in 90° dial. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/transit-midpoints] [Required: date, time, latitude, longitude, targetDate] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_uranian_tnps8 Hamburg trans-Neptunian bodies.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 8 Hamburg trans-Neptunian bodies. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/uranian-tnps] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_witte_formulasWitte planetary pictures A+B−C=D.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Witte planetary pictures A+B−C=D. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/witte-formulas] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cost_estimateEstimate the credit cost of one or more endpoints WITHOUT invoking them.Can send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- outboundThe input takes a URL (input.endpoints): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Estimate the credit cost of one or more endpoints WITHOUT invoking them. Returns total + per-endpoint breakdown with tier annotations. Useful when planning multi-step workflows: estimate first, ask user confirmation, then invoke. Cache TTL 5 min.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_evolutionary_nodal_axis_detailFull NN/SN with rulers + conjuncts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Full NN/SN with rulers + conjuncts. [Group: Evolutionary Astrology] [Endpoint: POST /v1/evolutionary/nodal-axis-detail] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_evolutionary_pluto_natal_conditionJWG: Pluto sign+house+ruler+hard aspects.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it JWG: Pluto sign+house+ruler+hard aspects. [Group: Evolutionary Astrology] [Endpoint: POST /v1/evolutionary/pluto-natal-condition] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_evolutionary_skipped_stepsPlanets squaring nodal axis = unfinished karma.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Planets squaring nodal axis = unfinished karma. [Group: Evolutionary Astrology] [Endpoint: POST /v1/evolutionary/skipped-steps] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_evolutionary_soul_typesJWG's 4-type by Pluto house quadrant.1 finding
Why it is in this group
- The name "astroway_evolutionary_soul_types" says "type": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "astroway_evolutionary_soul_types" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "astroway_evolutionary_soul_types" says "type": a word for a change.
Description, as the server wrote it JWG's 4-type by Pluto house quadrant. [Group: Evolutionary Astrology] [Endpoint: POST /v1/evolutionary/soul-types] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_evolutionary_yesterday_skyForrest 2008 past-life method.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Forrest 2008 past-life method. [Group: Evolutionary Astrology] [Endpoint: POST /v1/evolutionary/yesterday-sky] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_mcp_agent_debate2 personas debate a topic, multi-round transcript.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 2 personas debate a topic, multi-round transcript. [Group: MCP Advanced] [Endpoint: POST /v1/mcp/agent-debate] [Required: topic, agentA, agentB] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_mcp_ai_chatChat answered from the positions we computed for this birth moment, not from the model's memory of a sun sign.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Chat answered from the positions we computed for this birth moment, not from the model's memory of a sun sign. Carries up to 10 turns of history, replies in 21 languages, and takes four voices through `persona`. Send your own provider key and the turn costs 5 credits instead of the endpoint price. [Group: AI & MCP] [Endpoint: POST /v1/ai/chat] [Required: message] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
astroway_mcp_ai_comparison_coachCoach two charts on relationship dynamics.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Coach two charts on relationship dynamics. [Group: AI & MCP] [Endpoint: POST /v1/ai/comparison-coach] [Required: chart1, chart2, question] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
astroway_mcp_multi_agent_coordinateRun N personas in parallel + LLM synthesis.1 finding
Why it is in this group
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "astroway_mcp_multi_agent_coordinate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.
Description, as the server wrote it Run N personas in parallel + LLM synthesis. [Group: MCP Advanced] [Endpoint: POST /v1/mcp/multi-agent-coordinate] [Required: question, agents] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_mcp_multi_chart_contextCompact context for MCP agents working across multiple charts.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Compact context for MCP agents working across multiple charts. [Group: AI & MCP] [Endpoint: POST /v1/mcp/multi-chart-context] [Required: charts] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
astroway_mcp_streamingServer-Sent Events streaming chat completion with optional chart context.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Server-Sent Events streaming chat completion with optional chart context. [Group: AI & MCP] [Endpoint: POST /v1/mcp/streaming] [Required: message] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
astroway_mcp_tool_call_streamSSE-stream of a tool call envelope.1 finding
Why it is in this group
- The name "astroway_mcp_tool_call_stream" says "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "astroway_mcp_tool_call_stream" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "astroway_mcp_tool_call_stream" says "call": a word for a change.
Description, as the server wrote it SSE-stream of a tool call envelope. [Group: MCP Advanced] [Endpoint: POST /v1/mcp/tool-call-stream] [Required: tool] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_firdariaCalculate Firdaria planetary periods: the traditional Persian time-lord system based on sect and planet order.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate Firdaria planetary periods: the traditional Persian time-lord system based on sect and planet order. [Group: Prognostics] [Endpoint: POST /v1/firdaria] [Cost: 20 credits (Tier 2)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_forecast_calendarGenerate a combined forecast calendar including transits, lunar phases, ingresses, and retrograde stations for a given period.1 finding
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "astroway_prognostics_forecast_calendar" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate a combined forecast calendar including transits, lunar phases, ingresses, and retrograde stations for a given period. [Group: Prognostics] [Endpoint: POST /v1/forecast-calendar] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_minor_progressionsCalculate minor progressions (lunar month-for-a-year) to a target date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate minor progressions (lunar month-for-a-year) to a target date. Supports converse direction. [Group: Prognostics] [Endpoint: POST /v1/minor-progressions] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_primary_directionsCalculate primary directions (Ptolemaic or Regiomontanus) up to a maximum age.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate primary directions (Ptolemaic or Regiomontanus) up to a maximum age. Returns a timeline of directed aspect hits. [Group: Prognostics] [Endpoint: POST /v1/primary-directions] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_profectionsCalculate annual profections: profected Ascendant, lord of the year, activated house, and monthly profection sub-rulers.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate annual profections: profected Ascendant, lord of the year, activated house, and monthly profection sub-rulers. [Group: Prognostics] [Endpoint: POST /v1/profections] [Cost: 20 credits (Tier 2)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_progressionsCalculate secondary progressed chart (day-for-a-year) for a target date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate secondary progressed chart (day-for-a-year) for a target date. Returns progressed planets, houses and angles, and the aspects between progressed planets. [Group: Prognostics] [Endpoint: POST /v1/progressions] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_rectificationRectify an approximate birth time using a list of life events and transit/direction hits to narrow the birth time window.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote itContains invisible characters, shown as [U+…] Rectify an approximate birth time using a list of life events and transit/direction hits to narrow the birth time window. [Group: Prognostics] [Endpoint: POST /v1/rectification] [Required: baseInput, events] [Cost: 500 credits (Tier 6)] ⚠[U+FE0F] Heavy — confirm with user before invoking.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_rectification_trutineApply the Trutine of Hermes (Animodar) technique to derive the birth time from the Moon's prenatal syzygy position.1 finding
Why it is in this group
- The description's first verb is "apply": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "astroway_prognostics_rectification_trutine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "apply": a word for a change.
Description, as the server wrote itContains invisible characters, shown as [U+…] Apply the Trutine of Hermes (Animodar) technique to derive the birth time from the Moon's prenatal syzygy position. [Group: Prognostics] [Endpoint: POST /v1/rectification/trutine] [Required: date, time, latitude, longitude] [Cost: 250 credits (Tier 5)] ⚠[U+FE0F] Heavy — confirm with user before invoking.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_symbolic_directionsCalculate symbolic arc directions to natal points for a target date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate symbolic arc directions to natal points for a target date. Key: "one_degree" (default), "naibod", or "solar_arc" (the arc of the progressed Sun). [Group: Prognostics] [Endpoint: POST /v1/symbolic-directions] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_tertiary_progressionsCalculate tertiary progressions (day-for-a-lunar-month) to a target date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate tertiary progressions (day-for-a-lunar-month) to a target date. Supports converse direction. [Group: Prognostics] [Endpoint: POST /v1/tertiary-progressions] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_transitsCalculate transit planet aspects to natal planets for a given date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate transit planet aspects to natal planets for a given date. Returns applying and separating aspects. [Group: Prognostics] [Endpoint: POST /v1/transits] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 11Show 11 read-only tools
astroway_account_statusCheck current API key status: tier, credit balance, rate limits, monthly cycle reset.No findings
Why it is in this group
- The name "astroway_account_status" says "status": a word for reading.
Description, as the server wrote it Check current API key status: tier, credit balance, rate limits, monthly cycle reset. Run this BEFORE invoking expensive endpoints (Tier 4+ at 100+ credits, Tier 6/7 at 500-5000 credits) to confirm the user has budget. Returns plain-text human-readable summary.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_cosmobiology_personal_point_treeTree per personal point.No findings
Why it is in this group
- The name "astroway_cosmobiology_personal_point_tree" says "tree": a word for reading.
Description, as the server wrote it Tree per personal point. [Group: Cosmobiology / Hamburg School] [Endpoint: POST /v1/cosmobiology/personal-point-tree] [Required: date, time, latitude, longitude] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_mcp_agent_pool_status8 personas with specialties.No findings
Why it is in this group
- The name "astroway_mcp_agent_pool_status" says "status": a word for reading.
Description, as the server wrote it 8 personas with specialties. [Group: MCP Advanced] [Endpoint: GET /v1/mcp/agent-pool-status] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_mcp_ai_explain_aspectDetailed explanation of an aspect between two planets.Reads text others writeNo findings
Why it is in this group
- The name "astroway_mcp_ai_explain_aspect" says "explain": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Detailed explanation of an aspect between two planets. [Group: AI & MCP] [Endpoint: POST /v1/ai/explain-aspect] [Required: planet1, planet2, aspectType] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
astroway_mcp_ai_explain_transitExplain a current transit hitting your natal chart.Reads text others writeNo findings
Why it is in this group
- The name "astroway_mcp_ai_explain_transit" says "explain": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Explain a current transit hitting your natal chart. [Group: AI & MCP] [Endpoint: POST /v1/ai/explain-transit] [Required: chart, transitDate, transitPlanet, natalPlanet, aspectType] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
astroway_mcp_rag_searchKeyword-tag scoring over chart chunks.No findings
Why it is in this group
- The name "astroway_mcp_rag_search" says "search": a word for reading.
Description, as the server wrote it Keyword-tag scoring over chart chunks. [Group: MCP Advanced] [Endpoint: POST /v1/mcp/rag-search] [Required: query, chart] [Cost: 10 credits (Tier 1)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_mcp_tools_listAuto-generated tool manifest for MCP clients (modelcontextprotocol/2025-03 spec).Reads text others writeNo findings
Why it is in this group
- The name "astroway_mcp_tools_list" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Auto-generated tool manifest for MCP clients (modelcontextprotocol/2025-03 spec). [Group: AI & MCP] [Endpoint: GET /v1/mcp/tools-list] [Cost: see your plan — endpoint not in the public credit manifest]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
astroway_prognostics_lunar_returnFind the next date when the Moon returns to its natal longitude.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find the next date when the Moon returns to its natal longitude. Returns full lunar return chart. [Group: Prognostics] [Endpoint: POST /v1/lunar-return] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_planetary_returnFind all returns of any planet to its natal longitude within a given year.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find all returns of any planet to its natal longitude within a given year. Returns full charts for each return. [Group: Prognostics] [Endpoint: POST /v1/planetary-return] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_solar_returnFind the exact moment when the Sun returns to its natal longitude in a given year.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find the exact moment when the Sun returns to its natal longitude in a given year. Returns full solar return chart. [Group: Prognostics] [Endpoint: POST /v1/solar-return] [Cost: 50 credits (Tier 3)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
astroway_prognostics_transit_calendarList the exact moments of transit-to-natal aspects in a date range, one event per exact pass, so a retrograde triple pass gives three events.Reads private dataNo findings
Why it is in this group
- The description's first verb is "list": a word for reading.
What it can reach
- private-dataThe name "astroway_prognostics_transit_calendar" says "calendar": it reads calendars.
Description, as the server wrote it List the exact moments of transit-to-natal aspects in a date range, one event per exact pass, so a retrograde triple pass gives three events. [Group: Prognostics] [Endpoint: POST /v1/transit-calendar] [Cost: 100 credits (Tier 4)]
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
7 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write7
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__forecast__astroway_cost_estimate"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 15:20 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 34
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- not observed
- RFC 9728 protected resource metadata
- https://mcp.astroway.info/.well-known/oauth-protected-resource/mcp/forecast
- Authorization servers
- https://api.astroway.info
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- yes
- Client ID metadata documents
- yes
- WarnThe whole server
The endpoint served tools/list without credentials, and the list has 34 tools that change things (34 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://mcp.astroway.info/mcp/forecast: tools/list returned 45 tools to an anonymous client, including astroway_cost_estimate (write), astroway_agent_tools (write), astroway_mcp_ai_chat (write), astroway_mcp_ai_comparison_coach (write), astroway_cosmobiology_cosmogram (write) and 29 more
Findings
Matches of fixed checks, with the text they matched.
The server marks "astroway_evolutionary_soul_types" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "astroway_evolutionary_soul_types" says "type": a word for a change.
The server marks "astroway_prognostics_forecast_calendar" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
The server marks "astroway_mcp_multi_agent_coordinate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.
The server marks "astroway_mcp_tool_call_stream" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "astroway_mcp_tool_call_stream" says "call": a word for a change.
The server marks "astroway_prognostics_rectification_trutine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "apply": a word for a change.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 0.4.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http forecast https://mcp.astroway.info/mcp/forecast --header 'Authorization: <your-authorization>'claude mcp add --transport http forecast https://mcp.astroway.info/mcp/forecast --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__forecast__astroway_account_status",
"mcp__forecast__astroway_mcp_ai_explain_aspect",
"mcp__forecast__astroway_mcp_ai_explain_transit",
"mcp__forecast__astroway_cosmobiology_personal_point_tree",
"mcp__forecast__astroway_prognostics_lunar_return",
"mcp__forecast__astroway_mcp_agent_pool_status",
"mcp__forecast__astroway_mcp_rag_search",
"mcp__forecast__astroway_mcp_tools_list",
"mcp__forecast__astroway_prognostics_planetary_return",
"mcp__forecast__astroway_prognostics_solar_return",
"mcp__forecast__astroway_prognostics_transit_calendar"
],
"ask": [
"mcp__forecast__astroway_cost_estimate",
"mcp__forecast__astroway_agent_tools",
"mcp__forecast__astroway_mcp_ai_chat",
"mcp__forecast__astroway_mcp_ai_comparison_coach",
"mcp__forecast__astroway_cosmobiology_cosmogram",
"mcp__forecast__astroway_cosmobiology_dial_90",
"mcp__forecast__astroway_cosmobiology_eight_harmonic_aspects",
"mcp__forecast__astroway_cosmobiology_lefeldt_extensions",
"mcp__forecast__astroway_cosmobiology_midpoint_pictures",
"mcp__forecast__astroway_cosmobiology_sensitive_points",
"mcp__forecast__astroway_cosmobiology_transit_midpoints",
"mcp__forecast__astroway_cosmobiology_uranian_tnps",
"mcp__forecast__astroway_cosmobiology_witte_formulas",
"mcp__forecast__astroway_evolutionary_nodal_axis_detail",
"mcp__forecast__astroway_evolutionary_pluto_natal_condition",
"mcp__forecast__astroway_evolutionary_skipped_steps",
"mcp__forecast__astroway_evolutionary_soul_types",
"mcp__forecast__astroway_evolutionary_yesterday_sky",
"mcp__forecast__astroway_prognostics_firdaria",
"mcp__forecast__astroway_prognostics_forecast_calendar",
"mcp__forecast__astroway_mcp_agent_debate",
"mcp__forecast__astroway_mcp_multi_agent_coordinate",
"mcp__forecast__astroway_mcp_multi_chart_context",
"mcp__forecast__astroway_mcp_streaming",
"mcp__forecast__astroway_mcp_tool_call_stream",
"mcp__forecast__astroway_prognostics_minor_progressions",
"mcp__forecast__astroway_prognostics_primary_directions",
"mcp__forecast__astroway_prognostics_profections",
"mcp__forecast__astroway_prognostics_progressions",
"mcp__forecast__astroway_prognostics_rectification",
"mcp__forecast__astroway_prognostics_rectification_trutine",
"mcp__forecast__astroway_prognostics_symbolic_directions",
"mcp__forecast__astroway_prognostics_tertiary_progressions",
"mcp__forecast__astroway_prognostics_transits"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as forecast. Review it before you use it.
Capability tags behind 9 rules
- mcp__forecast__astroway_cost_estimate outbound
- mcp__forecast__astroway_mcp_ai_chat untrusted-input
- mcp__forecast__astroway_mcp_ai_comparison_coach untrusted-input
- mcp__forecast__astroway_mcp_ai_explain_aspect untrusted-input
- mcp__forecast__astroway_mcp_ai_explain_transit untrusted-input
- mcp__forecast__astroway_mcp_multi_chart_context untrusted-input
- mcp__forecast__astroway_mcp_streaming untrusted-input
- mcp__forecast__astroway_mcp_tools_list untrusted-input
- mcp__forecast__astroway_prognostics_transit_calendar private-data
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/info.astroway/forecast/verify?hash=4e271e9c1b1ffda31231136f8867d1e981622d38f8b1ef7fa5416239aa41c6bc" | jq -e '.changed == false'Pinned hash 4e271e9c1b1f, from Oct 21, 2026, 19:12 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/info.astroway/forecast/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/info.astroway/forecast)Source: MCP Registry. Synced Oct 21, 2026, 18:13 UTC.