Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NASA_API_KEYNoOptional NASA API key for higher rate limits. If not provided, DEMO_KEY is used (rate limited to 30 req/hr/IP).

Instructions

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

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
reverse_lookupA

逆引き歴史Q&A — カテゴリ+国 で絞り込んだ最初/記録の宇宙オブジェクトを Wikidata から探す。

例: 「米国で最初に打ち上げた宇宙望遠鏡は?」→ category="宇宙望遠鏡", country="United States"
例: 「日本初の人工衛星は?」→ category="人工衛星", country="Japan"

Args:
    category: 探す対象のカテゴリ(宇宙望遠鏡/space probe/satellite/astronaut など)。
    launch_date: 打ち上げ日(P619)で並べる場合は True。False にすると対象を列挙する。
    country: 国名(例 "United States", "Japan", "India")。Wikidata 上で Q-id に自動解決する。
    country_qid: 国の Q-id を直接指定する場合(例 "Q30"=米国, "Q17"=日本)。country より優先。
    limit: 返す件数(既定 5)。
    order: "asc"=古い順(最初のもの), "desc"=新しい順。
    language: ラベル表示言語(ja/en/zh など)。
upcoming_launchesA

今後予定されているロケット打ち上げの一覧を返す。

認証不要。content に表示用サマリ、structuredContent に JSON を返す。

Args:
    limit: 返す件数(既定 5、最大 15)。
china_launchesA

中国のロケット打ち上げ予定(長征シリーズ・LandSpace等の民間企業を含む)を返す。

Launch Library 2 を「search=China」で絞り込み、長征(Long March)シリーズや
Shenzhou(有人)/Tianzhou(補給)、Hyperbola-3(LandSpace)等を取得する。
認証不要。content に表示用サマリ、structuredContent に JSON を返す。

Args:
    limit: 返す件数(既定 8、最大 15)。
    status: 状態で絞り込み(例 "Go for Launch", "To Be Determined")。省略で全状態。
russia_launchesA

ロシア(Roscosmos)のロケット打ち上げ予定を返す(ソユーズ・プロトン・アンガラ等)。

Launch Library 2 を「search=Roscosmos」で絞り込み、ソユーズ(Soyuz)による
Progress(補給)・Soyuz MS(有人)・Luna 等の打ち上げを取得する。
ロシア直のオープンAPIは存在しないため(Roscosmos REST は404)、グローバル集約API経由。
認証不要。content に表示用サマリ、structuredContent に JSON を返す。

Args:
    limit: 返す件数(既定 8、最大 15)。
    status: 状態で絞り込み(例 "Go for Launch")。省略で全状態。
tiangong_nowA

天宮(Tiangong)中国宇宙ステーションの現在位置を返す。

例:「天宮の現在位置」「中国宇宙ステーションは今どこ?」
CelesTrak の最新 TLE を SGP4 で伝播して現在の緯度・経度・高度・速度を計算
(CelesTrak 遮断中は代替源の公開ミラーから取得し、本文の「軌道要素エポック」行に
実際の出典を表示。structuredContent.tle_source にも入る)。
認証不要。content に表示用サマリ+Googleマップリンク、structuredContent に JSON。

Returns:
    CallToolResult: 表示用サマリ + JSON。
power_climateA

NASA POWER API で任意地点の過去の気候・太陽エネルギー統計を返す(認証不要)。

例:「東京の過去1年間の日射量」「ハワイの気温データ」「太陽光発電の立地評価」
過去の日別データ(通常数日〜数ヶ月前まで)の期間平均を計算して返す。

Args:
    latitude: 緯度(例 東京 35.68)。
    longitude: 経度(例 東京 139.69)。
    start: 開始日 "YYYY-MM-DD"。省略で1年前。
    end: 終了日 "YYYY-MM-DD"。省略で直近データ。
    parameters: カンマ区切りのパラメータ(例 "T2M,ALLSKY_SFC_SW_DWN")。
        省略で主要パラメータ(気温・日射量・風速)。
eso_seeingA

ESO パラナル天文台(チリ, VLT)のリアルタイム大気・シーイング観測データを返す。

例:「パラナル天文台のシーイング」「VLTの観測コンディション」「赤外線観測の水蒸気」
認証不要。シーイング(arcsec)・可降水量(PWV)・気温・湿度・風速を返す。

Args:
    hours: 過去何時間分を取得するか(既定 12、最大 48)。
    fields: カンマ区切りの観測フィールド。省略で主要フィールド。
cadc_observationsA

CADC(カナダ天文データセンター)の観測データを検索する(認証不要)。

HST(ハッブル)・ジェミニ望遠鏡・NEOSSat 等の観測メタデータを、
天体名または座標(ra/dec)で ADQL 検索する。

例:「ハッブルが撮ったNGC 300」「オリオン星雲の観測データ」「ジェミニの観測一覧」
パブリックメタデータは認証不要。画像ダウンロードは一部要認証。

Args:
    object_name: 天体名(例 "M31", "Orion", "NGC 300", "M104", "Sombrero", "HL Tau")。
        座標指定より優先。内蔵テーブルに無い名前は **SIMBAD/NED(Sesame)で座標解決**し、
        和名(オリオン大星雲 等)も英語名に展開して解決する(推測では検索しない)。
    ra: 赤経(度)。object_name 省略時、dec と併用。
    dec: 赤緯(度)。
    radius: 検索半径(度, 既定 0.5)。
    telescope: 望遠鏡で絞り込み(例 "HST", "Gemini-North", "TESS")。
    limit: 返す件数(既定 8、最大 20)。
mast_observationsA

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

JWST・ハッブル(HST)・TESS・Kepler・GALEX などの**科学アーカイブ**を、天体名(和名可)・
座標・装置・観測日で横断検索し、観測ID・装置・観測日・校正レベル・データ製品(FITS の
ダウンロードURL)まで返します。NASA の広報画像を探す search_space_images とは別物で、
「その天体がどの装置でいつ観測されたか」を調べる用途です。

例:「M31 を JWST が観測したデータ」「ハッブルが撮ったオリオン大星雲の観測ログ」
「2026年に NIRCam で撮られた画像」「TESS の観測一覧」

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)。
gcn_alertsA

NASA GCN(General Coordinates Network)の過渡天体速報(GCN Circulars)を返す(認証不要)。

GCN は GRB・重力波・ニュートリノ・X線新星などの速報を世界の観測所から集めて配る
NASA GSFC のサービスです。本ツールは **Circulars(人が書く速報)** を期間・キーワードで
新しい順に一覧し、`circular_id` を指定すればその1件の本文(投稿者・観測時刻・本文)まで返します。

例:「直近1週間のGRB速報」「今日のGCN速報」「重力波の続報」「EP(アインシュタイン探査機)のアラート」

Args:
    days: 何日前までを対象にするか(1〜60、既定 7)。UTC 日付で絞り込みます。
    query: キーワード(例 "GRB", "neutrino", "GW", "SVOM", "EP")。省略時は全件。
    circular_id: Circular 番号(例 "45640")。指定すると1件の本文を返します(一覧は返しません)。
    limit: 一覧で返す最大件数(既定 25、最大 100)。

注意: ここで返すのは人が書く Circular です。機械可読の **Notices** は Kafka
(kafka.gcn.nasa.gov:9092・`gcn.notices.*`)配信のみで、本ツールの対象外です。
出典: NASA GCN (gcn.nasa.gov)。回答時は Circular のリンクをそのまま提示してください。
alma_searchA

ALMA(アルマ望遠鏡, 電波干渉計)の観測データを検索する(認証不要)。

ALMA Science Archive(NAOJ 東アジア鏡, IVOA TAP)の観測メタデータを ADQL で検索する。
mm/サブmm電波観測なので、赤外・可視の望遠鏡とは異なる低温ガス・塵の観測が特徴。

例:「アルマで観測されたM100」「HL Tau のALMA観測(バンド7)」「アルマのキューブデータ」

天体名は **表記ゆれを自動で吸収**する("HL Tau" / "HL_Tau" / "HLTau" 等。アーカイブは
観測者の入力そのままの名前を持つため完全一致だけでは 0 件になりやすい)。それでも
0 件のときは推測せず、アーカイブにある候補名を提示して停止する。

Args:
    object_name: 天体名(例 "M100", "HL Tau", "TW Hya", "Orion")。
    ra: 赤経(度)。object_name 省略時、dec と併用(円錐検索)。
    dec: 赤緯(度)。
    radius: 座標検索の半径(度, 既定 0.3)。
    band: ALMA 受信バンドで絞り込み(1〜10。3≈100GHz帯, 6≈230GHz帯, 7≈345GHz帯)。
    product_type: "cube"(三次元分光データ)/ "image"(二次元画像)/ "visibility" /
        "all"(既定)。obscore は校正済み製品のみを収録する。
    public_only: True で公開データ(data_rights=Public)だけに絞る。
    with_products: True で datalink を引き、実データ製品(校正済み tar・生データ ASDM・
        README・パイプライン製品)の URL 一覧を先頭3件まで添える。
        content にはアイコン付きのクリック可能リンクとして出す。
    limit: 返す件数(既定 8、最大 20)。

メタデータ検索は認証不要。FITS 本体のダウンロードは data_rights=Public のみ可
(Restricted はプロポーザル権限が必要)。
radio_sources_nowA

TART オープン電波望遠鏡が「いま観測できる電波源」を返す(認証不要)。

教育・研究用にオープンソース公開されている電波干渉計 TART の可視電波源
カタログから、指定した観測地点の地平線より上にある電波源(GNSS・静止衛星等の
人工衛星)をリアルタイムに取得する。電波天文・衛星追尾の学習用。

例:「いま上空に何が見える?」「ダニーデンの電波望遠鏡が見ている衛星」
「いま観測できる電波源」 認証不要。

Args:
    lat: 観測地点の緯度(度)。省略時は TART 本体のある NZ(-45.87)。
    lon: 観測地点の経度(度)。省略時は NZ(170.60)。
    alt: 観測地点の標高(m, 既定 100)。
    elevation: 地平線からの最小仰角(度, 既定 10。高いほど地平線近くを除外)。
    limit: 返す件数(既定 15、最大 50)。
space_literature_searchA

宇宙・惑星科学の一次文献(論文・技術報告)を横断検索して根拠を返すツール。

惑星・衛星・小天体・探査ミッションについて「その記述の根拠となる文献」を DOI 付きで返します。
Wikipedia / Wikidata の要約ではなく、**査読論文・技術報告そのもの**を根拠として提示したいときに使います。

例:「火星の大気流出の研究」「Europa 地下海の証拠」「金星のホスフィン」「はやぶさ2 リュウグウ」
「月の永久影の水氷」「惑星形成 シミュレーション」

Args:
    query: 検索語(天体名・現象・ミッション名など)。**日本語可**。
    sources: 検索先。"auto"(既定・日本語クエリなら JAXAリポジトリ・J-STAGE・CiNii+OpenAlex、
        英語クエリなら OpenAlex・Crossref・NASA NTRS)/"all"/カンマ区切りで明示。
        指定できる名前: openalex, crossref, ads, semanticscholar, wos, ntrs,
        jaxa_repo, jstage, cinii, zenodo, datacite
    limit: 返す最大件数(1〜25、既定 10)。
    year_from: 出版年の下限(例 2015)。
    year_to: 出版年の上限(例 2026)。
    sort: "relevance"(既定)/ "citations"(被引用数順)/ "date"(新しい順)。
    min_citations: 被引用数の下限。⚠️ 被引用数を持たないソース(NTRS・JAXAリポジトリ・
        J-STAGE・CiNii)の文献は除外されます。
    open_access_only: OpenAlex でオープンアクセス文献だけに絞る(既定 false)。
    include_abstract: 要旨を返すか(既定 true)。長さを抑えたいときは false。
    planetary_only: OpenAlex の検索を「惑星科学」概念(`concepts.id:C152551177`)に限定する
        (既定 false)。**裸の天体名(例「火星」)で関連性を上げたいときに true**にすると、
        全文一致で拾われる無関係な高被引用論文(実測: "Mars" で R 言語マニュアル)を排除できます。
        銀河・恒星など太陽系外の天体では false のままにしてください。

⚠️ 返すのは**文献(書誌)**であり観測データではありません。観測(画像・スペクトル)は
mast_observations / alma_search / cadc_observations を使ってください。
⚠️ OpenAlex / Crossref は**日本語クエリを解釈できない**ため、日本語入力は語彙辞書で英語へ置換して
から投げます(無関係な文献が返るのを防ぐため。`translation` に置換内容を入れます)。日本語文献は
JAXAリポジトリ・J-STAGE・CiNii が得意です。
⚠️ APIキーが必要なソース(ADS_API_KEY / S2_API_KEY / WOS_API_KEY)は未設定ならスキップし、
理由を `sources[].note` に残します(結果は残りのソースで返します)。

**回答時は DOI リンクと「出典:」行をそのまま提示してください。要旨は要約せず、そのまま引用して
ください**(図の注記と同じく、LLM が書き換えると一次情報と食い違うため)。
planetary_evidenceA

天体(惑星・衛星・小天体・探査機)の文献的な裏づけをまとめて返すツール。

1つの天体名から、①名前解決(Sesame/CDS: 和名→英語名→座標)と、②その天体に関する文献を
**英語圏(OpenAlex・Crossref・NASA NTRS)と日本語(JAXAリポジトリ・J-STAGE・CiNii)の両方**から
集めて、被引用数の多い順に返します。「Wikipedia の説明を、一次文献で裏づけたい/さらに深掘りしたい」
ときに使います。

例:「火星」「エウロパ」「タイタン」「はやぶさ2」「リュウグウ」「ベスタ」

Args:
    object_name: 天体・ミッション名(日本語可)。
    limit: 返す最大件数(1〜25、既定 8)。
    include_japanese: 日本語文献(JAXAリポジトリ・J-STAGE・CiNii)も検索するか(既定 true)。
    sort: "citations"(既定・被引用数順)/ "date"(新しい順)/ "relevance"。
    planetary_only: OpenAlex の検索を「惑星科学」概念に限定する(既定 **true**)。裸の天体名でも
        惑星科学の文献が上位に来ます(実測: "Mars" 単独だと R 言語マニュアルが 35万引用で
        1位になるが、限定すると THEMIS / MSL / MAVEN が上位)。銀河・恒星など**太陽系外**の
        天体を調べるときは false にするか space_literature_search を使ってください。

⚠️ 返すのは**文献(書誌)**で、観測データではありません。観測は mast_observations /
alma_search / cadc_observations、現在位置は solar_system_now / planetary_orbiter_track です。
⚠️ **太陽系天体は時刻で位置が変わるため固定座標を持ちません**。Sesame が解決できるのは
恒星・銀河・星雲・小惑星などの固定天体です(解決できない場合はその旨を `caveats` に出し、文献
検索は名前で続行します)。

**回答時は DOI リンク・出典の「出典:」行・`caveats` をそのまま提示してください。**
object_lookupA

天体の基本情報を SIMBAD(CDS)から取得する(認証不要)。

SIMBAD は天文で最も使われる天体同定データベースで、天体の種別・スペクトル型・
年周視差(距離)・固有運動・視線速度と、周辺天体(円錐検索)を返す。
Sesame(planetary_evidence / mast_observations 等が使う名前解決)は
「名前 → 座標」しか返さないため、このツールは「その天体が何か」を補う。

例:「M31 ってどんな天体?」「シリウスの距離とスペクトル型」「プレアデス星団の周辺天体」

Args:
    object_name: 天体名(Messier 番号・英語名・和名・星表名。例 "M31", "Sirius",
        "オリオン大星雲", "HD 48915")。和名は英語名に展開して試す。
    neighbors: 0 より大きいと、その天体の周辺天体をこの件数だけ円錐検索して返す。
    radius_arcmin: 周辺天体を探す半径(分角, 0.1〜30, 既定 2.0)。

数値引数は不正な値でも既定値に落ちる(例外は返さない)。0 件のときは推測せず、
SIMBAD が持つ候補を提示して停止する。
catalog_searchA

VizieR(CDS)の観測星表を「その位置にある天体」で検索する(認証不要)。

VizieR は世界最大の天文観測星表アーカイブで、2MASS(赤外)・Gaia DR3・AllWISE・
Pan-STARRS1・SDSS・ヒッパルコス・NGC などを、指定した天体のまわりで円錐検索できる。
値は星表ごとの生の列名で返し、列名と単位も同時に返す(LLM が意味を推定せずに済む)。

例:「M31 のまわりの 2MASS の天体」「シリウスの Gaia DR3 の値」「NGC カタログで
オリオン大星雲を調べる」

Args:
    object_name: 天体名(和名可。Sesame/CDS で座標へ解決してから検索する)。
    ra: 赤経(度)。object_name 省略時に dec と併用。
    dec: 赤緯(度)。
    catalog: 星表(既定 2mass)。指定できる名前は 2mass / gaia / gaia-edr3 /
        hipparcos / allwise / unwise / ps1 / sdss16 / sdss12 / ngc、または
        VizieR の生の表名(例 "II/246/out")。未知の名前は候補一覧を返して停止する。
    radius_arcmin: 円錐検索の半径(分角, 0.1〜60, 既定 1.0)。VizieR の c.rm は
        分角単位(秒角指定は無視されるため 0.1 未満は 0.1 に丸める)。
    max_rows: 返す行数(既定 10, 最大 50)。

注意: VizieR の ASU は星表名を省略すると世界中の全星表を走査して 57 MB を返すため、
このツールは星表名の指定を前提にしている。
exoplanet_searchA

太陽系外惑星を NASA Exoplanet Archive から検索する(認証不要)。

系外惑星の確定カタログ(複合パラメータ表 pscomppars)を検索し、軌道周期・
軌道長半径・半径・質量・平衡温度・恒星放射・主星の型・距離・TIC/Gaia ID を返す。

例:「TRAPPIST-1 の惑星は?」「地球くらいの温度の系外惑星を探す」「2020年以降に
見つかった近い系外惑星」「トランジット法で見つかった惑星」

Args:
    object_name: 主星名または惑星名(例 "TRAPPIST-1", "Proxima Cen", "Kepler-22",
        和名 "ケプラー22")。部分一致で探し、和名は英語名+番号に展開して試す。
    discovery_method: 発見手法で絞り込み(部分一致。例 "transit", "radial velocity",
        "microlensing"、和名は トランジット / 視線速度 / マイクロレンズ など)。
    max_distance_pc: 主星系までの距離の上限(パーセク)。
    since_year: 発見年(disc_year)の下限。
    earth_like: True で地球サイズ(0.5〜2.0 地球半径)かつ平衡温度 200〜320 K に絞る
        (2026-09 時点で 61 件)。
    limit: 返す惑星数(既定 10, 最大 50)。

0 件のときは推測せず、主星名の候補を提示して停止する。数値引数は不正でも既定値に落ちる。
出典: NASA Exoplanet Archive(NExScI/Caltech, DOI: 10.26133/NEA12)。
sky_map_with_satellitesA

東京(または指定地)の空を地上から見上げた図(恒星・惑星・天の川・人工衛星)を返す。

例:「東京の空に惑星と人工衛星を重ねた図」「今見えるISSを星空マップで」「木星はどこに見える?」
天体位置は JPL de421 + Skyfield、衛星位置は CelesTrak TLE + SGP4 で実測計算。

学生・観賞用途では視認性の高い Pillow 版(既定)を推奨。正確な座標プロットが必要な場合は
matplotlib 版も選択できる。

engine で描画方法を選択:
  - "ground"(既定):   地上から見上げた空(正距円筒・方位-高度)。地平線が下・方位が横軸で、
    下部に街並みと方位目盛り、恒星は Hipparcos 実星表(Vmag<8.5)、天の川は銀経・銀緯から
    描く。太陽高度で昼/夕方/朝焼け/薄明/夜の空色と見える限界等級が変わる。今は見えない
    惑星・主要恒星・銀河は○の輪郭で位置だけを示す(昼でも位置が分かる)。
    span / az0 / lp / show はこのエンジンで使う。
  - "simple":         従来の天頂中心の円形図(Pillow・実写背景の簡易合成)。
  - "accurate":       従来の正確な星図(matplotlib 極座標)。座標グリッド・軌道予測線を
    精確表示(科学・教育の詳細用途向け)。
画像は content に base64 インライン表示、座標は structuredContent に JSON。

Args:
    place: 観測地(例 "東京","大阪","new york")。lat/lon 指定時は無視。省略時は東京。
    lat: 観測地の緯度。lon と併用時は place より優先。
    lon: 観測地の経度。
    when: 観測時刻 ISO8601(例 "2026-09-09T11:00:00Z")。省略時は現在時刻。
    engine: "ground"(既定/地上視点パノラマ) / "simple" / "accurate"。
    span: 横方向の視野(度, 30〜360)。360 で全天。engine="ground" のみ。
    az0: 左端の方位(度)。span=180, az0=225 なら南西→北東。engine="ground" のみ。
    lp: 光害の程度 "city"(都心)/ "suburb"(郊外, 既定)/ "dark"(山間・離島)。ground のみ。
    show: 依頼表示する天体名(カンマ区切り。例 "木星,ベガ,M31")。省略時は主要天体すべて。ground のみ。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
content の先頭へ「🖼️ [生成した画像を開く: …](file:///…) | 保存先: `…`」という
アイコン付きリンクを必ず出します(画像は %LOCALAPPDATA%\Temp\space_finder_mcp\out に
保存し、同じパスを structuredContent.image_path にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。
solar_system_nowA

太陽を中心とした太陽系の惑星・小惑星・探査機・彗星の現在位置図を返す(認証不要)。

例:「太陽系を上から見た図」「今の惑星の位置」「イトカワの今の位置を図で」
「ボイジャー1号の現在位置を図で」「ハヤブサ2は今どこ?」「ハレー彗星は今どこ?」
「紫金山・アトラス彗星の位置」
惑星(8惑星+冥王星)は JPL DE421 暦表、小惑星は JPL SBDB 軌道要素のケプラー伝播、
遠方探査機(ボイジャー/パイオニア等)は JPL Horizons の状態ベクトル、
彗星は周期彗星(ハレー等)を SBDB 軌道要素、非周期C/彗星を Horizons 状態ベクトルで計算。

学生・観賞用途では視認性の高い Pillow 版(既定)を推奨。対数縮尺で内惑星から
百数十AUの遠方天体までを一枚に収める。探査機・遠方彗星を指定すると表示範囲を
自動拡張し、それぞれ色付き菱形マーカー・シアン色の尾を持つ彗星マーカーで強調する。
遠方天体は線形の matplotlib 版では枠外のため、指定時は対数縮尺の Pillow 版を自動選択。

engine で描画方法を選択:
  - "simple"(既定):   Pillow による視認性重視の合成。惑星を色アイコン、小惑星を緑十字、
    探査機を色付き菱形、彗星をシアンの核+尾で強調。距離は対数縮尺。
  - "accurate":       matplotlib による線形距離の正確な俯瞰図(近距離のみ)。
**「1光日」(光が24時間で進む距離=173.1446 AU=25,902,068,371 km)を図に重ねる**:
真距離の目安として破線の1光日リングを描き、1光日に達していない探査機を指定したときは
それぞれの探査機について**黄道面投影**での1光日リングと、到達時の方向(◇=黄経/黄緯)・到達予測日を
出す。全リングは structuredContent.light_day.projected_rings と figure.verify.light_day.rings に列挙する。
俯瞰図は正射影なので真距離の円と投影の円は別物で、その旨は figure.notes に
数値付きで入る(重ねて読むと誤る)。structuredContent.probes[] に light_days(何光日)・
light_hours(光の所要時間)・to_light_day_au(1光日までの残り)・light_day_eta_date /
light_day_eta_method(到達予測=現在の日心視線速度による線形外挿・数日の幅あり)が入る。
**距離の基準は日心距離(真距離)で統一**している(地心距離での1光日は地球の公転で
最大 ±1 AU 変わり日付が異なる)。

画像は content に base64 インライン表示、座標は structuredContent に JSON。
structuredContent.figure には「この図をどう描いたか」の注記(figure/1)が入る。
⚠️ figure.notes は図の誤読を防ぐための注記なので、要約・言い換えせずそのまま引用すること。

Args:
    when: 時刻 ISO8601(例 "2026-09-09T11:00:00Z")。省略時は現在時刻。
    asteroid: 小惑星(例 "イトカワ"/"itokawa"/"25143", "ベンヌ", "アポフィス")。view="asteroid_orbit" では楕円軌道全体を描く。
    asteroid2: 2つ目の小惑星。
    probe: 遠方探査機(例 "ボイジャー1号"/"voyager1"/"パイオニア10号"/"はやぶさ2"/
        "hayabusa2")。1光日に達していない探査機では、投影での1光日リング・到達時の
        方向(◇)・到達予測日も図と structuredContent に出る。
        はやぶさ2 は JPL Horizons ID -37。
    probe2: 2つ目の探査機。
    comet: 彗星(例 "ハレー彗星"/"halley"/"1P", "エンケ彗星", "67P",
         "紫金山・アトラス"/"C/2023 A3", "ラブジョイ"/"C/2014 Q2")。
    comet2: 2つ目の彗星。
    engine: "simple"(既定/Pillow) / "accurate"(matplotlib)。
    view: "system"(既定)=太陽系俯瞰図 / "comet_orbit"=彗星の軌道面ビュー /
        "asteroid_orbit"=小惑星の閉じた楕円軌道面ビュー /
        "apparition"=彗星の見え方チャート(地心距離・日心距離・予想光度・太陽離角の
        推移。comet の指定が必須で、1天体ずつ)。
        comet_orbit は comet の指定が必須で、彗星自身の軌道面を真横から見た図
        (太陽=円錐曲線の焦点)を返す。e>=1 の C/彗星は閉じない双曲線の枝として描く。
        asteroid_orbit は asteroid の指定が必須で、JPL SBDB の osculating elements に基づく
        小惑星の楕円全体と指定時刻の現在位置を軌道面から描く(1天体ずつ)。
        **comet にカンマ区切りで複数(または comet2 を併用、最大4天体)指定すると、
        1彗星=1パネルで並べた1枚の画像**を返す(パネルごとに軌道面と縮尺が異なる。
        その旨は figure.notes に数値から生成して入る)。
    days: view="apparition" の表示日数(1〜3650、既定 180)。今日の 30 日前から
        days 日後までを描く(直前に過ぎた近日点・最接近も見えるようにするため)。
    route: view="system" で、指定した彗星の**通過経路(軌道)を俯瞰図に重ねる**
        (破線)。近日点・遠日点には◇と日付を添える。**近日点の日付は SBDB の2体近似に
        加えて JPL Horizons の n 体解も併記する**(2体近似はずれることがある。ハレー
        彗星では約164日)。既定 False。
        線形の "accurate" では形は本当の軌道と一致するが、対数縮尺の "simple" では
        線の長さと曲率が実際の楕円と一致しない(その旨は figure.notes に入る)。
        形そのものを見たいときは view="comet_orbit"。
    range_au: view="system" の表示範囲(太陽からの距離の上限)。既定 0=自動
        (対数版は 60 AU 起点、線形版は ±45 AU 起点で、遠方の天体・経路に合わせて拡張)。
        **数値(AU)でも天体名でも指定できる**(「火星まで」「木星まで」のように
        LLM が判断して縮尺を選ぶ用途を想定)。
        数値: 10=土星(9.58 AU)より内側/2=火星まで/5.62=木星まで/30=海王星まで。0.5 未満はエラー。
        天体名: "火星"(→1.65 AU)/"木星"(→5.62)/"土星"(→10.35)/"海王星"(→32.5)/
        "冥王星"/英語名(mars, jupiter…)/"小惑星帯"/"内惑星"/"外惑星"。
        その呼び出しで指定した小惑星・彗星・探査機の名前も使える(例: asteroid="イトカワ"
        に対して range_au="イトカワ")。**天体名は「その天体の軌道の円が入る」ように
        長半径×1.08 で決める**(決め方は figure.notes と structuredContent.range_resolved に
        数値付きで出る)。
        "fit"(=指定天体に合わせる): その呼び出しで指定した天体・経路がすべて入る範囲
        (最大値×1.10、下限 1.2 AU)。天体を指定せず "fit" にすると自動(45 AU 起点)。
        解決できない名前は**推測せずエラーで候補一覧を返す**。
        **範囲外の天体・目印・軌道の円は描かず**、figure.notes と structuredContent
        に出典付きで列挙する(黙って消さない)。対数版は下限も範囲に合わせて下がる。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
content の先頭へ「🖼️ [生成した画像を開く: …](file:///…) | 保存先: `…`」という
アイコン付きリンクを必ず出します(画像は %LOCALAPPDATA%\Temp\space_finder_mcp\out に
保存し、同じパスを structuredContent.image_path にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。
solar_eclipse_seriesA

日食の時系列パネル画像(太陽が月に欠ける過程)を返す(認証不要)。

例:「2035年9月2日の皆既日食を画像で」「東京で見える次の日食」「2019年の部分日食の進行」
指定した観測地・日付で太陽と月の視位置を JPL DE421 + Skyfield で実測計算し、
食の始まり〜最大〜終わりを複数パネルに並べて合成。月の位置角も正確に反映。

date を省略した場合は、その観測地で「これから起こる次の日食」を約4年(1400日)先まで自動検索(800日では可視の食が無い観測地があるため)。
描画するのは、その観測地で太陽が地平線より上にある時間帯だけ。最大食分も可視区間の中で
求める。全日食が地平線下なら「見えません」と明示して図は返さない(見えない食を図にして
誤解させないため。日付をまたぐ食も前後6時間まで含めて計算する)。
max_magnitude=True で最大食のみの単一画像を返す(進行でなく最も欠けた瞬間だけ見たい時)。

Args:
    date: 日付(例 "2035-09-02" / "2035/09/02" / "2035年9月2日")。省略時は次の日食を検索。
    place: 観測地(例 "東京","大阪","new york")。lat/lon 指定時は無視。省略時は東京。
    lat: 観測地の緯度。lon と併用時は place より優先。
    lon: 観測地の経度。
    max_magnitude: True で最大食のみの単一パネルを返す(既定 False=時系列)。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
content の先頭へ「🖼️ [生成した画像を開く: …](file:///…) | 保存先: `…`」という
アイコン付きリンクを必ず出します(画像は %LOCALAPPDATA%\Temp\space_finder_mcp\out に
保存し、同じパスを structuredContent.image_path にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。
moon_phase_mapA

月齢マップ(月の満ち欠けを1か月ぶん並べた図)を返す(認証不要・ローカル計算)。

例:「今月の月齢マップを見せて」「2026年9月の月相カレンダー」「9月の満月はいつ?」

日食の時系列パネル(solar_eclipse_series)と同じ幾何計算を使い、観測地から見た
太陽と月の実位置から「輝面の向き(位置角 PA)」と照度を求め、月円盤を正しい向きに
欠けさせて描きます(月齢から向きを決め打ちしない)。月齢は直前の朔(新月)からの
経過日数、照度は円盤の輝面の割合です。描いた画素から輝面の面積比を測り直し、
申告した照度と突き合わせて自己検証します(figure.verify)。

layout="calendar"(既定)は指定した月の日別セル(日月火水木金土の格子)、
layout="lunation" は1朔望月(朔→朔)を等間隔の時系列パネルで返します。

月齢・照度は地球規模の見え方なので観測地には依存しませんが、日付・時刻・曜日は
現地時間(緯度経度から取得した UTC オフセット)で表示します。

Args:
    date: 年月("2026-09" / "2026年9月")または年月日("2026-09-16")。省略時は現在の月。
    place: 観測地(例 "東京","大阪","new york")。lat/lon 指定時は無視。省略時は東京。
    lat: 観測地の緯度。lon と併用時は place より優先。
    lon: 観測地の経度。
    layout: "calendar"(既定・1か月の格子)または "lunation"(朔望月の時系列パネル)。
    days: layout="lunation" のパネル枚数(3〜12・既定8)。calendar では無視。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
content の先頭へ「🖼️ [生成した画像を開く: …](file:///…) | 保存先: `…`」という
アイコン付きリンクを必ず出します(画像は出力ディレクトリに保存し、同じパスを
structuredContent.image_path にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。
constellation_nowA

指定した観測地・日時で太陽・月・惑星の位置(高度・方位角・星座)を返す。

「今夜東京で見える惑星は?」など。NASA JPL 天体暦 + Skyfield でローカル計算(認証不要)。

Args:
    latitude: 観測地の緯度(例 東京 35.68)。place 指定時は省略可。
    longitude: 観測地の経度(例 東京 139.69)。
    place: 観測地名(既知テーブル)。緯度経度より優先。
    time_utc: 観測時刻 "YYYY-MM-DD HH:MM"(UTC)。省略で現在。
astronomy_newsA

天文ニュース・観測ガイドを返す(複数フィードのフォールバック付き・認証不要)。

「今日の天文ニュース」「今週の星空ガイド」「惑星観測の見どころ」など。
第一候補は Sky & Telescope の公式RSS。取得できない場合は他ソース
(Universe Today / NASA / Phys.org) に自動でフォールバックする。
content に表示用サマリ、structuredContent に JSON を返す。

Args:
    limit: 返す件数(既定 8、最大 15)。
    section: 絞り込み("all"=全部, "observing"=観測ガイド, "news"=ニュース)。
mars_rover_statusA

NASA 火星探査ローバーの現在の状況・天気・最新写真を返す。

「キュリオシティの現在の状況」「火星探査ローバーの今」「パーサヴィアランスの天気」
など。火星の天気(気温・気圧・風速・ソル・地球日付・季節)を認証不要で取得。

Args:
    rover: ローバー名("curiosity"=キュリオシティ既定, "perseverance"=パーサヴィアランス)。
        天気フィードが稼働しているのは現状 MSL(キュリオシティ) のみ。
    show_photos: 保持(互換用。Mars Rover Photos API は廃止済みのため取得しない)。
apodA

今日(または指定日)の NASA の今日の天文写真(APOD)を返す。NASA_API_KEY が必要。

neo_todayA

今日地球に接近する小惑星(NEO)を返す。NASA_API_KEY が必要。

search_space_imagesA

惑星・人工衛星・宇宙ミッションの画像を NASA Image & Video Library から検索し表示する。

LLM向けに structuredContent へJSON(title/date/nasa_id/image_url など)を返し、
content にはチャット表示用のサマリ+インライン画像を返す。

例: 「火星の画像を見せて」「ハッブルの写真」「アポロの画像」

Args:
    query: 検索語(mars, jupiter, hubble, apollo など英語が確実)。
    limit: 返す画像件数(既定 3、最大 10)。
    show_inline: 画像をチャットにインライン表示するか(既定 True)。
    inline_max: チャットに埋め込む画像の枚数(既定 1、最大 5)。
        転送量を抑えるため既定は先頭1枚のみ。全件のURLは
        structuredContent.results[].image_url に入る。

content の各項目には、メディア本体より前に「🖼️ [画像を開く: タイトル](URL)」
「🎧 [音声を開く: タイトル](URL)」「🎬 [動画を開く: タイトル](URL)」というアイコン付き
リンクを出します(インライン表示を描画できない CLI/Android 系ハーネスでも開けるように)。
回答時はこのリンクをそのまま提示してください。
search_space_audioA

宇宙関連の音声を検索し、再生可能な音声URLを返す。

content には表示用サマリ、structuredContent にはJSON(タイトル/再生URL/種別/尺など)を返す。

「宇宙の音・惑星の音・打ち上げの効果音」のような短い音声を探すなら kind="sound_effect"、
「ポッドキャスト・解説・飛行士インタビュー」のような長い音声なら kind="podcast" を指定。
既定 kind="auto" は両方を探す。

例:
  - 「スプートニクの音を聞きたい」→ query="sputnik", kind="sound_effect"
  - 「アポロのポッドキャスト」→ query="apollo", kind="podcast"
  - 「火星の音」→ query="mars", kind="auto"

Args:
    query: 検索語(juno, saturn, sputnik, launch, apollo など)。
    limit: 返す件数(既定 3、最大 10)。
    kind: "auto"(両方) / "podcast"(NASA Image Library の長尺トーク・解説) /
          "sound_effect"(短い宇宙の音・効果音)。

content の各項目には、メディア本体より前に「🖼️ [画像を開く: タイトル](URL)」
「🎧 [音声を開く: タイトル](URL)」「🎬 [動画を開く: タイトル](URL)」というアイコン付き
リンクを出します(インライン表示を描画できない CLI/Android 系ハーネスでも開けるように)。
回答時はこのリンクをそのまま提示してください。
search_space_videosA

宇宙関連の動画(打ち上げ・ミッション映像・解説など)を検索し、再生用MP4 URLを返す。

content には表示用サマリ+ポスター画像(インライン)を返し、
structuredContent にはJSON(タイトル/再生URL/解像度別URL/字幕など)を返す。
動画自体は巨大なのでbase64埋め込みせず、クライアント/LLMがURLから再生する。

例: 「火星の動画」「ロケット打ち上げ映像」「ハッブルの映像」

Args:
    query: 検索語(mars, launch, hubble, artemis など英語が確実)。
    limit: 返す動画件数(既定 3、最大 10)。
    show_poster: ポスター画像をチャットにインライン表示するか(既定 True)。

content の各項目には、メディア本体より前に「🖼️ [画像を開く: タイトル](URL)」
「🎧 [音声を開く: タイトル](URL)」「🎬 [動画を開く: タイトル](URL)」というアイコン付き
リンクを出します(インライン表示を描画できない CLI/Android 系ハーネスでも開けるように)。
回答時はこのリンクをそのまま提示してください。
isro_dataA

ISRO(インド宇宙研究機関)の公式データを返す(認証不要)。

「インドの人工衛星」「ISROのロケット」「インドの宇宙センター」など。
content に表示用サマリ、structuredContent に JSON を返す。

Args:
    kind: データ種別
        - "spacecrafts": ISROが打ち上げた人工衛星一覧(既定)
        - "launchers": ISROのロケット(打ち上げ機)一覧
        - "customer_satellites": ISROが外国向けに打ち上げた顧客衛星一覧
        - "centres": ISROのセンター/施設一覧
    query: 部分一致検索語(例: "cartosat", "chandrayaan")。省略で全件。
    limit: 返す件数(既定 20、最大 100)。
copernicus_collectionsA

ESA Copernicus の利用可能な衛星データコレクション一覧を返す(認証不要)。

例:「Copernicusの衛星データ」「Sentinelのコレクション」
content に表示用サマリ、structuredContent に JSON を返す。

Args:
    limit: 返す件数(既定 20、最大 100)。
copernicus_searchA

ESA Copernicus(Sentinel ほか)の衛星画像を STAC で検索する(検索は認証不要)。

例:「東京のSentinel-2画像」「関東の最近の衛星画像」
content に表示用サマリ、structuredContent に JSON(id/日時/bbox/雲量/プレビューURL)を返す。
画像のダウンロードには CDSE アカウント(OAuth2)が必要だが、検索・プレビューURL取得は無料。

Args:
    collection: STAC コレクションID(既定 "sentinel-2-l2a")。copernicus_collections で確認可。
    bbox: 空間範囲("lon_min,lat_min,lon_max,lat_max"、例 東京: "139.6,35.5,139.9,35.8")。
    datetime: 時間範囲("YYYY-MM-DD" または "start/end"、例 "2026-01-01/2026-03-31")。省略で最新。
    max_cloud_cover: 雲量の上限(%)(Sentinel-2 等 eo:cloud_cover を持つ場合)。
    limit: 返す件数(既定 5、最大 10)。
jaxa_datasetsA

JAXA Earth の地球観測データセット(ALOS/GSMaP/GCOM等)一覧を返す(認証不要)。

例:「JAXAの地球観測データ」「GSMaP降雨データセット」
content に表示用サマリ、structuredContent に JSON を返す。

Args:
    limit: 返すデータセット件数(既定 30、最大 100)。
jaxa_dataset_searchA

JAXA Earth のデータセットをキーワード検索する(認証不要)。

例:「GSMaPの降雨データ」「ALOSの標高データ」「GCOMの海面水温」
content に表示用サマリ、structuredContent に JSON を返す。

Args:
    query: 検索語(例 "GSMaP", "ALOS", "GCOM", "precip", "rain", "FNF", "AW3D")。
    limit: 返す件数(既定 10、最大 100)。
csa_dataset_searchA

CSA(カナダ宇宙庁)オープンデータポータルでデータセットを検索する(認証不要)。

例:「カナダのRADARSATデータ」「CSAの宇宙データセット」
content に表示用サマリ、structuredContent に JSON(ID/タイトル/概要/ライセンス/URL)を返す。

Args:
    query: 検索語(例 "radarsat", "space", "earth observation")。省略で先頭のデータセット。
    limit: 返す件数(既定 10、最大 20)。
inpe_collectionsA

ブラジルINPEの衛星データコレクション一覧を返す(認証不要)。

例:「ブラジルの衛星データ」「CBERSのコレクション」
content に表示用サマリ、structuredContent に JSON を返す。

Args:
    limit: 返す件数(既定 30、最大 100)。
inpe_searchA

ブラジルINPEの衛星画像(CBERS・Amazonia-1・GOES等)をSTACで検索する(認証不要)。

例:「ブラジルのCBERS衛星画像」「サンパウロ周辺の最近の衛星画像」
content に表示用サマリ、structuredContent に JSON(id/日時/bbox/雲量)を返す。

Args:
    collection: STAC コレクションID(既定 "CB4-WFI-L4-SR-1")。inpe_collections で確認可。
    bbox: 空間範囲("lon_min,lat_min,lon_max,lat_max")。
    datetime: 時間範囲("YYYY-MM-DD" または "start/end")。省略で最新。
    max_cloud_cover: 雲量上限(%)(eo:cloud_cover を持つ場合)。
    limit: 返す件数(既定 5、最大 10)。
dlr_collectionsA

DLR(ドイツ航空宇宙センター)EOC の地球観測コレクション一覧を返す(認証不要)。

例:「ドイツの地球観測データ」「DLRのSentinel-2コレクション」
content に表示用サマリ、structuredContent に JSON(id/説明/ライセンス)を返す。

Args:
    limit: 返す件数(既定 40、最大 100)。
dlr_searchA

DLR(ドイツ)の地球観測データを STAC で検索する(認証不要)。

例:「ドイツのSentinel-2画像」「ベルリン周辺のEnMAPデータ」「TROPOMIの二酸化窒素」
content に表示用サマリとプレビュー/メタデータのリンク、structuredContent に JSON
(id/日時/雲量/bbox/プラットフォーム/処理レベル/ライセンス/アセットURL)を返す。

Args:
    collection: STAC コレクションID(既定 "S2_L2A_MAJA")。dlr_collections で確認可。
    bbox: 空間範囲("lon_min,lat_min,lon_max,lat_max")。
    datetime: 時間範囲("YYYY-MM-DD" または "start/end")。⚠️ DLR の API は `sortby` を
        無視する(実測: `sortby=-datetime` を送っても並びが変わらない)ため、新しい順に
        得たい場合は `datetime` で期間を指定してください。
    max_cloud_cover: 雲量上限(%)。⚠️ DLR の API はサーバー側フィルタ未対応(実測 400)のため、
        取得後にクライアント側で絞り込む(雲量情報の無いアイテムは除外し、件数を返す)。
    limit: 返す件数(既定 5、最大 10)。
roscosmos_collectionsA

Roscosmos オープンデータ STAC のコレクション一覧を返す(認証不要)。

例:「ロシアの気象衛星の公開データ」「Elektro-L の全球画像コレクション」
content に表示用サマリ、structuredContent に JSON(パス/説明/収録期間/観測機器)を返す。
このカタログは /collections を持たないため、カタログ木を辿って列挙します。

Args:
    level: 辿る深さ(1=最上位のみ、2=観測機器まで〈既定〉、3=処理レベルまで。最大 3)。
roscosmos_searchA

Roscosmos の気象衛星画像(Elektro-L・Arktika-M・Meteor-M)を検索する(認証不要)。

例:「ロシアの静止気象衛星エレクトロLの全球画像」「今日のMeteor-Mモザイク」
content に表示用サマリとクイックルック/データのリンク、structuredContent に JSON
(id/日時/衛星/機器/処理レベル/解像度/bbox/クイックルックURL/GeoTIFF URL)を返す。

⚠️ このカタログは検索APIを持たない静的 STAC のため、`collection` のパスと
日付(UTC)から木を辿って列挙します。日付を省略すると、今日から最大 `lookback` 日
さかのぼって**データがある最新日**を使います。

Args:
    collection: コレクションのパス(例 "Electro-L/MSU-GS/L2_RGB_VIS_IR"、
        "MM/MSU-MR/L3MD"、"EL_ARCM/MSU-GS/L3BT9"、"Arctic-M/MSU-GS-A/L2_RGB_VIS_IR")。
        roscosmos_collections で確認できます。未知のパスは候補を返して停止します。
    date: 日付("YYYY-MM-DD"・UTC)。省略でデータがある最新日。
    limit: 返す件数(既定 3、最大 8)。
    lookback: 日付省略時にさかのぼる最大日数(既定 7、最大 30)。
sat_tleA

任意の人工衛星(ISS・ハッブル・気象衛星・中国宇宙ステーション等)の軌道要素(TLE)を返す。

例:「ISSの軌道要素」「ハッブル宇宙望遠鏡のTLE」「気象衛星の軌道」
認証不要。CelesTrak(NORADカタログ)から取得。**CelesTrak が遮断中(403・接続不可)の
ときは認証不要の公開ミラー(tle.ivanstanojevic.me → db.satnogs.org)へ自動で切り替え**、
実際の出典を structuredContent.source / 本文の「出典:」行に出します(`group=` の
グループ検索は代替源に無いため、遮断中はその旨を案内します)。
content に表示用サマリ、structuredContent に JSON(軌道パラメータ)を返す。

Args:
    name: 衛星名または省略名(例 "iss", "hubble", "tiangong", "goes-18")。
        **和名は英語名/既知名へ自動解決**する("ひので"→29479, "ひまわり9号"→41836,
        "宇宙ステーション"→iss)。解決できない場合は既知の名前を提示して停止する。
    norad_id: NORAD カタログ番号(例 25544=ISS)。name より優先。
    group: CelesTrak の衛星グループ(例 "stations", "weather", "amateur", "science")。
    limit: 返す件数(既定 5、最大 20)。
uk_stac_searchA

英国 EO DataHub の衛星・気候データをSTACで検索する(公開カタログは認証不要)。

例:「英国の気候モデルデータ」「UKのSentinel画像」
content に表示用サマリ、structuredContent に JSON(id/日時/bbox/コレクション)を返す。

Args:
    collection: コレクションID(例 "sentinel2_ard", "ukcp")。省略で全コレクション。
    query: キーワード検索(例 "climate", "sentinel")。
    bbox: 空間範囲("lon_min,lat_min,lon_max,lat_max")。
    datetime: 時間範囲("YYYY-MM-DD" または "start/end")。省略で最新。
    limit: 返す件数(既定 5、最大 10)。
uk_stac_collectionsB

英国 EO DataHub の利用可能なコレクション一覧を返す(認証不要)。

例:「英国の衛星データコレクション」
Args:
    limit: 返す件数(既定 20、最大 100)。
cnes_statusA

フランス CNES の地球観測データポータル(THEIA / GEODES)の到達状態と概要を返す。

例:「フランスのCNES衛星データ」「THEIAポータル」
画像ダウンロードには CNES アカウント登録が必要。ここではポータルの状態と
提供データの概要を確認する。

Returns:
    CallToolResult: 表示用サマリ + JSON。
astronomy_weatherA

天体観測に最適な時間帯を予報する(Open-Meteo, 認証不要・全世界対応)。

指定した地点の今後数日間で「夜間かつ雲が少なく・視程が良い」時間帯を抽出し、
観測のチャンスと注意点を AI からのアドバイス形式で返す。

例:「東京で今夜天体観測できる?」「シドニーの晴れ予報」「富士山頂の雲量」
場所は緯度経度(latitude/longitude)または地名(place)で指定。

Args:
    latitude: 緯度(例 東京 35.68)。place 指定時は省略可。
    longitude: 経度(例 東京 139.69)。
    place: 地名(緯度経度より優先)。Open-Meteo のジオコーディングで解決。
    days: 予報日数(1〜7、既定 3)。
    max_cloud: 「観測可」とみなす雲量の上限%(既定 40)。
    include_rain: 日本国内の地点に限り、気象庁の雨雲・降水画像
        (解析雨量・降水短時間予報のパネル+ナウキャスト=雨雲の動き)を
        添付する(既定 True。取得失敗時は添付なしで続行)。
        ⚠️ structuredContent.figure.notes は要約せずそのまま引用すること。
        (添付した雨雲・降水画像は content に「🖼️ [◯◯を開く](URL)」のリンク付きで出します。
        インライン画像を描画しないハーネスでは、回答にこのリンクをそのまま提示してください。)
eodashboard_collectionsA

EO Dashboard(NASA・ESA・JAXA共同)の地球観測データセットを検索する(認証不要)。

3機関の衛星データ(大気・海洋・陸域・雪氷・農業・社会経済など173件)の
一覧・検索を返す。content に表示用サマリ、structuredContent に JSON を返す。

例:「NASAの大気データ」「気候変動の衛星データ」「NO2 のデータセット」
テーマで絞る: agriculture / atmosphere / biomass / covid-19 / cryosphere /
             economy / extreme-events / oceans

Args:
    themes: テーマ(例 "atmosphere", "oceans")。カンマ区切りで複数可。
    agency: 機関(例 "NASA", "ESA", "JAXA")。
    keyword: キーワード(タイトル・説明に部分一致)。
    limit: 返す件数(既定 20、最大 50)。
eodashboard_detailA

EO Dashboard の1つのデータセットの詳細(衛星・センサー・説明・参照リンク・画像)を返す。

例:「NO2データセットの詳細」「EO Dashboardの海面水温の情報」
content に表示用サマリ+サムネイル画像(インライン)、structuredContent に JSON を返す。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
画像本体より前に「🖼️ [画像を開く: … のサムネイル](URL)」というアイコン付きリンクを必ず出します
(同じURLを structuredContent.image_url にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。

Args:
    identifier: コレクションIDまたは名前(例 "N1_NO2", "NO2_daily", "sea_ice")。
                大まかな名前でも探す。
    show_image: サムネイルをチャットにインライン表示するか(既定 True)。
space_weatherA

NASA DONKI の宇宙天気(太陽フレア・CME・地磁気嵐・太陽粒子現象)を返す。

天体観測や通信・衛星運用に影響する太陽活動を確認できる。

**DONKI(ccmc.gsfc.nasa.gov/DONKI-API・認証不要・専用のレート枠)が障害のときは、認証不要の NOAA SWPC(Kp・NOAA スケール・

GOES X線・フレアイベント(直近7日)・太陽風・陽子・警報・黒点相対数)に自動で切り替えて返す**(どちらの出典かを

content と structuredContent.source に明記する)。API キーは不要(`NASA_API_KEY` は apod / neo_today のみで使用)。

**予報(`kind="forecast"`)は DONKI に存在しない**(DONKI は観測・警報の記録)ので、
フレア発生確率・活動領域別確率・NOAA 3日予報を返す NOAA SWPC を**通常経路**として使う
(障害時のフォールバックとは別物)。
例:「最近の太陽フレア」「CME(コロナ質量放出)の情報」「地磁気嵐は起きてる?」
content に表示用サマリ、structuredContent に JSON を返す。

Args:
    kind: データ種別
        - "all": 太陽フレア・CME・地磁気嵐・太陽粒子をまとめて表示(既定)
        - "flare": 太陽フレア(FLR)
        - "cme": コロナ質量放出(CME)
        - "gst": 地磁気嵐(GST)
        - "sep": 太陽高エネルギー粒子現象(SEP)
        - "forecast": **予報**(フレアの発生確率 C/M/X 級・活動領域(黒点群)別の確率・
          NOAA 3日予報の予想最大 Kp と S/R スケール確率・公式の根拠文)。
          **DONKI は予報を提供しないため NOAA SWPC から取得**する(出典を明記)
    start_date: 開始日(YYYY-MM-DD)。省略時は既定(最近)。**forecast では使わない**。
    end_date: 終了日(YYYY-MM-DD)。省略時は既定。**forecast では使わない**。
    limit: 各カテゴリの返す件数(既定 10、最大 20)。forecast では活動領域の表示数。
fireball_reportsA

JPL CNEOS の火球(大気圏突入)観測記録を返す(認証不要・APIキー不要)。

火球とは**大気圏に突入して光った現象**の観測記録です(NASA/JPL CNEOS の
Fireball Data)。米国政府のセンサ(衛星・赤外)や地上観測の報告に基づきます。
隕石(地上に落下した石)の回収情報ではないため、**落下物の推定はしません**。

例:「最近の火球」「今月の大きな火球」「火球はどこで観測された?」「隕石は落ちた?」

content に表示用サマリ、structuredContent に JSON を返します。

Args:
    days: 何日前までをさかのぼるか(1〜1825、既定 30)。UTC の日付で絞り込みます。
    min_impact_energy_kt: 衝突エネルギーの下限(kt TNT 換算。例 0.5)。省略時は全件。
    limit: 表示する最大件数(1〜50、既定 10)。新しい順。
    require_location: True なら緯度経度が報告されている記録だけを返します。

放射エネルギー(J)・衝突エネルギー(kt)・突入高度(km)・緯度経度・突入速度
(速度成分 vx,vy,vz から算出。**欠測が多い**)を返します。位置が未報告の記録は
「位置不明」と明示します。緯度経度・高度は**最大光度(ピーク)時点**の値で、
落下地点ではありません(落下物の推定はしません)。

出典: NASA/JPL CNEOS Fireball Data API(ssd-api.jpl.nasa.gov)
neo_close_approachA

小惑星・彗星の地球接近(近地球天体の接近イベント)を返す(認証不要・APIキー不要)。

JPL SBDB の接近データ(CAD)から、これから接近する小天体を返します。
**接近は衝突ではありません**。距離は地球中心からの距離(地心距離)で、慣例的に
月距離(1 LD = 384,400 km)も併記します。`neo_today`(今日の接近を api.nasa.gov
から取得)より広い期間・距離を扱え、DEMO_KEY の共有枠も消費しません。

例:「今日/今週地球に接近する小惑星」「危険な小惑星の接近予報」「月距離以内に来る天体」
    「地球に接近する彗星」

content に表示用サマリ、structuredContent に JSON を返します。

Args:
    days: 何日先までを見るか(1〜365、既定 7)。
    max_distance_au: 接近距離の上限(au、既定 0.05 ≒ 19.5 月距離。0.00256 au ≒ 1 LD)。
    limit: 表示する最大件数(1〜50、既定 10)。接近時刻の早い順。
    hazardous_only: True なら「潜在的に危険な小惑星(PHA)」だけに絞ります。
        PHA は**小惑星の区分**なので彗星は含めません(彗星に PHA はありません)。
    kind: 対象の種別。"all"(既定=小惑星+彗星)/"asteroid"(小惑星のみ)/
        "comet"(彗星のみ)。`a`/`c` や「小惑星」「彗星」も受け付けます。

**小惑星と彗星は別の照会で取ります**(実測: CAD の既定 `neo=true` も
`nea-comet=true` も彗星を1件も返さず、`comet=true` だけが返す)。彗星の接近は
小惑星よりずっと稀なので、`kind="comet"` で 0 件でも異常ではありません。

既知の直径がある天体はそれを、無い天体は絶対等級 H から**推定**した直径
(アルベド0.14 仮定)を返します。彗星は H を持たないため直径は不明のままです。
接近時刻の不確かさ(3σ)も返します。

出典: NASA/JPL CNEOS SBDB Close-Approach Data API(ssd-api.jpl.nasa.gov)
impact_riskA

JPL Sentry による「将来の衝突リスク」を返す(認証不要・APIキー不要)。

小天体が将来の100年規模で地球に衝突する**確率の推算**(CNEOS Sentry)です。
確率は観測が増えると下がり、0 になれば Sentry から削除されます。数値はあくまで
推算で、進路が確定した「衝突予報」ではありません。

例:「衝突確率の高い小惑星」「Sentry に載っている天体」「2024 YR4 の衝突リスク」

content に表示用サマリ、structuredContent に JSON を返します。

Args:
    designation: 小惑星の仮符号または番号(例 "2024 YR4"、"2000 SG344"、"99942")。
        指定すると、その天体の詳細(累積確率・想定時期・仮想衝突(VI)の一覧)を返します。
        **和名・愛称は JPL 側が受け付けません**。推測せず仮符号で指定してください。
    min_probability: 一覧の下限(累積衝突確率 ip。既定 1e-3 = 0.1%)。1e-10〜1。
    limit: 一覧で表示する最大件数(1〜50、既定 10)。確率の高い順。

**このツールの結果はカレンダーに置きません**: Sentry の衝突確率は特定の日付ではなく
数十年〜百年の幅(`range`)に対する確率で、日付セルに置くと架空の予定になるためです
(日付のある接近・火球は `neo_close_approach` / `fireball_reports` が蓄積し、
`space_calendar` に反映されます)。

出典: NASA/JPL CNEOS Sentry(ssd-api.jpl.nasa.gov)
stac_collectionsA

AWS Earth Search で利用可能な衛星データコレクション一覧を返す(認証不要)。

例:「AWSの衛星データ」「利用できるLandsatコレクション」
Args:
    (なし)
stac_searchA

AWS Earth Search で衛星データ(Sentinel-2 / Landsat / NAIP / DEM)をSTAC検索する(認証不要)。

例:「東京のLandsat画像」「関東のSentinel-2の雲が少ない画像」
場所は bbox("lon_min,lat_min,lon_max,lat_max")または place(地名)。
content に表示用サマリ、structuredContent に JSON(id/日時/雲量/bbox/アセットURL)を返す。

Args:
    collection: コレクションID(既定 "sentinel-2-l2a")。stac_collections で確認可。
                例: "landsat-c2-l2", "sentinel-2-l1c", "sentinel-1-grd", "naip"。
    bbox: 空間範囲("lon_min,lat_min,lon_max,lat_max")。
    place: 地名(bbox より優先。Open-Meteo のジオコーディングで解決)。
    datetime: 時間範囲("YYYY-MM-DD" または "start/end")。省略で最近。
    max_cloud_cover: 雲量上限(%)(eo:cloud_cover を持つ場合)。
    limit: 返す件数(既定 5、最大 10)。
qzss_statusA

みちびき(準天頂衛星システム QZSS)の軌道・補強信号データを取得する(認証不要)。

内閣府の公開アーカイブ API を使う。既定(kind="orbit")では最新の超速報 SP3
(48 時間分・15 分間隔の精密軌道)を解析し、みちびき各機の現在位置(緯度・経度・
高度)と準天頂軌道の 8 の字の振れ幅、東京からの仰角・方位を返す。

例:「みちびきは今どのあたりにある?」「準天頂衛星の軌道データ」「みちびきの
アルマナック」「安否確認サービス(Q-ANPI)の最新ファイル」

Args:
    kind: データ種別。既定 "orbit"(QZU 超速報 軌道 SP3)。他に rapid-orbit /
        final-orbit / clock / erp / almanac / ephemeris / ephemeris-qzss /
        l1s / l6 / anpi(安否確認サービス)/ naqu。
        orbit 以外は最新ファイルの一覧とダウンロードURLを返す(本体は取得しない)。
        未知の種別は候補一覧を返して停止する。
    count: 一覧に出すファイル数(既定 5, 最大 20)。orbit 以外で使う。
    product_id: 特定のファイル ID(例 "qzu24373_18.sp3")。省略時は最新。

注意: この API は非商用利用のみ(提供元の明記)で、データの正確性は保証されない。
出典: 内閣府 準天頂衛星システム(https://sys.qzss.go.jp/dod/api.html)。
iss_nowA

ISS(国際宇宙ステーション)の現在位置を返し、Googleマップで表示できるURLを生成する。

例:「ISSは今どこ?」「国際宇宙ステーションの現在位置」
content に表示用サマリ+Googleマップリンク、structuredContent に JSON(緯度経度)を返す。

Returns:
    CallToolResult: ISS の現在位置情報。
sat_ground_trackA

任意の人工衛星の現在位置と地上軌道を地球地図にプロットした画像を返す。

例:「ISSの現在位置を地球地図で」「ひのでの位置を地図で」「ハッブルの軌道」
CelesTrak の最新 TLE(遮断中は代替源の公開ミラー。本文と structuredContent.tle_source に
実際の出典を表示)を Skyfield(SGP4)で伝播し、衛星の真下の点(緯度経度・高度)
とその前後の軌道トレイルを NASA Blue Marble 地球地図に重ねる。認証不要。

精度: 軌道トレイルは step 分刻み(デフォルト 1分)で描画し、経度±180度境界で
線を分割するため、世界地図上で正確に表示される。subpoint() は地球自転・歳差・
極運動を考慮した真の地上点を返す。

Args:
    norad_id: NORAD カタログ番号(例 25544=ISS, 29479=ひので)。name より優先。
    name: 衛星名または省略名(例 "iss", "hubble", "hinode")。既知の衛星は
        ID に解決、それ以外は TLE を直接検索。
    when: 観測時刻 ISO8601(例 "2026-09-10T03:30:00Z")。省略で現在。
    minutes: 現在位置の前後何分の軌道を表示するか(既定 45、最大 1440=24時間)。
        準天頂衛星(みちびき)の8の字軌道を見るには 720 前後を指定。
    step: トレイルの時間刻み(分。既定 1、最小 0.5)。小さいほど滑らか。
    out_px: 出力画像の幅ピクセル(既定 1200、最大 2048)。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
content の先頭へ「🖼️ [生成した画像を開く: …](file:///…) | 保存先: `…`」という
アイコン付きリンクを必ず出します(画像は %LOCALAPPDATA%\Temp\space_finder_mcp\out に
保存し、同じパスを structuredContent.image_path にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。
weather_satellite_nowD–
planetary_orbiter_trackA

任意の天体(月・火星・水星・タイタン等)を周回する探査機の現在位置と軌道を、その天体の地図にプロットした画像を返す。

例:「LROの現在位置を月面地図で」「MROの火星での現在地」「火星周回機の位置」
「かぐやの月面落下地点は?」(過去機は運用終了を案内し、落点が公表されていれば
その地点を月面図にマーカーで示した図を返す)
「アポロの着陸地点を月面図で」「アポロ11号の着陸地点は?」(sites 指定=地点マーカー図)
「月に出来た一番新しいクレーターの位置は?」(sites="newcrater"=新クレーター2地点)
JPL Horizons が返す中心天体の状態ベクトルを IAU 自転モデルで天体固定座標
(緯度経度・高度) に変換し、NASA Trek の等角図法地図に重ねて描画。認証不要。

全面表示にするには span_deg=360(既定 120)。zoom 省略時は全面(1)に自動設定。

Args:
    body: 天体名(moon, mars, mercury, venus, titan, vesta, ceres, io, europa,
        ganymede, callisto, jupiter, saturn, uranus, neptune, pluto, bennu, ryugu)。
        地点が登録されていない天体(ガス惑星・小天体)は sites="map" で全球図を返す。
    orbiter: 周回機名(月: lro, gateway/火星: mro, odyssey)または
        JPL Horizons の負の天体ID(例 "-74")。和名("かぐや"/"あかつき" 等)も可。
        過去機(kaguya 等)は運用終了のため現在位置は返さず、**落点が公表されている
        機体(かぐや)は落点の緯度経度・時刻・出典を structuredContent.impact_site に返す**。
    when: 観測時刻 ISO8601(例 "2026-09-10T00:00:00Z")。省略で現在。
    minutes: 現在位置の前後何分の軌道を表示するか(既定 90, 最大 1440)。
    step: トレイルの時間刻み(分。既定 5, 最小 1)。
    zoom: 地図ズーム 1〜最大(既定: span_deg>=360 なら1=全面, それ未満は3)。
    span_deg: 表示する経度幅(度。360=天体全面, 既定 120, 最大 360)。
    out_px: 出力画像の長辺ピクセル(既定 900, 最大 1600)。
    sites: **地点マーカー図**にする場合の地点指定(例 "apollo"=アポロ6地点すべて、
        "apollo11"="apollo17"=個別、"map"=地図のみ、"newcrater"=月に新しくできた
        クレーター2点)。指定すると周回機の計算を行わず、公表座標にマーカーを置いた図を
        返す(1地点なら局所図、複数なら天体全面図+凡例)。旗の位置は公開表に無いため、
        注記でその旨を明示する。sites="newcrater" は **マクゲッチン**(2024-04-11〜
        05-22 に自然衝突で形成。直径 222 m・1.3536°N 67.1765°E)と **ファルコン9上段の
        衝突痕**(2026-08-05 06:35 UTC。直径 18 m・19.4759°N 266.7138°E)を返す。
        記録上いちばん新しいのは人工物の衝突(ファルコン9上段, 2026-08-05)、
        **自然衝突ではマクゲッチンが最新**(この規模は月で平均 132 年に1回)。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
content の先頭へ「🖼️ [生成した画像を開く: …](file:///…) | 保存先: `…`」という
アイコン付きリンクを必ず出します(画像は %LOCALAPPDATA%\Temp\space_finder_mcp\out に
保存し、同じパスを structuredContent.image_path にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。
planetary_rover_location_mapA

任意の天体面を移動する探査ローバーの現在地を、その天体の地図上に示した画像を返す(認証不要)。

例:「パーサヴィアランスの現在地を火星地図で」「キュリオシティが今どこにいるか地図で」
ローバーの現在地データ(現状は NASA MMGIS / 火星)と走行経路を取得し、NASA Trek の
等角地図タイルに、走行経路(橙線)・現在地(赤●)・着陸地点(青●)を合成して描画。
planetary_map.BODIES の天体テーブルを利用するため、ベースマップは天体を指定して切り替え可能。

Args:
    body: 天体名(既定 "mars"。planetary_map の対応天体)。
    rover: ローバー名("perseverance"=既定, "curiosity")。
    zoom: 地図ズーム。省略時は天体の最大ズーム(火星7)。高倍率ほど詳細。
    span_deg: 表示する画角(経度幅・度)。大きいほど広範囲・解像度低下。既定0.5。
    out_px: 出力画像の長辺ピクセル(既定1000, 最大2000)。

インライン画像を表示できないハーネス(CLI系・Android系の codex / opencode など)向けに、
content の先頭へ「🖼️ [生成した画像を開く: …](file:///…) | 保存先: `…`」という
アイコン付きリンクを必ず出します(画像は %LOCALAPPDATA%\Temp\space_finder_mcp\out に
保存し、同じパスを structuredContent.image_path にも入れます)。
回答時はこのリンクをそのまま提示してください(画像が描画されない環境では唯一の導線)。
satellite_statusA

世界気象機関(WMO)OSCARの衛星カタログから、気象・地球観測衛星の運用ステータスを返す。

ロシアのMeteor-M・Resurs・Kanopus等、世界中の気象衛星の運用状況・軌道・打ち上げ日を確認できる。
例:「ロシアの気象衛星」「Meteor-Mの運用状況」「世界の気象衛星一覧」
content に表示用サマリ、structuredContent に JSON を返す。

カタログ**全件(約1,000件)を走査**し、query は一致度順(acronym の完全/前方一致 →
名称の語境界一致 → 名称の部分一致のみ)に並べて返す。`query="meteor"` のような入力でも
Meteor-M が「Meteorological」を含む他衛星に埋もれない。一致件数の内訳
(acronym・語境界 / 部分一致のみ)と、取得できなかったページ数も数値で返す。

初回の呼び出しは全件取得のため40秒ほどかかります(1ページ30件固定・約4.5秒 ×
35ページ)。取得したカタログはディスクにも保存するため、以後はプロセスを
再起動しても即時に応答します(24時間で更新)。

Args:
    query: 検索語(衛星名・略称)。**和名は英語名に自動展開**する
        ("ひまわり"→himawari, "だいち"→alos, "宇宙ステーション"→iss)。
        例 "meteor", "resurs", "goes", "himawari", "だいち"。
    agency: 機関名(例 "Roscosmos", "NOAA", "EUMETSAT", "JAXA")。
    limit: 返す件数(既定 10、最大 20)。
cnsa_statusA

中国 CNSA 系衛星データポータル(風雲/NSMC・高分/CNSA-GEO・CBERS/CRESDA)の到達状態と概要を返す。

例:「中国の衛星データ」「風雲衛星」「高分」「CBERS」
画像ダウンロードには各ポータルへのアカウント登録が必要。ここではポータルの状態と
提供データの概要、および認証不要の代替データ源を確認する。

Returns:
    CallToolResult: 表示用サマリ + JSON。
space_calendarA

宇宙・天文イベントの月間カレンダー(打ち上げ・天文現象・公開イベント・自分の予定)を画像とJSONで返す。

打ち上げは Launch Library 2 の API(月範囲)から、日付が確定した行だけを日付セルに置きます。
天文現象は JPL DE421 + Skyfield のローカル計算(月相・二十四節気・惑星の衝/合/内合・最大離角・
日食月食・流星群)、公開・イベントは国立天文台のイベント一覧と JAXA の施設公開(一般公開・特別公開)、
自分の予定はローカルの蓄積ストア
(`calendar_event_add` で追加)から取ります。取得結果は蓄積ストアに溜め、要求月 M に対して
窓 [M-1, M+2] を確保して**未取得・期限切れの月だけ**取りに行きます(月が進むと差分は1ヶ月)。

**回答時は content に含まれる画像リンク(🖼️ [◯◯を開く](file:///…))をそのまま提示してください。**
**`figure.notes` は要約・言い換えせず、そのまま引用してください。**

Args:
    year: 対象年(既定: 観測地の今年)。
    month: 対象月 1〜12(既定: 観測地の今月)。
    place: 基準地(既定 東京)。任意の地名をジオコーダで解決し、その現地時刻で描きます。
    kinds: 表示するカテゴリ(カンマ区切り): user/launch/sky/neo/fireball/public/holiday。
        all で全部。**neo(小惑星接近)と fireball(火球観測)は、`neo_close_approach` /
        `fireball_reports` を呼んで蓄積されたぶんだけ表示されます**(カレンダー自身は
        JPL を叩かないので、未取得の月は「イベントが無い」のではなく「まだ蓄積が無い」)。
    lat: 緯度(place の代わりに数値で指定)。
    lon: 経度(同上)。
calendar_eventsA

蓄積済みのイベント一覧を返す(図を描かず、外部APIも呼ばない軽い経路)。

蓄積ストア(`space_calendar` が取得したものと `calendar_event_add` で入れた予定)だけを読みます。
呼び出し時に保持期限(カレンダーと同じ日数=過去データの自動削除)も適用します。
「今月の予定は?」「10月の公開イベントは?」のように、まず一覧だけ見たいときに使ってください。
打ち上げ・天文現象の鮮度は `structuredContent.sources` に取得時刻として入ります。

Args:
    year: 対象年(既定: 基準地の今年)。
    month: 対象月(既定: 基準地の今月)。
    place: タイムゾーン決定のための基準地(既定 東京)。
    kinds: カテゴリの絞り込み: user/launch/sky/neo/fireball/public/holiday(カンマ区切り)。
        all で全部。neo / fireball は `neo_close_approach` / `fireball_reports` の呼び出しで
        蓄積されたレコードだけが出ます。
calendar_event_addA

カレンダーに自分の予定を追加する(ローカルの蓄積ストアに保存。外部へは送信しません)。

追加した予定は `space_calendar` の図と本文、`calendar_events` の一覧に現れます。予定は
**フローティングなローカル日時**で保存するので、`place` を変えても予定の日付は動きません
(海外の予定を入れるときは note に現地時刻を書いてください)。

Args:
    title: 予定の名前(例: 「すばる望遠鏡 観測提案の締切」)。
    date: 開始日。"2026-10-24" / "2026/10/24" / "2026年10月24日" / "10/24"(年は今年と解釈)。
    time: 開始時刻(例 "10:30" / "10時30分")。省略すると終日予定になります。
    date_end: 終了日(複数日の予定・展覧会など)。省略すると1日。
    repeat: 繰り返し: none / daily / weekly / monthly / yearly(既定 none)。
    note: 補足メモ(任意)。
calendar_event_removeA

カレンダーの自分の予定を削除する(id か title[+date] で指定)。

既に無い場合や既に削除済みの場合はエラーにせず「該当なし」を返します(冪等)。
title だけで複数該当したときは**削除せず候補を提示**します(推測して消さない)。

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 66 tools

Disambiguation3/5

Descriptions are highly detailed and often cross-reference sibling tools (e.g., observations vs. images, DONKI vs. NOAA), but the 66-tool surface contains many near-parallel families: agency-specific STAC collection/search pairs, multiple current-position tools, and several literature/NEO/satellite variants. Boundaries are usually inferable, yet the sheer number of similar-sounding tools makes misselection plausible.

Naming Consistency3/5

Nearly all names use snake_case, which is readable and predictable at a high level. However, conventions are mixed: some use verb_noun (search_space_images), others noun_verb (space_literature_search), and many are noun-only or noun_noun_verb (calendar_event_add). The inconsistency is not chaotic, but it is more than minor.

Tool Count2/5

66 tools is excessive for a single MCP server, far outside the typical 3–15 well-scoped range. While the server covers an intentionally broad space-data domain and many tools are individually justified, the count is high enough to burden selection and maintenance, and several provider-specific pairs could be consolidated.

Completeness4/5

The surface is remarkably broad, covering launches, Earth-observation catalogs, astronomical archives, solar-system/satellite visualizations, NEO/impact/space-weather alerts, literature, media, weather, and calendars. Only minor lifecycle gaps stand out, such as no calendar-event update and a few portal-status-only tools, so coverage is strong but not perfect.

Maintenance

ActivityActive
ResponsivenessNo issues