Skip to main content
Glama

API Read

dev_read_api
Read-onlyIdempotent

Fetch JSON from an allowlisted Open Ephemeris GET endpoint after find_calculation returns its path, enabling read-only access to biodynamic, tidal, crescent-visibility, or catalog data.

Instructions

Use this when find_calculation returns a GET path (biodynamic days, tidal forcing, crescent visibility, catalogs). Returns the endpoint's JSON. Read-only; POST paths go to dev_write_api.

Target API: Open Ephemeris REST API (https://api.openephemeris.com), allowlisted paths only. format 'llm' = compact output. 4xx/5xx are refunded.

Input Schema

NameRequiredDescriptionDefault
bodyNo
pathYesAllowlisted path from find_calculation
queryNo
formatNoSets query.format
methodNo
presetNoSets query.preset
output_modeNoLegacy

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv4.29.0
    • removedInput schema / properties / body / description
      Removed value: -"JSON request body (optional)"
    • changedInput schema / properties / format / description
      Previous value: -"Convenience: if provided, set query.format (optional). 'llm' is canonical; 'llm_v2' is accepted as a legacy alias."New value: +"Sets query.format"
    • removedInput schema / properties / method / description
      Removed value: -"HTTP method (always GET)"
    • changedInput schema / properties / output_mode / description
      Previous value: -"Legacy convenience (deprecated): if provided, set query.output_mode and also map to query.preset/query.format when possible."New value: +"Legacy"
    • changedInput schema / properties / path / description
      Previous value: -"Absolute API path of an allowlisted GET endpoint (e.g., /ephemeris/moon/phase)"New value: +"Allowlisted path from find_calculation"
    • changedInput schema / properties / preset / description
      Previous value: -"Convenience: if provided, set query.preset (optional)."New value: +"Sets query.preset"
    • removedInput schema / properties / query / description
      Removed value: -"Query params (optional)"
  2. Changed3 schema fields changedv4.24.2
    • addedInput schema / properties / body / additionalProperties
      Added value: +true
    • addedInput schema / properties / body / type
      Added value: +"object"
    • changedInput schema / properties / path / description
      Previous value: -"Absolute API path (e.g., /ephemeris/natal-chart)"New value: +"Absolute API path of an allowlisted GET endpoint (e.g., /ephemeris/moon/phase)"
  3. Addedv4.8.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description adds context they don't carry: allowlisted-paths-only constraint, the 'llm' compact-output mode, and that 4xx/5xx are refunded. It doesn't mention auth requirements (an auth_status/auth_login sibling set exists) or rate limits, so it stops short of a 5.

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

Conciseness4/5

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

Front-loaded with the selection trigger, then operational constraints, then the target API context. Compact overall, though the standalone 'Target API: ... allowlisted paths only' line partly restates the path parameter's schema description.

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

Completeness4/5

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

For a 7-param passthrough tool with nested objects and no output schema, the description supplies the workflow (find_calculation -> read/write), the output shape ('endpoint's JSON'), and the error/refund policy. Remaining gaps are the undocumented preset/output_mode/body semantics and no auth note.

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

Parameters3/5

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

Schema coverage is 57%, and the description only enriches two things: path comes from find_calculation and format='llm' means compact output. Preset, output_mode ('Legacy' per schema only), and the body/query objects receive no explanation, and body on a GET-only tool is unexplained.

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

Purpose5/5

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

States a specific verb (read) and resource (API endpoint), and pins the entry condition to a sibling's output: 'Use this when find_calculation returns a GET path.' Explicitly contrasts with dev_write_api for POST paths, so the agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use trigger (find_calculation returned a GET path) and a when-to-use-something-else rule (POST paths go to dev_write_api). The workflow ordering is unambiguous, leaving nothing to inference.

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