Skip to main content
Glama

track_object

Generate timed bearing and altitude samples for a celestial object at a specified observer location and time; stream progress updates and return the full track.

Instructions

Stream timed bearing/altitude samples with rates. Each sample is sent as a progress notification when the client supplies a progressToken; the full list is also returned.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "track_object"
  }
}

Input Schema

NameRequiredDescriptionDefault
ra_degNo
dec_degNo
latitudeNo
longitudeNo
duration_sNoLength of the track, seconds.
interval_sNoSeconds between samples.
place_nameNoObserver place name. An uncached query is sent to public OpenStreetMap Nominatim.
elevation_mNoElevation above sea level, metres.
object_nameNoObject name. Use this or ra_deg + dec_deg.
start_time_utcNoISO 8601 UTC start. Defaults to now.
magnetic_declination_degNoLocal magnetic declination, east positive (from a WMM lookup). Bearing = true azimuth - declination.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does valuable work by disclosing the delivery mechanism: per-sample progress notifications when a progressToken is supplied, plus the full list returned, and it exposes a parameter (progressToken) that isn't in the schema at all. However, it omits that a call can block for up to duration_s=3600, says nothing about error behavior for unresolved object names, and doesn't disclose the external geocoding dependency (only the schema does).

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?

Two tight sentences with the core behavior front-loaded and no filler. The only weakness is that the compression creates ambiguity ('bearing/altitude samples with rates') rather than reducing waste.

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

Completeness3/5

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

For an 11-parameter astronomy tool with zero annotations, zero required parameters and no output schema, the description covers the streaming mechanism but leaves significant gaps: what happens when no observer location or no target is supplied, that the call blocks for the requested duration, and what each returned sample contains. Adequate as an opening summary, but not sufficient on its own to invoke it confidently.

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 64%, so about a third of the parameters lack documentation, and the description compensates for none of them by name. 'With rates' is compressed and ambiguous about how rate relates to interval_s, and 'samples' vs 'full list returned' doesn't clarify the return shape. The one real addition, progressToken, is useful but is not a declared parameter.

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

Purpose4/5

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

The description gives a specific verb and resource: streaming timed bearing/altitude samples over a duration. This implicitly separates it from the single-point siblings (locate_celestial_object, locate_by_coordinates), but it never names those siblings or states the contrast explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: 'stream timed ... samples' suggests you use it when you want a time series rather than one position. There is no explicit when-to-use/when-not guidance, no mention of alternatives, and no guidance on the object_name vs ra_deg+dec_deg choice or on location requirements beyond what the schema says.

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