caelus-mcp
Server Details
34-tool Caelus MCP for validated astrology: charts, transits, Vedic, facts, sky view, synthetic.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- heavyblotto/caelus
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 34 of 34 tools scored. Lowest: 3.1/5.
Each tool has a highly specific and well-described purpose. Despite the large number, their functions are clearly distinct—e.g., natal_chart vs current_sky vs composite, or dasha vs firdaria vs profections vs releasing. The detailed descriptions prevent ambiguity.
Names are consistently in snake_case but vary in style: some are noun phrases (natal_chart, cosmic_weather), some are verb-like (releasing, returns), and some are descriptive (aspect_patterns, find_aspect_dates). There is no strict verb_noun pattern, leading to moderate consistency.
34 tools is high but appropriate for a comprehensive astrology API covering natal, transits, progressions, returns, synastry, time-lord techniques, sky events, and synthetic bodies. Each tool serves a specific niche, so the count feels justified rather than excessive.
The tool surface is extremely thorough, covering all major areas of astrology: chart generation, aspects, configurations, dignities, time-lord techniques (multiple systems), synastry, composite, progressions, returns, transits, sky events, rectification, electional, and synthetic bodies. No obvious gaps for the intended domain.
Available Tools
34 toolsaspect_patternsAInspect
Classical aspect configurations in a chart: T-squares, grand trines, grand crosses, yods, kites, mystic rectangles, and stelliums by sign and by house. Each is a structured object with the participating bodies and the worst defining-aspect orb; T-squares and yods also name the apex, stelliums their sign or house. Reported patterns are maximal — a grand cross hides the T-squares it contains, a kite its grand trine. Pure geometry (engine orbs plus a quincunx for yods), no interpretation. Needs date, lat, lon.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description effectively explains key behaviors: maximal patterns (grand cross hides T-squares), orb usage ('worst defining-aspect orb'), and structured output like apex naming. It lacks an explicit statement about read-only nature but covers relevant details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and then detail behavioral nuances with zero wasted words. Every sentence adds essential value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately describes return structure (structured objects with bodies, orb, apex for some). It covers pattern selection rules and geometry. Missing perhaps an example or format spec, but sufficient for understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description only repeats the need for date, lat, lon already in required fields, adding no new parameter meaning. Parameter details are sufficiently covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing 'classical aspect configurations' listing specific patterns (T-squares, grand trines, etc.). It distinguishes itself from sibling tools like chart_facts or natal_chart by focusing solely on these pattern definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool provides 'pure geometry, no interpretation' implying use when raw pattern data is needed. However, it does not explicitly state when to avoid this tool or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chart_factsAInspect
A chart's validated facts as ranked, citable atoms for interpretation. Each fact has a stable id (e.g. "aspect:moon~neptune:conjunction"), the bodies it concerns, a salience score (luminaries, angular placements, the chart ruler, tight/hard aspects, configurations rank high), and a plain-language statement. Facts span placements, aspects, configurations, the structural signature, dispositors and receptions, a body's tight conjunction with a bright fixed star (e.g. "star:jupiter:Sirius"), and the Part of Fortune and Spirit (e.g. "lot:fortune"). Read the facts, write the interpretation in your own words, and cite the [id] each statement rests on — do not introduce facts not listed. Returns the ranked facts plus a ready-to-interpret brief.
By default a real birth chart: pass date+lat+lon. The chart's grounding is first-class via realm (what it is: observed/forecast/fictional/mythic/archetypal/…) and the time: an exact date, an uncertain earliest+latest range (the brief then frames it as provisional and trusts the Moon/angles/houses less), constraints for an archetypal chart with no time (synthesized via the compiler), or a full structured when (relative-to-another-event or a narrative calendar). A when of kind relative looks its anchorId up in anchors (a map of id → UTC instant supplied in the request). Omit lat+lon for a placeless chart (nominal houses).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude, north positive | |
| lon | No | Longitude, EAST positive (Americas are negative) | |
| date | No | Exact UTC instant, ISO 8601 (e.g. 1990-06-10T14:30:00Z); convert local to UTC first | |
| when | No | Full structured temporal anchor; overrides date/earliest/latest. Use for relative or narrative time. | |
| limit | No | max facts to return, highest salience first (default 24) | |
| realm | No | What the chart is; frames the interpretation (default observed) | observed |
| latest | No | End of an uncertain-time range (UTC ISO) | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| anchors | No | Reference instants for a `relative` when: { anchorId: UTC ISO } | |
| earliest | No | Start of an uncertain-time range (UTC ISO); use with `latest` instead of `date` | |
| constraints | No | Geometric constraints for an archetypal/conceptual chart with no time (compiler synthesis) | |
| target_date | No | UTC ISO instant for transits and time-lords vs this natal chart; omit for natal-only facts | |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
| include_vedic | No | With target_date: project nakshatra/varga/yoga (default true when zodiac is sidereal) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the types of facts returned, salience ranking, the effect of date uncertainty, and behavior for placeless charts. However, it omits details about potential errors or limits on concurrent requests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and dense, which is necessary given the tool's complexity, but it could be more structured with paragraphs or bullet points. The first sentence effectively fronts the purpose, but subsequent information could be organized more succinctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters, nested objects, and no output schema, the description covers expected outputs (fact structure, brief) and input modes comprehensively. It lacks explicit error handling or invalid combination warnings, but is otherwise sufficient for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant context beyond the schema descriptions. For example, it explains how 'when' overrides 'date' and the use of 'anchors' for relative time, and the interaction between 'constraints' and 'realm'. This aids an agent in constructing correct inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'validated facts as ranked, citable atoms for interpretation.' It specifies the resource (chart facts) and the structure of each fact (id, bodies, salience, statement), differentiating it from sibling tools like 'natal_chart' which likely return full chart data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides instructions on how to use the output ('Read the facts, write the interpretation...') and explains various input modes (date, range, relative when, constraints) with clear conditions. However, it does not explicitly contrast with alternatives or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chart_signatureAInspect
A chart's structural signature as plain counts: element, modality, angularity, quadrant, and hemisphere distributions over the bodies; the dominant element, modality, and most-occupied sign; and the classical chart ruler (the ruler of the Ascendant's sign). Counts only, no interpretation — a compact summary for emphasis and comparison. Needs date, lat, lon.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that output is counts only and requires date, lat, lon, but does not mention auth needs, rate limits, error conditions, or side effects. Adequate but lacks deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three succinct sentences: first enumerates output components, second clarifies no interpretation, third states required params. No filler, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the description should compensate. It lists output categories but lacks details on structure (e.g., format of counts, example). Sufficient for a simple count tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds minimal value beyond the schema. It mentions 'Needs date, lat, lon.' but does not elaborate on parameter details. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a chart's structural signature as plain counts of specific categories (element, modality, etc.) and distinguishes it from interpretation tools by noting 'no interpretation'. This specificity and differentiation from siblings like 'chart_facts' makes the purpose very clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for emphasis and comparison via 'Counts only, no interpretation — a compact summary for emphasis and comparison.' However, it does not explicitly state when to use this tool over alternatives or when not to use it, and no sibling comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compositeAInspect
Relationship charts for two people: the midpoint composite (each body and angle is the shorter-arc midpoint of the two natal positions) and the Davison chart (a real chart cast for the midpoint in time and place). Each person needs date+lat+lon.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | Person A birth data (UTC date, lat, lon) | |
| b | Yes | Person B birth data (UTC date, lat, lon) | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains the tool computes two types of charts (midpoint and Davison) and requires birth data, but does not disclose return format, error handling, or whether it is read-only. Some behavioral insight but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's purpose, each sentence is informative and necessary. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters (with nested objects) and no output schema, the description adequately explains the tool's inputs and what it computes. However, it could hint at the output structure (e.g., 'returns chart data') to fully compensate for missing output schema. Still, it is mostly complete for a chart tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3 is appropriate. The description adds value by explaining that parameters represent birth data for each person and clarifies the chart types, but does not exceed schema detail. It reinforces parameter purpose without adding new semantic depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes relationship composite charts (midpoint and Davison) for two people, with a specific verb 'Relationship charts for two people'. This distinguishes it from sibling tools like synastry which is also relationship but different calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use (for composite charts) and required inputs (date, lat, lon for each person), but does not explicitly state when not to use it or mention alternatives like synastry for relationship comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cosmic_weatherAInspect
The mundane sky on a date: the active aspect configurations among the transiting planets (T-squares, grand trines, grand crosses, yods, kites, mystic rectangles, stelliums by sign), any planet stationing within a window, and whether the Moon is void of course. A 'cosmic weather' snapshot; no birth chart or location needed.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | UTC ISO date | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| window_days | No | days either side to scan for stations (default 7) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the tool's scope (transiting planets only, no birth chart) and lists the included patterns. However, it does not disclose the output format (text/JSON), whether it is read-only, or any error conditions (e.g., invalid date). The absence of side-effect disclaimers is acceptable for a query tool, but behavioral transparency is only moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences without any filler. The first sentence lists the key outputs (aspects, stations, void Moon), and the second clarifies the scope ('no birth chart or location needed'). Every word earns its place, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values, but it only says 'snapshot'. It does not specify whether the result is a list, a summary text, or structured data. The tool has three parameters and moderate complexity, so more detail about the output format and potential errors (e.g., invalid date) would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters, so baseline is 3. The description adds context by mentioning 'within a window' for stations, which hints at the 'window_days' parameter, but does not provide additional syntax or examples. No parameter is explained beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a snapshot of the 'mundane sky' including active aspect configurations (T-squares, grand trines, etc.), stationing planets, and void-of-course Moon. It specifies it does not require a birth chart or location, distinguishing it from sibling tools like 'natal_chart' or 'synastry'. The verb 'snapshot' accurately conveys a summary report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool: for a generic, location-independent daily astrological overview. It does not explicitly state when not to use it or mention alternative tools (e.g., 'aspect_patterns' for detailed aspects, 'void_of_course' for just void Moon), but the scope is well-defined by the content and the sibling names provide implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
counterfactual_chartAInspect
A birth chart, perturbed — a 'what if'. Give a base chart (date+lat+lon) and an edit: shift_time (e.g. '1h', '-30m', 'P1D') moves the instant ("born an hour later"), move_lat+move_lon recompute at another place, and/or set_longitudes moves bodies to new ecliptic degrees ("Mars in the next sign"). Returns the diff vs the original: bodies that changed sign or house, aspects gained or lost, and angles that changed sign. A time/place edit rotates the houses and angles while planets stay put; a longitude splice moves only those bodies and recomputes their aspects.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| move_lat | No | Recompute at this latitude instead of the birth latitude | |
| move_lon | No | Recompute at this longitude instead of the birth longitude | |
| shift_time | No | Duration to shift the instant: '1h', '-30m', 'P1Y' | |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
| set_longitudes | No | Move bodies to these ecliptic longitudes in degrees, e.g. { "mars": 45 } |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavior: it returns a diff showing changes in sign, house, aspects, and angles. It explains the mechanics of time/place edits versus longitude splices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with purpose, listing edits, then explaining effects. It is concise with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description lists what the diff contains (bodies changed sign/house, aspects gained/lost, angles changed sign). It could detail the return format more, but it is sufficient for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant context beyond the schema: it explains how each edit (shift_time, move_lat/lon, set_longitudes) affects the chart. For example, it distinguishes between house/angle rotation and planet movement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'what if' perturbation of a birth chart, listing three types of edits. It distinguishes itself from the sibling natal_chart and other tools by focusing on modifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to explore 'what if' scenarios) and gives concrete examples of edits. It does not explicitly contrast with alternatives, but the context with siblings makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
current_skyAInspect
The sky at a moment and place — not tied to any person. Use for "what's the sky/transits right now" or the chart of a non-birth event. Date defaults to now; lat/lon default to 0,0 (geocentric on the equator at the prime meridian), where houses and ASC/MC are nominal — pass a real location if houses matter. For a specific person's birth chart use natal_chart instead. Returns positions, houses, retrogrades, aspects.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude, north positive; default 0 makes houses nominal | |
| lon | No | Longitude, EAST positive (Americas are negative); default 0 makes houses nominal | |
| date | No | UTC ISO date-time (convert from local first); omit for now | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It discloses default values, resulting nominal houses/ASC/MC, and that it returns positions, houses, retrogrades, and aspects. It could mention that it is read-only, but that is implied. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with core purpose. Each sentence adds value: purpose, default behavior with location caveat, alternative tool. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, no annotations, the description covers defaults, usage alternatives, and return types. It mentions what is returned (positions, houses, retrogrades, aspects) which is sufficient for context. Could be considered slightly lacking on output format details, but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds little beyond what the schema already says about lat/lon defaults and house nominal behavior. The schema descriptions themselves are informative, so description does not significantly augment parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool provides the sky for a moment and place, not tied to a person. Specific use cases ('what's the sky/transits right now' or non-birth event) are given. It distinguishes from sibling natal_chart by explicitly mentioning alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (current sky or non-birth event) and when not (birth chart -> natal_chart). Also explains default behavior (date defaults to now, lat/lon to 0,0) and warns that houses are nominal without real location.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dashaAInspect
Vedic dasha periods — planetary time-lord cycles started from the Moon's birth nakshatra. system selects Vimshottari (120-year, the standard), Yogini (36-year, eight yoginis), or Ashtottari (108-year). Returns the period timeline (mahadasha → antardasha) with UTC start/end, the balance of the first period at birth, and — when target_date is given — the lords active then (Vimshottari also gives the pratyantardasha). Sidereal; Lahiri by default. Needs the birth time and place.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| levels | No | deepest timeline level: 1 (maha) or 2 (maha+antar, default) | |
| system | No | dasha system: vimshottari (120y), yogini (36y), or ashtottari (108y) | vimshottari |
| zodiac | No | sidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques | sidereal:lahiri |
| target_date | No | UTC ISO date to read the active lords for; omit for the timeline only |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully carries burden. It discloses return content (timeline with UTC dates, balance, active lords) and notes sidereal default. Could mention error handling or parameter constraints beyond schema, but is generally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise (few sentences) and front-loads purpose. Each sentence adds value—purpose, system selection, return details, defaults, prerequisites. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects: systems, output summary, and required inputs. Missing explicit output structure details (e.g., JSON format) but given no output schema, description provides adequate overview for a moderately complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds integrative context (e.g., target_date retrieves active lords, levels control depth) that helps understand parameter interplay, exceeding baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool computes Vedic dasha periods from the Moon's nakshatra, listing systems (Vimshottari, Yogini, Ashtottari) and distinguishing from sibling astrological tools like firdaria and transits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes input requirements (birth time/place) and optional parameters (system, target_date). Lacks explicit exclusions or when-not-to-use compared to similar time-lord tools like firdaria, but context implies it is for dasha periods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dignitiesAInspect
Essential dignity and sect for the seven traditional planets at a moment and place. Per planet: its sign, any essential dignity (domicile/exaltation/detriment/fall), its weighted essential-dignity score (Lilly: rulership 5, exaltation 4, triplicity 3, term 2, face 1; detriment -5, fall -4) with a peregrine flag, its planetary sect (diurnal/nocturnal, null for Mercury), and whether it is in sect given a day or night chart. The chart is day when the Sun is above the horizon — so lat+lon are required.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It explains the calculation logic (Lilly's scoring, day/night determination, peregrine flag) and the requirement for lat/lon to determine sect. It is transparent about the planets considered (traditional seven) and the output fields. No side effects or limitations are mentioned, but for a read-only analysis tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is information-dense but not overly long. It front-loads the main purpose and then details the output. While not broken into sections, it is well-organized and every sentence contributes to understanding. Slightly more structure (e.g., listing output fields) could improve clarity, but it's still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does a good job of explaining what is returned: sign, essential dignity type, weighted score, peregrine flag, sect, and in-sect status. It covers the key aspects for an astrological dignity tool. However, it does not specify the overall data structure (e.g., array of objects) or mention error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description adds value by explaining the rationale for requiring latitude and longitude (to determine day/night chart) and providing context for the zodiac parameter (listing ayanamsas). It also clarifies the significance of the weighted dignity score and peregrine flag, going beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary function: calculating essential dignity and sect for traditional planets. It specifies the output per planet and the methodology (Lilly's weighting), making the purpose immediately understandable and distinct from sibling tools like natal_chart or aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not explain that this is for traditional planets only, nor when one might prefer using it over general chart tools like natal_chart. The user must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
directionsAInspect
Primary (mundane) directions of the seven traditional planets to the four angles (MC, IC, Ascendant, Descendant), and optionally between the planets themselves. The diurnal rotation carries a body to the angle (or a promissor to a significator); the arc of rotation, converted by a time key (Naibod 0.9856473°/yr by default, or Ptolemy 1°/yr), gives the age of the direction. Returns the directions within max_years, sorted by age, each with its arc, age in years, and UTC date. With include_mundane, also returns the planet-to-planet (promissor → significator) directions. Circumpolar bodies have no Ascendant/Descendant directions. Needs the birth time and place; equatorial, so zodiac is irrelevant.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | time key: naibod (0.9856473°/yr, default) or ptolemy (1°/yr) | |
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| max_years | No | only directions reached within this many years of life (default 90) | |
| include_mundane | No | also return inter-planetary (promissor → significator) directions (default false) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behaviors: the computational method, time keys, limitation for circumpolar bodies, irrelevance of zodiac, and the structure of the returned list. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative but slightly verbose (118 words). It front-loads the main purpose and provides necessary details, but a few sentences could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool, 6 parameters, and no output schema, the description thoroughly covers what the tool does, what it returns (sorted list with arc, age, date), and important edge cases (circumpolar bodies, zodiac irrelevance).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the meaning of parameters in context (e.g., key default, date format, lat/lon conventions, max_years default, include_mundane default) and the overall computation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as computing primary mundane directions of planets to angles and optionally between planets, specifying the method and output. This distinguishes it from other astrological tools in the context, even without explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for mundane directions but does not explicitly state when to use it versus alternatives like 'progressions' or 'transits'. No direct comparison or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
electional_searchAInspect
Rank moments in a window for an electional aim. Samples the window and scores each instant by how closely a set of wanted body-to-body aspects is satisfied (tighter and applying aspects score higher), optionally penalizing a void-of-course Moon. Returns the top moments with the aspects that matched. Body-to-body only; for aspects to the angles, compute the chart at a candidate moment.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | UTC ISO end of the window | |
| limit | No | max moments to return (default 10) | |
| start | Yes | UTC ISO start of the window | |
| wanted | Yes | aspects to reward when close to exact | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| step_hours | No | sampling step in hours (default 6) | |
| avoid_void_moon | No | penalize a void-of-course Moon |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description fully discloses the tool's behavior: it samples the window, scores by closeness and applying aspects, optionally penalizes void-of-course Moon, and returns top moments with matched aspects. No side effects are expected, and the disclosure is sufficient for an agent to understand implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences) and well-structured: it starts with the purpose, explains the mechanism, notes the return value, and ends with a crucial limitation. Every sentence serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of electional search and the absence of an output schema, the description adequately explains the return format (top moments with matched aspects) and the sampling step (step_hours). It also warns about angle aspects, making the tool's use context complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the input schema by explaining that 'wanted' aspects must be body-to-body, and that scoring favors tighter and applying aspects. This contextualizes the parameters, especially the 'wanted' array, and clarifies the tool's scope beyond the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ranks moments in a time window for electional purposes, sampling and scoring by aspect satisfaction. It distinguishes itself from sibling tools like 'find_aspect_dates' (which finds exact dates) and 'void_of_course' (which detects void Moon only), as it combines multiple criteria for electional selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that this tool handles body-to-body aspects only, directing users to compute charts for angle aspects separately. However, it does not explicitly contrast with other electional-related tools like 'aspect_patterns' or 'chart_signature', leaving some ambiguity about when to prefer this over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_aspect_datesAInspect
Exact dates a transiting body makes an aspect, within a range: to a fixed longitude OR to another transiting body. Provide exactly one of target_lon / target_body. Includes retrograde re-hits. Body names are snake_case (mean_node, true_node).
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | UTC ISO end date (convert from local first); range <= 50 years | |
| body | Yes | Transiting body (snake_case, e.g. saturn, true_node) | |
| start | Yes | UTC ISO start date (convert from local first) | |
| aspect | Yes | ||
| zodiac | No | Zodiac for body and target_lon longitudes; tropical (default) or sidereal:<ayanamsa> | tropical |
| target_lon | No | Fixed natal longitude in degrees. Provide this OR target_body, not both. | |
| target_body | No | Another transiting body. Provide this OR target_lon, not both. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions 'retrograde re-hits' which is a useful behavioral detail, but does not explicitly confirm it is read-only or describe what happens on boundary conditions (e.g., aspect exact multiple times). The description implies a query operation, which is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, extremely concise, and front-loaded with the core action. Every sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, no output schema), the description covers the essential constraints and behaviors. It could be slightly improved by specifying the output format (e.g., returning ISO date strings), but it still provides sufficient context for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, and the description adds meaningful context beyond the schema: it explains the exclusive nature of target_lon and target_body, notes that body names are snake_case, and clarifies that the search includes retrograde re-hits. This adds value for correct parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'find' and clearly identifies the resource: exact dates a transiting body makes an aspect within a range. It distinguishes from sibling tools like 'aspect_patterns' by focusing on exact dates rather than patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear input constraints such as providing exactly one of target_lon/target_body, converting dates to UTC, and a 50-year max range. However, it does not explicitly state when to use this tool over alternatives like 'transits' or 'aspect_patterns'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
firdariaAInspect
Firdaria (firdariyyat): the Persian/medieval planetary time-lord periods. Life divides into nine major periods totalling 75 years — the seven planets (a day chart starts with the Sun, a night chart with the Moon) then the North and South Nodes — each planetary period split into seven sub-periods. Returns the full timeline (each period and sub-period with UTC start/end) and, when target_date is given, the major and sub lord active then. Sect is taken from the birth chart, so lat+lon are required; pure time arithmetic, no zodiac.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| target_date | No | UTC ISO date to look up the active period for; omit for the timeline only |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains behavioral traits: returns full timeline with UTC start/end, optionally identifies active period, requires lat/lon for sect, and is time-only calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently explains the core concept, required inputs, and output. While dense, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of Firdaria and no output schema, the description adequately explains the structure (nine major periods, seven planets, nodes, sub-periods) and what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning: explains why lat+lon are needed (sect), clarifies date format and UTC requirement, and specifies target_date is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the tool calculates Firdaria (Persian/medieval planetary time-lord periods) and returns a timeline of major and sub-periods. It clearly distinguishes from sibling tools like dasha by name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states sect is derived from the birth chart, requiring lat+lon, and that the tool performs 'pure time arithmetic, no zodiac.' It implies use for Firdaria queries but does not explicitly exclude alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lotsAInspect
The seven Hermetic lots (Arabic parts) — Fortune, Spirit, Eros, Necessity, Courage, Victory, Nemesis — cast from the Ascendant and reversing direction by sect (a chart is day when the Sun is above the horizon). Per lot: its longitude and zodiacal position. Lots are anchored to the Ascendant, so an exact time and lat+lon are required. Fortune and Spirit are mirror images about the Ascendant. Tropical by default.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behavioral traits: lots are anchored to Ascendant, depend on sect, require precise lat/lon/time, and default to tropical. It does not cover error handling or rate limits, but the core behavior is well-documented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no redundancies. It front-loads the lot names and immediately explains the key dependencies (sect, Ascendant, coordinates). Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (4 params, no output schema), the description covers all essential points: what the tool returns (longitude and zodiacal position per lot), the underlying rules (sect, Ascendant), and requirements (exact time/location). It is complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds contextual meaning (e.g., why date/lat/lon are required, default zodiac) but does not provide syntax or format details beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as computing the seven Hermetic lots (Arabic parts) with specific names and explains the underlying astrological concept. It distinguishes from sibling tools like natal_chart or aspects by focusing solely on lots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage, including the necessity of exact time and coordinates, and the default tropical zodiac. However, it does not explicitly compare to sibling tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nakshatrasAInspect
The nakshatra (one of the 27 lunar mansions of 13°20′) of each classical point on the sidereal zodiac: the seven traditional planets and the Ascendant (lagna). Per point: the nakshatra name, its pada (quarter, 1–4), the ruling planet (the Vimshottari lord), and degrees into the nakshatra. The Moon's nakshatra (janma nakshatra) anchors the Vimshottari dasha. Sidereal by definition; Lahiri ayanamsa by default. Needs the birth time and place for the Ascendant.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | sidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques | sidereal:lahiri |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses that the tool is sidereal by default, specifies default ayanamsa (Lahiri), and notes that birth time and place are needed for Ascendant. Covers key behavioral traits clearly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph, information-dense but well-organized. Every sentence adds value. Could be slightly more structured but is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description adequately explains what the tool returns (per-point nakshatra details). Mentions the classical points considered. Does not specify exact output format but provides sufficient context for an AI agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds value by explaining the 'date' parameter as needing UTC conversion and confirming that birth time/place are required for Ascendant. Reinforces default ayanamsa choice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it returns nakshatra info (name, pada, ruling planet, degrees) for each classical point (7 planets + Ascendant). Clearly distinguishes from sibling tools like 'dasha' by explaining the connection to Vimshottari dasha.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. However, the description makes clear it is for computing nakshatra positions, which implies usage context. Does not name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
natal_chartAInspect
A person's birth chart. Requires their exact birth date+time and birthplace (all three: date, lat, lon). Use this — not current_sky — whenever the question is about someone's natal/birth chart. Returns 13 bodies (sun–pluto, chiron, nodes) with sign, house, retrograde, speed; ASC/MC; cusps; major aspects with orb, applying/separating phase, and strength (1=exact). Vs Swiss Ephemeris (1850–2150): Sun–Saturn ≤1″, Uranus ≤1.9″, Neptune ≤4.6″, Moon ≤2.5″, Pluto ≤3.4″ (Chebyshev pack), Chiron ≤1″, mean node ≤1″, true node ≤ 1′ vs SE's built-in ephemeris.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully discloses return format (13 bodies with sign/house/retrograde/speed, ASC/MC, cusps, aspects with orb/phase/strength) and accuracy versus Swiss Ephemeris.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but well-structured. Every sentence contributes essential information. Front-loaded with core purpose and requirements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Highly complete for a complex astrological tool. Covers usage, parameters, return details, accuracy, and prerequisites. No output schema, but description explains return values thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds context: clarifies UTC conversion, lon east positive, house system aliases, zodiac enumeration. Adds value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'A person's birth chart' with specific requirements (exact birth date+time, birthplace). Distinguishes from sibling tool 'current_sky'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs to use this tool for natal/birth charts instead of 'current_sky'. Also mentions prerequisites (exact date, lat, lon).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
planetary_hoursAInspect
Planetary hours for a moment and place: the unequal hour in effect (its ruler, day/night, hour number 1-24, start/end UTC), the ruler of the planetary day, and the full 24-hour ruler sequence. Hours split the day (sunrise to sunset) and night (sunset to next sunrise) into twelve each; the day ruler is the weekday ruler and the hours follow the Chaldean order. Needs lat+lon. Returns available:false above the polar circles when the Sun does not rise or set that day.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | No | UTC ISO date-time (convert from local first); omit for now |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the algorithm (splitting day/night into twelve unequal hours, Chaldean order) and edge case (polar circles). It discloses that it returns start/end UTC and the day ruler is based on weekday. No destructive behavior or rate limits are relevant here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of three sentences, front-loaded with the output summary. Every sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity and absence of output schema, the description covers the returned data (ruler, hour number, start/end, day ruler, sequence) and the algorithm. It addresses the polar circle edge case. Could be slightly improved by noting the output format, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for lat, lon, and date. The description adds context about needing lat/lon and the effect near poles, which marginally aids understanding. The date param guidance to convert from local to UTC is helpful but not extensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes planetary hours for a given moment and place, specifying the outputs: unequal hour ruler, day ruler, hour number, start/end UTC, and full ruler sequence. This distinguishes it from sibling tools like 'current_sky' or 'natal_chart' which compute different astrological data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes the prerequisite of latitude/longitude and warns about polar circle edge cases where the tool returns unavailable. It implies use when planetary hours are needed, but does not explicitly compare it to siblings or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profectionsAInspect
Annual and monthly profections (a Hellenistic time-lord technique) at a target date. The natal Ascendant advances one whole sign per year of life; the profected sign's traditional ruler is the lord of the year, the single most important time-lord for that year. Returns the age in years, the month within the profection year, and the annual and monthly profected sign (with its whole-sign house from the natal Ascendant and its lord). Needs the birth time and place for the Ascendant.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| target_date | Yes | UTC ISO date to profect to (convert from local first) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It explains the computational logic (Ascendant advances per year of life) and the output components. However, it does not explicitly state whether the tool is read-only, mention any side effects, or discuss rate limits. The behavioral transparency is adequate but not enhanced beyond the core description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences. The first sentence defines the tool and its core mechanism, the second clarifies input requirements. No unnecessary words or repetition. It is front-loaded with the key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description provides enough information for an AI to understand its purpose, inputs, and outputs. It explains the output fields (age, month, sign, house, lord) but lacks a structured example or details about the return format. With many sibling tools, this is sufficient but could be slightly more detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have descriptions in the schema, achieving 100% coverage. The description adds context about the profection technique but does not provide additional semantic details beyond what is in the schema (e.g., no format examples or constraints). The schema already explains each parameter sufficiently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as computing annual and monthly profections, a specific Hellenistic time-lord technique. It explains the concept (Ascendant advances one sign per year) and explicitly lists the returned fields (age, month, profected sign, house, lord). This distinguishes it from sibling tools like transits or returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool applies to a target date and requires birth time and place for the Ascendant, providing clear context. However, it does not explicitly advise when to use this tool over alternatives like 'returns' or 'directions', nor does it mention conditions where profections may not be appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
progressionsAInspect
Secondary progressions (day-for-a-year) and solar-arc directions of a natal chart to a target date. Returns, per body, the secondary-progressed longitude and the solar-arc-directed longitude, plus the solar arc itself. Longitudes only (no houses), so no birthplace is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| target_date | Yes | UTC ISO date to progress/direct to (convert from local first) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It transparently states the tool calculates longitudes only (no houses) and requires no birthplace. It does not disclose potential side effects or rate limits, but these are unlikely for a read-only computation. The return structure is partially described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding distinct value: purpose, return details, and a key constraint (no houses, no birthplace). It is front-loaded with the core verb and resource, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description gives a reasonable overview of what is returned (per body longitudes and the solar arc). It omits the list of celestial bodies and the exact structure (e.g., keys), but for a specialized astrological tool, this is likely sufficient for an agent familiar with the domain. The absence of an output schema is partially compensated by the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all parameters. The description reinforces that 'date' and 'target_date' are needed and mentions 'no birthplace is needed', but adds little semantic value beyond the schema's descriptions. The zodiac parameter is covered by the schema enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates secondary progressions (day-for-a-year) and solar-arc directions for a natal chart to a target date. It specifies what is returned (longitudes per body) and what is not (houses), distinguishing it from sibling tools like 'directions' or 'transits' which may focus on other techniques.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives such as 'directions', 'transits', or 'returns'. It implies use for progressions and solar-arc but lacks guidance on exclusions or prerequisites, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rectification_gridAInspect
Rectification sweep: ASC/MC at each step across a window of UTC hours on one date, with ASC sign-change times. Use when the birth time is unknown and you want candidate times. The sweep runs over window_start_hour..window_end_hour (UTC hours of the given date); the date's time portion is ignored.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | Birth DATE (UTC) as ISO; only the calendar date is used, the time portion is ignored (the window_*_hour fields set the times swept) | |
| step_minutes | No | Minutes between grid rows | |
| window_end_hour | No | Last UTC hour of the date to sweep | |
| window_start_hour | No | First UTC hour of the date to sweep |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It describes the sweep as non-destructive computation (generating ASC/MC values), implying read-only behavior. It explains the algorithm (step across hours, window constraints) but does not explicitly state it does not modify data or require auth. Given the tool's nature, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading purpose and usage in the first sentence, and parameter behavior in the second. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no output schema, and no annotations, the description is fairly complete. It explains the sweep mechanism, parameter roles, and hints at output (ASC/MC values, sign-change times). It could briefly mention the output format, but given the tool's simplicity, it suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining that 'window_start_hour' and 'window_end_hour' are UTC hours of the given date, that 'step_minutes' controls grid spacing, and that the date's time portion is ignored. This goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a 'rectification sweep' producing ASC/MC values and sign-change times across a window of UTC hours on a single date. It explicitly distinguishes the use case: 'Use when the birth time is unknown and you want candidate times.' This differentiates it from sibling tools like 'natal_chart' or 'transits' which do not focus on unknown birth times.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs when to use the tool: 'Use when the birth time is unknown and you want candidate times.' It does not specify when not to use or mention alternatives, but the use case is clear and unique among siblings, which provides sufficient guidance for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
releasingAInspect
Zodiacal releasing (aphesis), the Hellenistic time-lord technique from Vettius Valens, released from a Lot (Spirit by default, or Fortune). From the Lot's sign, periods release sign by sign with planetary minor-year lengths on the 360-day-year convention; each level is a twelfth of the one above (L1..L4), and a loop back to the starting sign looses the bond, jumping once to the opposite sign (+6). Returns the timeline down to max_level over the horizon and, when target_date is given, the L1..L4 lords active then. Anchored to the natal Lot, so an exact time and lat+lon are required.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| lot | No | the Lot to release from (default spirit) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| max_level | No | deepest sub-period level in the timeline, 1..4 (default 2) | |
| target_date | No | UTC ISO date to read the active L1..L4 periods for; omit for the timeline only | |
| horizon_years | No | timeline length in 360-day years from birth (default 100) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the 360-day-year convention, level progression (L1-L4), the loop-back and jump rule, and what is returned (timeline or active lords). This sufficiently describes the computational behavior and output, though it does not explicitly state read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph of four sentences that efficiently conveys the core concept, mechanics, and output. It front-loads the technique name and is appropriately sized, though a more structured layout could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (8 parameters, esoteric technique) and lack of output schema, the description adequately explains what the tool does, its inputs, and its outputs. It covers the technique, conventions, levels, and return values, making it functionally complete for an AI agent to understand its use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context about the technique's mechanics (e.g., Lot defaults to spirit, levels, loop-back) but does not significantly enhance understanding of individual parameters beyond what the schema already provides (e.g., lat, lon, date formats).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as Zodiacal releasing (aphesis), a specific Hellenistic time-lord technique from Vettius Valens, and explains its core function of generating a timeline from a Lot. While it does not explicitly contrast with sibling tools like dasha or profections, the unique technique name and detailed description provide sufficient distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states that the technique is anchored to the natal Lot and requires exact time and coordinates, implying when to use. However, it does not provide explicit guidance on when not to use this tool versus alternatives, nor does it specify prerequisites or limitations beyond the data requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
returnsAInspect
Solar or lunar return: the instant(s) a body returns to its natal longitude within a window, plus the full return chart for the first one. The Sun returns about yearly (the solar-return chart for the year), the Moon about monthly. Return chart is cast for the return moment at return_lat/return_lon (defaults to the birthplace; pass the current/relocated place for a relocated return).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| body | Yes | sun for the solar return, moon for the lunar return | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| return_lat | No | Latitude for the return chart; defaults to the birth latitude | |
| return_lon | No | Longitude (EAST positive) for the return chart; defaults to the birth longitude | |
| search_end | Yes | UTC ISO end of the window; range <= 2 years | |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
| search_start | Yes | UTC ISO start of the window to search for returns |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it returns 'instant(s) a body returns' and 'full return chart for the first one', implying multiple instants but not clarifying output format or behavior for multiple returns. No mention of authentication, rate limits, or side effects, which is acceptable for a read-only astrological tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each serving a distinct purpose: first defines the tool's function, second provides timing and location context. No redundant or irrelevant information. Front-loaded with key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters and no output schema, the description adequately covers input context (window, body, location defaults) but lacks details on output format (e.g., whether it returns a chart image or structured data). This is a gap for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context like defaulting return_lat/return_lon to birthplace and explaining body values, but the schema already provides clear descriptions for each parameter. The description does not add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes solar or lunar return charts, specifying the verb 'returns' and the resource 'body returns to natal longitude within a window'. It distinguishes between Sun and Moon returns and includes chart casting for the first return, differentiating it from sibling tools like natal_chart or transits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (solar/lunar returns), explains the typical recurrence (yearly/monthly), and mentions optional relocation via return_lat/return_lon. However, it does not explicitly exclude when not to use it or compare with alternatives like transits or progressions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
similar_skiesAInspect
Find when the sky most resembled a reference moment. Builds a feature vector for the reference date's planetary configuration and scans a window for the closest matches by cosine similarity (1.0 = identical configuration). Answers 'when did the sky last look like this?' for transit echoes and historical analogues. Returns the top matches with their similarity, highest first.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | UTC ISO end of the search window | |
| limit | No | max matches to return (default 10) | |
| start | Yes | UTC ISO start of the search window | |
| step_days | No | sampling step in days (default 1) | |
| reference_date | Yes | UTC ISO date whose sky is the target to match |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits fully. It explains the internal logic: building a feature vector, scanning a window, and using cosine similarity (1.0 = identical). It states the output ordering (highest similarity first) and uses the term 'returns the top matches.' It does not cover error cases, performance, or data source, but for a search tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. The first sentence states purpose, the second explains the method, and the third gives the user question and output format. It is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description is fairly complete. It explains the input (reference_date, start, end, step_days, limit), the process (feature vector, cosine similarity), and the output (top matches with similarity, highest first). It could mention edge cases like empty windows or invalid dates, but overall it provides sufficient context for an AI agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining the algorithm (cosine similarity), how the reference_date is used as a target, and that results are ordered by similarity. It also clarifies the roles of start/end as a search window and step_days as sampling. This adds interpretive value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and resource ('sky') and clearly states what the tool does: finding when the sky most resembled a reference moment. It explains the algorithm (cosine similarity) and answers a natural language query ('when did the sky last look like this?'). This distinguishes it from sibling tools like current_sky or sky_events, which focus on current or future configurations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool: for transit echoes and historical analogues. It phrases the user's question ('when did the sky last look like this?') as an explicit usage hint. However, it does not mention when not to use it or list specific alternatives among the 34 sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sky_eventsAInspect
Sky events in a UTC date range: rise/set/meridian transits (need lat+lon+body), lunar phases (new/quarters/full), solar and lunar eclipses, stations (body turns retrograde/direct; needs body), zodiac degree crossings (needs body + target_lon). Solar eclipses report global circumstances (type, magnitude, gamma) plus the greatest-eclipse location and path width; add lat+lon to also get local circumstances (type seen, magnitude, obscuration, contact times C1-C4). Lunar eclipses report type and magnitude; add lat+lon to learn whether the Moon is above the horizon there. Times to the second vs Swiss Ephemeris (stations to ~1 min: ill-conditioned by nature). Range <= 370 days.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | UTC ISO end date; range <= 370 days | |
| lat | No | Required for rise/set/transit | |
| lon | No | Required for rise/set/transit | |
| body | No | Required for rise/set/transit/station/crossing | |
| kinds | Yes | Event kinds to include | |
| start | Yes | UTC ISO start date (convert from local first) | |
| zodiac | No | Zodiac for 'crossing' longitudes | tropical |
| target_lon | No | Zodiac longitude for 'crossing', degrees |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses time precision ('seconds vs Swiss Ephemeris, stations ~1 min'), and details on eclipse reporting (global vs local circumstances). It does not mention authentication, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single dense paragraph, but efficiently packs all necessary information. It front-loads the main purpose and then details requirements. Minor improvement could be structuring with bullet points, but overall concise and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explains what return values to expect for each event kind (e.g., global vs local circumstances for eclipses, horizon info for moon). It covers precision and coordinates needed, making it self-contained for an agent to understand inputs and outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds significant value beyond schema by explaining parameter dependencies (e.g., lat+lon required for certain kinds), eclipse details, and precision notes. This goes beyond simply restating schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Sky events in a UTC date range' and lists specific event types (rise/set/transit, lunar phases, eclipses, stations, crossings). It explicitly distinguishes each kind's requirements, making the tool's purpose specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains when each event kind is available and what parameters are needed (e.g., 'need lat+lon+body' for rise/set/transit). It also mentions the date range limit (<=370 days). However, it does not explicitly state when to avoid this tool or suggest alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sky_viewAInspect
Where the visible bodies land in a framed photo of the sky, for an image prompt. Give a place, a moment, an aim (compass direction and altitude), a lens, and an image size; get each in-frame body's pixel position, apparent size, brightness, the Moon's phase orientation, a sky-state summary (twilight, limiting magnitude, horizon row), the bright bodies just outside the frame, a ready-to-use prompt, and a machine-readable renderPlan (a body-free background-plate prompt plus the computed layers to composite locally, for a hybrid render pipeline). Caelus computes the geometry and photometry; it does NOT render the image. For "at sunset", first find the set time with sky_events, then pass it as date.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | No | UTC ISO date-time (convert from local first); omit for now | |
| lens | No | Lens preset; sets field of view and projection (ultrawide is fisheye, the rest rectilinear) | normal |
| width | No | Output image width in pixels | |
| bortle | No | Dark-sky class, 1 (pristine) to 9 (inner city). Sets the night naked-eye limit and drives background star density and Milky Way visibility. Omit for a suburban default | |
| height | No | Output image height in pixels | |
| azimuth | Yes | Center compass direction: degrees from true north (east positive) or a 16-point name like "W" or "WNW" | |
| altitude | No | Center altitude in degrees: 0 looks at the horizon, positive tilts up | |
| overlays | No | Reference-frame overlays to project (annotations, not photoreal): the ecliptic line, the zodiac signs, house cusps and angles, and constellation figures. Exact pixels returned in `overlays` | |
| deep_field | No | Pin the complete deep naked-eye star field (thousands of stars at exact pixels) instead of the bright catalog. Larger response; great for control images | |
| elevation_m | No | Eye height above ground in meters (e.g. 9 for a third-floor window) | |
| max_star_mag | No | Brightest-magnitude cutoff for stars (smaller is brighter); default 2.5, or the limiting magnitude when bortle is set | |
| include_stars | No | Include bright catalog stars when a star catalog is loaded |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It clearly states the tool computes geometry and photometry but does not render, and lists all output fields (position, size, brightness, moon phase, sky state, etc.). It does not mention authentication, rate limits, or potential side effects, but the absence of annotations and the tool's read-only nature makes this acceptable. The description adds useful context beyond the schema's parameter descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but not overly verbose. It front-loads the purpose and then systematically lists inputs and outputs. Every sentence adds useful information. Minor redundancy could be trimmed (e.g., 'give a place, a moment, an aim...' is clear but slightly wordy). Overall, it is well-structured and concise relative to the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, no output schema), the description is remarkably complete. It explicitly enumerates all expected outputs (pixel positions, sizes, brightness, moon phase, sky state, bodies outside frame, prompt, renderPlan). This compensates for the missing output schema and provides agents with clear expectations. The description also notes edge cases (e.g., 'For "at sunset"...') and clarifies that overlays are annotations, not photoreal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining how parameters contribute to the image prompt (e.g., 'bortle' drives star density, 'overlays' are annotations not photoreal). It also clarifies the relationship between 'max_star_mag' and 'bortle'. This extra context helps agents choose parameters effectively beyond what the schema alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: computing where visible bodies land in a framed photo of the sky for an image prompt. It specifies inputs (place, moment, aim, lens, size) and outputs (pixel positions, sizes, brightness, etc.). It distinguishes itself from siblings like 'sky_view_sequence' (sequence vs single frame) and 'synthetic_sky_view' (synthetic vs real) through the context of sibling names and the description's focus on real sky geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance for one common use case: 'For "at sunset", first find the set time with sky_events, then pass it as date.' It also clarifies what the tool does NOT do ('it does NOT render the image'), which helps agents avoid misuse. However, it does not comprehensively list when to use this tool versus all alternative sibling tools, missing some contextual exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sky_view_sequenceAInspect
A time sequence of sky frames for an animation: the same place, aim, and lens stepped through time. Returns a compact per-frame timeline (instant, twilight, Sun/Moon altitude, Moon phase + bright-limb, whether the Milky Way is in frame) plus the fixed celestial pole and the sky's sidereal rotation per frame. Each frame's full pixel-accurate spec comes from calling sky_view at that instant; this tool plans the timeline. Use for sunset-to-night transitions, star-trail planning, or Moon-phase progressions.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | No | First frame, UTC ISO date-time; omit for now | |
| lens | No | normal | |
| width | No | ||
| bortle | No | Dark-sky class 1-9 | |
| frames | Yes | Number of frames (2-60) | |
| height | No | ||
| azimuth | Yes | Center direction: degrees from true north or a compass name like "W" | |
| altitude | No | Center altitude in degrees | |
| step_minutes | Yes | Minutes between frames |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the output format and relationship to sky_view, but does not mention side effects, performance, or data volumes. Given the tool's read-only nature, it is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, front-loaded with purpose, followed by output details and sibling relationship, then use cases. Every sentence is informative with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no output schema, the description does a good job explaining what is returned (timeline fields, celestial pole, rotation), but lacks detailed output structure or potential limitations beyond frame count. Still, it provides sufficient context for an agent to understand the tool's utility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 73%. The description adds overall semantic context (same place, aim, lens stepped through time) that groups parameters and explains their role. This adds value beyond individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a time sequence of sky frames for animation, returns a compact per-frame timeline, and distinguishes itself from sky_view which provides full per-frame specs. It is specific and informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions use cases (sunset-to-night transitions, star-trail planning, Moon-phase progressions) and implicitly tells when not to use it (for full pixel-accurate specs, use sky_view). This provides clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synastryAInspect
Compare two people's birth charts: inter-chart aspects with orbs, house overlays both ways, plus ranked citable fact atoms and a ready brief (synastry/composite ids for auditCitations). Each person needs date+lat+lon. House overlays always use Placidus (not configurable here).
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | Person A birth data (UTC date, lat, lon) | |
| b | Yes | Person B birth data (UTC date, lat, lon) | |
| orb | No | Max orb in degrees | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that house overlays always use Placidus (non-configurable). However, it does not mention whether the tool is read-only, permission requirements, or rate limits. With no annotations, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, no wasted words. Each sentence adds value: purpose/output, prerequisites, behavioral constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of synastry (multiple outputs, 4 parameters, no output schema), the description covers the key aspects: what is produced (aspects, overlays, fact atoms, brief) and a constraint (Placidus). Missing details on 'fact atoms' and output structure, but sufficient for an agent to understand.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description reiterates prerequisites already in schema (date, lat, lon) but adds no new meaning beyond what the schema provides. The fixed house system note is behavioral, not parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'compare two people's birth charts' and specifies the outputs: inter-chart aspects, house overlays, ranked fact atoms, and a brief with IDs. This distinguishes it from sibling tools like 'composite' which combines charts into one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions prerequisites (date+lat+lon for each person) but does not explicitly state when to use this tool versus alternatives like 'composite' or 'aspect_patterns'. Usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synthetic_positionsAInspect
Positions of every body in an authored synthetic system at one instant. Three body modes: placement (fixed longitude), periodic (uniform motion), kepler (constant elements). With observer set on the system, positions are geocentric/apparent from that body (outer bodies can show retrograde). Pass t_days for abstract day units, or date (UT ISO) when body epoch values are Julian Days. Returns speed and retrograde per body.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | UT instant as ISO 8601; used as t when t_days is omitted | |
| system | Yes | ||
| t_days | No | Time in the same day units as each body's periodDays/epoch (abstract world frame) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It discloses three body modes, observer-dependent retrograde, and return fields (speed, retrograde). Missing details on idempotency or side effects, but for a query tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single paragraph with no redundancy. Each sentence adds value: purpose, modes, observer effect, time input, return values. Front-loaded with the key verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters (one nested), no output schema, and no annotations, the description covers the primary use cases, time alternatives, return type, and common scenarios like retrograde. Missing error handling or prerequisites, but adequate for the complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds meaning beyond schema: explains the distinction between t_days (abstract day units) and date (UT ISO when epoch is Julian Days), and mentions observer context. Schema coverage is 67%, so description compensates well for the undocumented system parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Positions of every body in an authored synthetic system at one instant,' which is a specific verb and resource. This distinguishes it from sibling tools like synthetic_sky_view (visualization) and synthetic_validate (validation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains when to use t_days vs date and the observer effect for geocentric/apparent positions. However, it does not explicitly exclude use cases or suggest alternatives, though the context signals provide sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synthetic_sky_viewBInspect
Sky View for a mix of real and synthetic bodies: register the authored system on an ephemeral engine, then frame the visible sky like sky_view. Synthetic bodies can carry render attributes (sizeDeg, magnitude, color) that flow into the pixel spec and prompt. Real Sun/Moon/planets stay for twilight and context unless omitted from bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | No | UTC ISO date-time; omit for now | |
| lens | No | normal | |
| width | No | ||
| bodies | No | Body ids to draw; defaults to Sun, Moon, planets, and every synthetic body | |
| bortle | No | ||
| height | No | ||
| system | Yes | ||
| azimuth | Yes | Center direction: degrees from true north or a compass name | |
| altitude | No | Center altitude in degrees | |
| elevation_m | No | Eye height above ground in meters | |
| include_stars | No | Include catalog stars (usually off for fictional skies) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that real bodies stay unless omitted, and synthetic attributes flow into pixel spec and prompt. However, it does not describe output format, side effects, required permissions, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences that front-load the purpose and process. The second sentence adds behavioral detail, the third clarifies defaults. No redundant information. Efficient and clearly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, nested objects, no output schema), the description adequately explains the core concept and behavioral expectations. However, it omits details on error handling, output format, and guidance for the complex `system` structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 62% coverage of parameter descriptions. The description adds context for the `bodies` parameter (default inclusion of real bodies) and implies purpose for `system`, but does not detail other parameters (lat, lon, date, etc.). It adds marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a sky view for a mix of real and synthetic bodies, registering the system and framing the visible sky like sky_view. It distinguishes from sky_view by explicitly mentioning synthetic bodies and the flow of render attributes, though the output (likely an image) is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when synthetic bodies are involved, and contrasts with sky_view ('like sky_view'), but provides no explicit when-not or alternative guidance. Siblings like synthetic_positions or synthetic_validate are not mentioned for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synthetic_validateAInspect
Check an authored synthetic celestial system for ill-defined inputs: duplicate body ids, non-positive periods, out-of-range eccentricity, or a dangling observer. Returns impossible and a list of problems — the same honesty pattern as compileForm.
| Name | Required | Description | Default |
|---|---|---|---|
| system | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states the tool checks for ill-defined inputs and returns a list of problems, implying it is a read-only validation. However, it does not explicitly confirm non-destructive behavior, mention authentication needs, or describe error handling beyond 'impossible'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose and checks, the second describes the return format. Both are front-loaded and contain no filler. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complex input schema and no output schema, the description is somewhat incomplete. It mentions returning 'impossible' and a list of problems, but does not specify the output structure (e.g., types of problems, format). The reference to 'compileForm' introduces unfamiliar context. The listed checks are helpful but leave out details on what constitutes a 'dangling observer'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It lists the validations performed (duplicate ids, periods, eccentricity, observer), which adds semantic context for the 'system' parameter. However, it does not explain the structure or constraints of the input schema beyond the listed checks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: validating a synthetic celestial system. It lists specific checks (duplicate body ids, non-positive periods, etc.) and mentions the return value. This distinguishes it from siblings like synthetic_positions or synthetic_sky_view, which deal with computations and views.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before other synthetic operations (e.g., 'the same honesty pattern as compileForm'), but does not explicitly state when to use or avoid. No alternatives are mentioned, but the context of siblings suggests this is the validation step. Lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transitsBInspect
Transiting planets vs natal chart: aspects within orb (applying/separating), natal house per transiting body.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| orb | No | Max orb in degrees | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
| house_system | No | House system (default placidus). Case- and spacing-insensitive; valid: placidus, whole_sign, equal, porphyry, koch, regiomontanus, campanus, alcabitius, morinus, meridian, polich_page, vehlow (aliases like "whole sign" also work). | placidus |
| transit_date | No | UTC ISO date-time of transit moment (convert from local first); omit for now |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should reveal behavioral traits. It mentions orb usage and aspect status (applying/separating), but omits details like default return format, ordering, limits, or that it is a read‑only operation. The description lacks sufficient behavioral depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front‑loads the tool's purpose. It is concise with no filler, though it could be slightly restructured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the astrological complexity and the lack of an output schema, the description is too sparse. It fails to explain fundamental concepts (aspect types, orb default, output structure) or how to interpret results, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and descriptions exist for every parameter. The tool description does not add meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes aspects between transiting planets and the natal chart, including whether aspects are applying or separating, and which natal house the transiting body falls in. This distinguishes it from siblings like 'current_sky' (no natal comparison) and 'natal_chart' (no transit component).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as 'returns', 'progressions', or 'cosmic_weather'. The description implies use for transit analysis but does not set contextual boundaries or recommend alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vargasAInspect
Parashari divisional charts (vargas): the sign of each of the seven planets and the Ascendant in the requested D-charts — D1 rasi, D2 hora, D3 drekkana, D9 navamsa, D10 dasamsa, D12 dwadasamsa, D30 trimsamsa. Per point in each chart: the divisional sign and the division number within the rasi. The navamsa (D9) is the most consulted after the rasi. Sidereal; Lahiri by default. Needs the birth time and place for the Ascendant.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | sidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques | sidereal:lahiri |
| divisions | No | subset of 1/2/3/9/10/12/30 (default all) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It states the tool is sidereal by default, requires UTC date and location, and returns divisional sign and division number. However, it doesn't disclose potential errors, rate limits, or safety aspects (though it's likely read-only).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is 4 sentences, front-loading the main purpose. Every sentence adds essential information: what the tool does, the divisions included, noting the most important one, and the data requirements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description hints at return structure (divisional sign and division number per point). It covers inputs, defaults, and purpose. Slightly more detail on response format would improve, but it's sufficient for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds value by clarifying that lat/lon are needed for Ascendant and explaining the division numbers. It also notes navamsa is most consulted, enriching understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it provides Parashari divisional charts (vargas) showing the sign of each planet and Ascendant in requested D-charts, listing specific divisions (D1, D2, D3, D9, D10, D12, D30). This clearly distinguishes it from sibling tools like natal_chart or dasha.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description notes that birth time and place are needed for the Ascendant, and that Lahiri ayanamsa is default. While it doesn't explicitly contrast with alternatives, the context implies when to use this tool for divisional chart analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
void_of_courseAInspect
Void-of-course Moon at a moment: whether the Moon makes no further Ptolemaic aspect to a traditional planet (Sun..Saturn) before it leaves its current sign. Returns the Moon's sign, the UTC time it exits that sign, and the UTC time of its next perfecting aspect (null when none remains -- i.e. void). Tropical by default.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | UTC ISO date-time (convert from local first); omit for now | |
| zodiac | No | tropical (default) or sidereal:<ayanamsa> | tropical |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool checks for no further Ptolemaic aspects to traditional planets, returns Moon's sign, exit time, and next aspect time (null when void). This is good behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words. Clearly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage, the description sufficiently explains return values and behavior. No output schema is present, but description compensates adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description does not need to add much. It confirms defaults and provides context for the 'date' parameter (omit for now), but does not significantly extend beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: determining void-of-course Moon at a moment, with specific explanation of the condition and return values. It distinguishes itself from sibling astrological tools by its focused functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking void-of-course Moon but does not provide explicit guidance on when to use versus alternatives, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yogasAInspect
Vedic yogas (planetary combinations) on the sidereal rasi chart: the five Pancha Mahapurusha yogas (Ruchaka, Bhadra, Hamsa, Malavya, Shasha), Gajakesari, Budha-Aditya, and Chandra-Mangala; whether Kemadruma (the isolated-Moon yoga) is present; the raja yogas (a kendra lord associating with a trikona lord) and dhana (wealth) yogas, each as the lord pair and how they associate (conjunction, aspect, or exchange); and the chart's yogakarakas (a planet ruling both a kendra and a trikona). Sidereal; Lahiri by default. Needs the birth time and place.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude, north positive | |
| lon | Yes | Longitude, EAST positive (Americas are negative) | |
| date | Yes | UTC date-time, ISO 8601, e.g. 1990-06-10T14:30:00Z. Convert local birth time to UTC first. | |
| zodiac | No | sidereal ayanamsa (default sidereal:lahiri); these are sidereal techniques | sidereal:lahiri |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of transparency. It discloses that calculations are sidereal (Lahiri by default) and require birth time/place. It lists the yogas computed, providing sufficient behavioral context for a read-only computation tool. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that lists many yogas. It is moderately concise but could be better structured (e.g., bullet points). Every sentence provides value, but readability could be improved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of yogas and no output schema, the description names the specific yogas computed and hints at output format (lord pairs and associations). It is fairly complete for a specialized tool, though it could briefly mention the typical return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some context (sidereal, need birth time/place) but does not add significant meaning beyond what the schema already provides for parameters like lat, lon, date, and zodiac.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes Vedic yogas including specific named combinations (Pancha Mahapurusha, Gajakesari, etc.). It distinguishes itself from general chart tools like natal_chart by listing specific yoga types, though it doesn't explicitly differentiate from all sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating 'Needs the birth time and place' and lists required parameters. It gives context about sidereal and default Lahiri, but lacks explicit guidance on when to use this tool versus alternatives (e.g., when you need specific yogas vs. general chart facts).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityBmaintenancePrecision-audited astrology MCP for natal charts, transits, synastry and moon phases. No API key.10102MIT
- Flicense-qualityAmaintenanceMulti-tradition astrology engine that computes real birth charts, transits, and synastry for AI agents via MCP tools.3
- AlicenseAqualityAmaintenanceAstrology MCP server that computes natal charts, transits, synastry, progressions, returns, eclipses, retrogrades, and moon phases from a real ephemeris, enabling AI agents to provide accurate astrological calculations without hallucination.12741MIT
- Flicense-qualityDmaintenanceAn AI astrology MCP server providing 49 tools for Western and Vedic astrology calculations, including natal charts, dashas, transits, and compatibility analysis, powered by Swiss Ephemeris.