Skip to main content
Glama

mast_observations

Search MAST astronomical observation data by object, coordinates, mission, instrument, or date without authentication. Returns observation logs and optional data products.

Instructions

MAST(NASA/STScI の宇宙望遠鏡アーカイブ)の観測データを検索する(認証不要)。

例:「M31 を JWST が観測したデータ」「ハッブルが撮ったオリオン大星雲の観測ログ」

Args: object_name: 天体名(例 "M31", "Orion Nebula", "NGC 300", "アンドロメダ")。 内蔵/SIMBAD/NED(Sesame)で座標解決し、その周囲をコーン検索します。座標より優先。 解決できない名前は target_name のワイルドカード検索(* は % 扱い)に切り替えます。 ra: 赤経(度)。object_name 省略時、dec と併用。 dec: 赤緯(度)。 radius: コーン検索の半径(度, 既定 0.05・最大 5)。 mission: ミッション/望遠鏡(例 "JWST", "HST", "TESS", "ハッブル", "ウェッブ", "Kepler")。 instrument: 装置名の部分一致(例 "NIRCam", "MIRI", "WFPC2", "NIRSPEC")。 product_type: データ種別(image / spectrum / cube / timeseries / catalog、部分一致可)。 start_date: 観測日の下限(例 "2024-01-31"、"2024")。t_min(MJD)に変換して絞り込み。 end_date: 観測日の上限。 include_products: true で上位3観測のデータ製品(ファイル名・サイズ・DLリンク)も返す。 include_calibration: true で校正用露出(BIAS/DARK 等の intentType=calibration)も含める。 既定 false(科学観測だけ)。 preview_image: true で先頭観測のプレビュー画像(.jpg/.png)を content にインライン表示する (データ製品を取得し、画像1枚を保存してリンクと併せて返す)。 limit: 返す観測件数(既定 10、最大 50)。

Input Schema

NameRequiredDescriptionDefault
raNo
decNo
limitNo
radiusNo
missionNo
end_dateNo
instrumentNo
start_dateNo
object_nameNo
product_typeNo
preview_imageNo
include_productsNo
include_calibrationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed38 schema fields changedv0.41.4
    • removedInput schema / properties / dec / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / dec / default
      Removed value: -null
    • removedInput schema / properties / dec / title
      Removed value: -"Dec"
    • addedInput schema / properties / dec / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedInput schema / properties / end_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / end_date / default
      Removed value: -null
    • removedInput schema / properties / end_date / title
      Removed value: -"End Date"
    • addedInput schema / properties / end_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / include_calibration / title
      Removed value: -"Include Calibration"
    • removedInput schema / properties / include_products / title
      Removed value: -"Include Products"
    • removedInput schema / properties / instrument / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / instrument / default
      Removed value: -null
    • removedInput schema / properties / instrument / title
      Removed value: -"Instrument"
    • addedInput schema / properties / instrument / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / limit / title
      Removed value: -"Limit"
    • removedInput schema / properties / mission / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / mission / default
      Removed value: -null
    • removedInput schema / properties / mission / title
      Removed value: -"Mission"
    • addedInput schema / properties / mission / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / object_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / object_name / default
      Removed value: -null
    • removedInput schema / properties / object_name / title
      Removed value: -"Object Name"
    • addedInput schema / properties / object_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / preview_image / title
      Removed value: -"Preview Image"
    • removedInput schema / properties / product_type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / product_type / default
      Removed value: -null
    • removedInput schema / properties / product_type / title
      Removed value: -"Product Type"
    • addedInput schema / properties / product_type / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / ra / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / ra / default
      Removed value: -null
    • removedInput schema / properties / ra / title
      Removed value: -"Ra"
    • addedInput schema / properties / ra / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedInput schema / properties / radius / title
      Removed value: -"Radius"
    • removedInput schema / properties / start_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / start_date / default
      Removed value: -null
    • removedInput schema / properties / start_date / title
      Removed value: -"Start Date"
    • addedInput schema / properties / start_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / title
      Removed value: -"mast_observationsArguments"
  2. Addedv0.39.0

TDQS

A4.4/5.0
Behavior5/5

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

With zero annotations, the description carries the full burden and does it well: it discloses no-auth access, name-resolution-to-cone-search chaining with a fallback path, that include_calibration defaults to false (science-only by default), that include_products returns data products for only the top 3 observations, that preview_image downloads and saves an image file as a side effect, and the caps (radius max 5, limit max 50). These are exactly the non-obvious behaviors an agent needs before calling.

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?

Purpose and examples are front-loaded, then a structured Args block one-parameter-per-entry, so every line earns its place even at this length. Slightly verbose prose in a few entries (e.g. the preview_image parenthetical) keeps it from a 5, but the length is justified by 13 undocumented parameters.

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 13-parameter, no-annotation, no-output-schema tool this covers nearly everything an agent needs: inputs, defaults, caps, side effects, and partial hints about returns (observation count, top-3 product expansion, inline image). The return shape of an observation record itself is not described, which is the one gap given no output schema exists.

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

Parameters5/5

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

Schema coverage is 0% and the description fully compensates: all 13 parameters get meaning, accepted formats (degrees, '2024-01-31' or '2024'), defaults (radius 0.05, limit 10), maxima (5, 50), matching semantics (partial match for instrument and product_type, `*`→`%` for wildcards), and precedence rules between object_name and ra/dec. Nothing is left to guess from the bare schema.

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?

States a specific verb+resource: search MAST (NASA/STScI space telescope archive) observations, with the scope qualifier that no authentication is required. The two inline query examples ('M31 observed by JWST', 'Hubble Orion Nebula observation log') make the resource concrete. It does not explicitly differentiate itself from archive siblings such as cadc_observations or alma_search, so it stops short of a 5.

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

Usage Guidelines4/5

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

It routes usage inside the tool well: object_name is preferred over raw coordinates and is resolved via Sesame, falling back to a target_name wildcard search when resolution fails; ra/dec are only used when object_name is omitted. What's missing is any external routing – no statement about when to prefer cadc_observations or alma_search instead. Clear context, but no explicit exclusions.

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