Skip to main content
Glama

Astrocartography Lines

acg_power_lines
Read-onlyIdempotent

Lists each planet's MC, IC, AC and DC astrocartography lines with signs and equator-crossing longitudes, so users can see their world map of power lines without map geometry.

Instructions

Use this when the user asks 'show my astrocartography map', 'where are my Jupiter lines' or wants the whole-world list of their lines. Returns each planet's MC, IC, AC and DC lines with sign and equator-crossing longitude (no map geometry).

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_degNoHit radius, degrees. Default 2.
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_latitudeNoFilter lines near this latitude.
birth_longitudeYesBirth longitude.
query_longitudeNoFilter lines near this longitude.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 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 / radius_deg / description
      Previous value: -"Search radius in degrees for hits filtering. Default 2°."New value: +"Hit radius, degrees. Default 2."
    • 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. Changed10 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."
    • changedInput schema / properties / query_latitude / description
      Previous value: -"Filter lines near this latitude (optional, for hits mode)."New value: +"Filter lines near this latitude."
    • changedInput schema / properties / query_longitude / description
      Previous value: -"Filter lines near this longitude (optional, for hits mode)."New value: +"Filter lines near this longitude."
  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/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, non-destructive profile, and the description adds real value beyond them: a flat 10-credit cost, a Pro-tier gate, and an explicit statement that no map geometry is returned. It doesn't mention auth requirements or whether extended bodies change the price at this tool level, but the cost disclosure is the key operational fact and it's present.

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?

Usage trigger comes first, return shape second, cost as a separate terse line. Zero filler and the no-map-geometry caveat is packed into the same sentence as the return description.

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?

With nine parameters, three required, and no output schema, the description does the important work of characterizing the return value (line longitudes, no geometry) and the cost model. What's missing is minor: whether filters like query_latitude interact with radius_deg, and how the whole-world result is sized/paginated.

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 coverage is 100% and the property descriptions are unusually rich (Rahu/Ketu mapping, per-body credit pricing, radius default of 2, timezone handling), so the schema carries the burden. The description adds nothing about `bodies`, `radius_deg`, or the `query_latitude`/`query_longitude` filters, so baseline 3 applies.

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

Purpose4/5

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

A specific verb + resource is given: returns each planet's MC/IC/AC/DC lines with sign and equator-crossing longitude, and explicitly notes it excludes map geometry. That scoping makes the output shape unambiguous. It doesn't contrast itself with the sibling `acg_hits`, so an agent must still infer which of the two astrocartography tools to pick.

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?

Opens with concrete user phrasings ('show my astrocartography map', 'where are my Jupiter lines') and the condition 'wants the whole-world list of their lines', which is a usable selection signal. It stops short of naming `acg_hits` as the narrower alternative, so the exclusion is only implicit.

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