Skip to main content
Glama

Astrocartography Location Hits

acg_hits
Read-onlyIdempotent

Find astrocartography power and aspect lines near a chosen place to assess relocation suitability and answer where-to-live questions from a birth chart.

Instructions

Use this when the user asks 'is Tokyo good for me', 'where should I live according to my chart' or 'should I move to Austin'. Returns every astrocartography line (power and aspect lines) within radius_deg of a place, nearest first.

CREDIT COST: 10 credits per call. Pro tier.

Input Schema

NameRequiredDescriptionDefault
bodiesNoDefault the classical planets; 'Rahu'/'Ketu' = nodes. Extended ids from GET /catalogs/bodies (Eris, Sedna, …) cost 1 credit each (max +20), 1600–2200 CE; 'Eros' is the lot, 'Eros (asteroid)' the asteroid.
timezoneNoIANA zone for a local datetime.
radius_degNoDegrees; default 2, max 90.
custom_bodiesNoEnterprise. Own fixed points (longitude or ra_deg/dec_deg), up to 32, 1 credit each.
birth_datetimeYesISO 8601; zone required (`Z`/offset, or local time plus `timezone`).
birth_latitudeYesBirth latitude.
query_latitudeYesPlace latitude to check.
birth_longitudeYesBirth longitude.
include_aspectsNoDefault true.
query_longitudeYesPlace longitude to check.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv4.29.0
    • changedInput schema / properties / birth_datetime / description
      Previous value: -"ISO 8601 datetime. A datetime with no zone is rejected; give a `Z` or ±HH:MM suffix, or a local time with the `timezone` argument. Date-only resolves to 12:00 UTC. An unstated zone moves every ACG line by ~15° of longitude per hour."New value: +"ISO 8601; zone required (`Z`/offset, or local time plus `timezone`)."
    • changedInput schema / properties / birth_latitude / description
      Previous value: -"Birth latitude in decimal degrees."New value: +"Birth latitude."
    • changedInput schema / properties / birth_longitude / description
      Previous value: -"Birth longitude in decimal degrees."New value: +"Birth longitude."
    • changedInput schema / properties / bodies / description
      Previous value: -"List of celestial bodies for line calculation. E.g. ['Sun', 'Moon', 'Venus', 'Mars', 'Jupiter', 'Saturn']. Aliases: 'NorthNode'/'Node'/'Rahu' → MeanNode, 'SouthNode'/'Ketu' → SouthNode. Omit to use all classical planets. The extended catalog can be named too — Eris, Sedna, Makemake, Haumea, Quaoar, Orcus, Chaos, Gonggong, Salacia, Hygiea, Psyche, Fortuna, Pandora, Diana, Hekate, Asbolus, Hylonome, Nessus, Chariklo, Sappho, 'Eros (asteroid)' and about sixty more (GET /catalogs/bodies lists them). Each extended body named adds 1 credit (max +20); plain 'Eros' is the Hermetic lot, not the asteroid. Extended bodies are computed for 1600–2200 CE only."New value: +"Default the classical planets; 'Rahu'/'Ketu' = nodes. Extended ids from GET /catalogs/bodies (Eris, Sedna, …) cost 1 credit each (max +20), 1600–2200 CE; 'Eros' is the lot, 'Eros (asteroid)' the asteroid."
    • changedInput schema / properties / custom_bodies / description
      Previous value: -"Enterprise tier. Your own fixed points drawn like bodies: longitude (+latitude) on the tropical ecliptic, or ra_deg + dec_deg, all in degrees. id and metadata come back on each line. Up to 32, 1 credit each (shared +20 cap with extended bodies)."New value: +"Enterprise. Own fixed points (longitude or ra_deg/dec_deg), up to 32, 1 credit each."
    • changedInput schema / properties / include_aspects / description
      Previous value: -"Include aspect lines in results (default true)."New value: +"Default true."
    • changedInput schema / properties / query_latitude / description
      Previous value: -"Latitude of the location to check for nearby lines."New value: +"Place latitude to check."
    • changedInput schema / properties / query_longitude / description
      Previous value: -"Longitude of the location to check for nearby lines."New value: +"Place longitude to check."
    • changedInput schema / properties / radius_deg / description
      Previous value: -"Search radius in degrees (default 2°, max 90°)."New value: +"Degrees; default 2, max 90."
    • changedInput schema / properties / timezone / description
      Previous value: -"IANA timezone (e.g. `America/Chicago`); required when the datetime is naive, ignored otherwise."New value: +"IANA zone for a local datetime."
  2. Changed8 schema fields changedv4.27.0
    • changedInput schema / properties / custom_bodies / description
      Previous value: -"Enterprise tier only. Your own fixed points drawn like bodies — a star, a research point, a position from another chart. Each is {id, name?, longitude (+ optional latitude) OR ra_deg + dec_deg, metadata?}; ecliptic coordinates are degrees on the tropical ecliptic, ra_deg is DEGREES not hours. `id` and `metadata` come back on every line as custom_id / metadata. Up to 32 points, 1 credit each (shared +20 cap with extended bodies)."New value: +"Enterprise tier. Your own fixed points drawn like bodies: longitude (+latitude) on the tropical ecliptic, or ra_deg + dec_deg, all in degrees. id and metadata come back on each line. Up to 32, 1 credit each (shared +20 cap with extended bodies)."
    • removedInput schema / properties / custom_bodies / items / properties / dec_deg / description
      Removed value: -"Declination in degrees (-90..90). Give with ra_deg."
    • removedInput schema / properties / custom_bodies / items / properties / id / description
      Removed value: -"Your identifier (letters, digits, _ . : -; up to 64)."
    • removedInput schema / properties / custom_bodies / items / properties / latitude / description
      Removed value: -"Ecliptic latitude in degrees (-90..90), default 0."
    • removedInput schema / properties / custom_bodies / items / properties / longitude / description
      Removed value: -"Ecliptic longitude in degrees (any real value, wrapped)."
    • removedInput schema / properties / custom_bodies / items / properties / metadata / description
      Removed value: -"Any JSON object, up to 2 KB; echoed back verbatim."
    • removedInput schema / properties / custom_bodies / items / properties / name / description
      Removed value: -"Display label; defaults to id. Must not be a catalog body name."
    • removedInput schema / properties / custom_bodies / items / properties / ra_deg / description
      Removed value: -"Right ascension in degrees (not hours). Give with dec_deg."
  3. Changed4 schema fields changedv4.24.2
    • changedInput schema / properties / birth_datetime / description
      Previous value: -"ISO 8601 datetime; zone required — a `Z`/±HH:MM suffix or the `timezone` argument. Date-only resolves to 12:00 UTC. Full rule: server `instructions`. An unstated zone moves every ACG line by ~15° of longitude per hour."New value: +"ISO 8601 datetime. A datetime with no zone is rejected; give a `Z` or ±HH:MM suffix, or a local time with the `timezone` argument. Date-only resolves to 12:00 UTC. An unstated zone moves every ACG line by ~15° of longitude per hour."
    • changedInput schema / properties / birth_latitude / description
      Previous value: -"Birth latitude in decimal degrees. Resolve from a place name with location_search; never recall coordinates from memory."New value: +"Birth latitude in decimal degrees."
    • changedInput schema / properties / bodies / description
      Previous value: -"List of celestial bodies for line calculation. E.g. ['Sun', 'Moon', 'Venus', 'Mars', 'Jupiter', 'Saturn']. Aliases: 'NorthNode'/'Node'/'Rahu' → MeanNode, 'SouthNode'/'Ketu' → SouthNode. Omit to use all classical planets."New value: +"List of celestial bodies for line calculation. E.g. ['Sun', 'Moon', 'Venus', 'Mars', 'Jupiter', 'Saturn']. Aliases: 'NorthNode'/'Node'/'Rahu' → MeanNode, 'SouthNode'/'Ketu' → SouthNode. Omit to use all classical planets. The extended catalog can be named too — Eris, Sedna, Makemake, Haumea, Quaoar, Orcus, Chaos, Gonggong, Salacia, Hygiea, Psyche, Fortuna, Pandora, Diana, Hekate, Asbolus, Hylonome, Nessus, Chariklo, Sappho, 'Eros (asteroid)' and about sixty more (GET /catalogs/bodies lists them). Each extended body named adds 1 credit (max +20); plain 'Eros' is the Hermetic lot, not the asteroid. Extended bodies are computed for 1600–2200 CE only."
    • addedInput schema / properties / custom_bodies
      Added value: +{
      +  "description": "Enterprise tier only. Your own fixed points drawn like bodies — a star, a research point, a position from another chart. Each is {id, name?, longitude (+ optional latitude) OR ra_deg + dec_deg, metadata?}; ecliptic coordinates are degrees on the tropical ecliptic, ra_deg is DEGREES not hours. `id` and `metadata` come back on every line as custom_id / metadata. Up to 32 points, 1 credit each (shared +20 cap with extended bodies).",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "dec_deg": {
      +        "description": "Declination in degrees (-90..90). Give with ra_deg.",
      +        "type": "number"
      +      },
      +      "id": {
      +        "description": "Your identifier (letters, digits, _ . : -; up to 64).",
      +        "type": "string"
      +      },
      +      "latitude": {
      +        "description": "Ecliptic latitude in degrees (-90..90), default 0.",
      +        "type": "number"
      +      },
      +      "longitude": {
      +        "description": "Ecliptic longitude in degrees (any real value, wrapped).",
      +        "type": "number"
      +      },
      +      "metadata": {
      +        "description": "Any JSON object, up to 2 KB; echoed back verbatim.",
      +        "type": "object"
      +      },
      +      "name": {
      +        "description": "Display label; defaults to id. Must not be a catalog body name.",
      +        "type": "string"
      +      },
      +      "ra_deg": {
      +        "description": "Right ascension in degrees (not hours). Give with dec_deg.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 32,
      +  "type": "array"
      +}
  4. Changed3 schema fields changedv4.8.0
    • changedInput schema / properties / birth_datetime / description
      Previous value: -"ISO 8601 natal birth date/time."New value: +"ISO 8601 datetime; zone required — a `Z`/±HH:MM suffix or the `timezone` argument. Date-only resolves to 12:00 UTC. Full rule: server `instructions`. An unstated zone moves every ACG line by ~15° of longitude per hour."
    • changedInput schema / properties / birth_latitude / description
      Previous value: -"Birth latitude in decimal degrees."New value: +"Birth latitude in decimal degrees. Resolve from a place name with location_search; never recall coordinates from memory."
    • addedInput schema / properties / timezone
      Added value: +{
      +  "description": "IANA timezone (e.g. `America/Chicago`); required when the datetime is naive, ignored otherwise.",
      +  "type": "string"
      +}
  5. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: credit cost (10 per call, Pro tier) and result ordering (nearest first). It doesn't explain auth requirements or data freshness, but the additions are meaningful.

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

Conciseness5/5

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

The description is front-loaded with use cases, then states the return behavior and cost. Every sentence earns its place with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 10 parameters (5 required) and no output schema, the description covers usage context, return format (lines, nearest first), and cost. It could say more about the shape of returned line data, but annotations and complete schema descriptions fill most gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented in the schema. The description only mentions radius_deg in passing ('within radius_deg of a place'), which is redundant with the schema's own description. Baseline 3 is appropriate when the schema carries the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (astrocartography lines) and scope (every power and aspect line within radius_deg of a place, nearest first), which clearly distinguishes it from siblings like acg_power_lines that likely return only power lines. It also anchors purpose with concrete user questions.

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

Usage Guidelines4/5

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

It provides explicit example user questions that trigger the tool, giving clear usage context. However, it does not state when to prefer alternatives like acg_power_lines or location_search, nor does it mention any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.