Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Oddsky gives you real telescope data on strange stars and tools to analyse it. Work like a careful scientist: call case_overview first, then skeptic_report, look at the light curves, and only then propose hypotheses. Record what you find with add_claim, tagging each claim honestly (observed | computed | inferred | speculated) and citing the call_id of the tool results it rests on. Propose explanations with add_hypothesis (classes from list_classes), say what would falsify each, and register machine-checkable predictions with register_prediction. The first principle is that you must not fool yourself, and you are the easiest person to fool.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_casesB

List the cases you can investigate, with their status on the discovery ladder.

list_classesB

The Strange Stars explanation classes. Hypotheses must use one of these names.

case_overviewA

Start here. What the case is, what data exist (per series: span, points, brightness range), the stellar context from Gaia, and the claims and hypotheses recorded so far.

get_lightcurveC

Points of one series, e.g. series='NEOWISE:W1' or 'AAVSO:V'. Optional time window and binning (median per bin_days). Long series are binned automatically to max_points.

describe_seriesB

Summary statistics, long-term slope, and the single most significant change in level (a changepoint: when, how big, which direction) for one series.

compare_windowsC

Median brightness of a series in window A vs window B, with the significance of the difference.

observer_agreementB

Does every independent observer see the same thing? For each AAVSO observer (or camera) with data in both windows: their own baseline median, their faintest and median point in the event window, and the depth relative to their own baseline. Observer zero points cancel.

eclipse_periodA

Period of short, deep, rare events (eclipses) that Lomb-Scargle misses: find the period at which every point more than depth mag below its series median falls at one phase, and no quiet point does. Combine instruments (e.g. ["ZTF:ZTF_r", "GAIA:G"]) for a long-baseline ephemeris.

foldC

Fold a series on a period: phase-binned medians, primary depth (phase 0) and secondary depth (phase 0.5) within +/- window_phase, the faintest bin away from the primary (a secondary at any phase, for eccentric orbits), and primary depth on even vs odd cycles (catches period halving).

lens_fitA

Fit a gravitational microlensing event: a point source magnified by a point lens, without and (by default) with annual parallax, to one or more series at once (e.g. ["ATLAS:ATLAS_o", "ATLAS:ATLAS_c", "NEOWISE:W1"]). Each series is binned per night and turned into flux / its own baseline (median outside [start, end], or over the baseline window). Errors include that series' baseline night-to-night scatter and 1% of flux. Returns t0, tE, u0, A_max (and piE, fs), 95% ranges for t0 and tE from chi-square profiles (not covariance), how well the peak and wings are sampled, and how much the parallax model improves on the static one. A static fit much worse than the parallax fit means the light curve is asymmetric; a peak with no points means t0 and A_max rest on the wings. Microlensing is achromatic: fit the bands together and compare their residuals.

periodogramC

Lomb-Scargle periodogram with the survey's spectral window, flagging peaks that match Earth/spacecraft rhythms (day, lunar month, TESS orbit, year) or window aliases.

find_excursionsB

Find dips (fainter) and brightenings against a running baseline: start, end, depth, ingress/egress durations, asymmetry, and whether the start or end fell in a data gap. Restrict to a window (start/end) to get a local noise level, e.g. for quiet years.

cross_bandC

How series A changes when series B changes (near-simultaneous pairs): correlation and slope dA/dB, with the interstellar-dust expectation for comparison.

wise_colorC

NEOWISE W1-W2 colour per visit and whether it tracks W1 brightness (warm dust signature).

ir_excessC

Infrared excess in NEOWISE over a baseline (photosphere) epoch: excess flux in each band as a fraction of the star, and the blackbody temperature of the excess from its W1/W2 ratio.

neighborsC

Gaia DR3 sources near the target: separation, brightness difference, and fraction of the target's flux. In blind mode, identities are removed.

skeptic_reportB

Run the Skeptic: deterministic checks for blends, saturation, quality cuts, single-observer data, survey-rhythm aliases, unobserved onsets, TESS spacecraft systematics and more.

add_claimA

Record a claim. tag must be observed | computed | inferred | speculated. Cite the call_id(s) of the tool results it rests on (computed and observed claims without calls are weak).

retract_claimA

Retract a claim you no longer stand behind (a mistake, a probe, a superseded number). It stays in the record, struck through, with your reason. Nothing in Oddsky is silently deleted.

add_hypothesisB

Propose an explanation. klass from list_classes(). List claim ids that support it and that are in tension with it, and say what observation would falsify it.

update_hypothesisC

Change a hypothesis's status (live | favored | disfavored | rejected) and confidence, with a reason.

register_predictionB

Register a falsifiable, machine-checkable prediction. Example: 'the median of AAVSO:V between start and end will be more than 0.3 mag fainter (op '>', value 0.3) than its median over the baseline window'. Without a baseline, value is an absolute magnitude. probability = your stated chance the check comes out true. The registration time is sealed by the ledger and git.

check_predictionA

Grade a registered prediction against the data now in the case. Predictions whose window has not closed yet are reported as pending and not graded. dry_run=True never writes. (Not available in blind trials, where the future is held back.)

open_caseB

Open a new case on any star by name (SIMBAD/AAVSO resolvable) and fetch its data from Gaia, NEOWISE, AAVSO, ZTF, ASAS-SN and TESS. Takes a minute or two.

literatureB

Recent papers mentioning the target (SIMBAD bibliography). Open mode only. Read them after forming your own view, not before, if you want your investigation to count as independent.

prior_artA

Run the Librarian: is it new? For a sky position (ra, dec in degrees; or give a case to use its target), look up the objects in SIMBAD and NED, merge the papers SIMBAD and ADS attach to them, ask the big catalogues (VSX, VarWISE, Milliquas, WISE AGN) and check the shelves of published samples. verdict: unlisted (no object anywhere) | catalogued (an object, but no paper title matches the topics; not evidence that nothing is published) | mentioned (titles match, but only in papers that list more than 500 objects) | studied (a title matches in a paper about the object, a shelf holds it, SIMBAD types it as a transient, or a catalogue of variables lists it: read those before calling anything new). An AGN-catalogue entry is reported and does not change the verdict. complete = false means a source could not be queried, or ADS held more papers than were read, and the verdict is not final. topics: transient, dimming, infrared_excess, binary (default all). epoch: the date of the position as a decimal year (2010.5 for AllWISE); give it for anything that may be a nearby star, so that SIMBAD's stars are moved to that date by their proper motion (default: no motion). Open mode only. Logged to the ledger when a case is given.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 26 tools

Disambiguation4/5

Most tools target clearly distinct operations: data retrieval (get_lightcurve, describe_series), specialised analyses (lens_fit, eclipse_period, fold, periodogram), and the claim/hypothesis/prediction ledger are well separated. Only mild overlap exists in the time-domain group (periodogram vs eclipse_period vs fold, describe_series vs find_excursions vs compare_windows) and in the literature group (literature vs prior_art), but descriptions draw clear boundaries.

Naming Consistency3/5

All names are consistent snake_case, but the verb convention is mixed: action tools use verb_noun (add_claim, update_hypothesis, register_prediction, open_case, list_cases), while many analysis tools are bare nouns (fold, periodogram, neighbors, literature, prior_art, lens_fit, ir_excess). Readable but not a single predictable pattern.

Tool Count3/5

26 tools is on the heavy side, though the domain is genuinely broad (data ingestion, several independent astrophysical analyses, a provenance ledger, and a novelty check). It is borderline: a few tools (cross_band, wise_color, ir_excess) could arguably be folded into a single band/colour comparison tool without losing capability.

Completeness4/5

Coverage is strong: case creation, multi-survey data access, a full claim/hypothesis/prediction lifecycle with retraction and grading, plus blend/skeptic and prior-art checks. Minor gaps: no dedicated list_claims or list_hypotheses tool (only case_overview aggregates them) and no way to close/archive or delete a case.

Maintenance

ActivityMaintained
ResponsivenessOutdated data