mcpField
A
astrodynamics-mcp

astrodynamics-mcp

ローカル
github.com/astro-tools科学・教育221 週間前に更新

astrodynamics-mcp について

astrodynamics-mcpは、衛星・軌道・ミッション分析向けの軌道力学ツールをMCPクライアントに提供します。上流の数値ライブラリを包み、単位を明示した結果を返します。オプションの追加機能でGMAT実行、SPICE照会、軌道可視化にも対応します。

主な機能

  1. 01TLE検索とSGP4伝播
  2. 02Lambert計算とporkchopスキャン
  3. 03地上局アクセス可能時間の計算
  4. 04時刻系・座標系の変換
  5. 05オプションのGMAT、SPICE、可視化ツール

活用シーン

  1. 01衛星軌道の伝播とメタデータ確認
  2. 02地上局からのアクセス時間の算出
  3. 03惑星間遷移とフライバイ標的の分析

MCP 対応

このMCPサーバーは、軌道伝播、遷移計算、座標変換などのツールをクライアントに公開します。オプション機能でGMAT、SPICE、可視化ツールを追加でき、stdioとStreamable HTTPに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"astro-tools-astrodynamics": {
"command": "uvx",
"args": [
"astrodynamics-mcp"
]
}
}
}
起動コマンドuvx astrodynamics-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiastrodynamics-mcp0.4.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

astrodynamics-mcp

あらゆる MCP 対応 LLM クライアント(Claude Code、Cursor、ChatGPT desktop、 カスタムエージェント)に、信頼できる軌道力学ツールを提供する Model Context Protocol サーバーです。TLE/SGP4 の軌道伝播、 ランベール問題の求解、地上局へのアクセス、時間尺度と座標系の 変換、ポークチョップスキャン、B プレーンターゲティング、衛星メタデータに対応しています。 さらにオプションの追加機能を使うと、NASA GMAT によるミッションの完全な実行([gmat])、 NASA SPICE / NAIF カーネルのクエリ([spice])、軌道の可視化([viz])も行えます。

理由

LLM は軌道力学の概念をうまく推論できますが、数値計算はできません。軌道伝播や ランベール問題の求解、SPICE 暦の照会は行えません。astrodynamics-mcp を使うと、 あらゆる MCP 対応クライアントに信頼できるツールを組み込めるため、LLM は数値を捏造する代わりに、 検証済みの上流ライブラリを呼び出します。すべての結果には単位が明示されます。また、各ツールの説明は Inspect AI eval suite を用いて調整されています。このスイートでは、LLM が適切なツールを選択し、正しい 引数を設定できるかを測定します。

ツール

ツール機能使用ライブラリ
tle_lookupNORAD ID、名前、グループを指定して最新の TLE を取得します。デフォルトでは CelesTrak、または Space-Track から取得します。CelesTrak gp.php API · Space-Track †
sgp4_propagateUTC ISO 8601 エポックにわたって、TEME / ICRF / GCRS / ITRS / CIRS で TLE を伝播します。sgp4
lambert_solveランベール問題を解きます。複数周回の解を列挙でき、必要に応じて 2 インパルスの Δv を算出します。lamberthub
access_windows指定した期間における地上局/観測者からのアクセス時間帯と、AOS / LOS / 最大仰角を取得します。skyfield
time_convertUTC / TAI / TT / TDB / UT1 / GPS / TCB / TCG を、ISO / JD / MJD / J2000 秒 / Unix 形式間で変換します。astropy.time
frame_transformICRF / ITRS / GCRS / TEME / CIRS / TIRS / IAU 惑星固定座標系間で状態ベクトルを変換します。astropy.coordinates
porkchop惑星間遷移の(出発 × 到着)Δv / C3 グリッドを、ASCII 等高線図、要約、または全出力で表示します。lamberthub + JPL Horizons
bplane_target双曲線フライバイの B プレーン要素を計算し、インパルスによるターゲティングを行います。内製、JPL Horizons データを使用
satellite_metadataNORAD ID に基づき、物理情報と来歴メタデータ(質量、寸法、COSPAR ID、打ち上げ、運用者、軌道離脱状況)を取得します。ESA DISCOSweb †

† 認証情報が必要なデータソースです。stdio トランスポートでは環境変数として、HTTP ではセッション初期化時の _meta ブロックに認証情報を渡してください。詳しくは 認証情報を参照してください。 必要な認証情報を指定せずにツールを呼び出すと、黙って失敗するのではなく、型付きの CredentialRequiredError が返されます。

GMAT ツール(オプションの [gmat] エクストラ)

[gmat] エクストラをインストールし、ローカルに NASA GMAT をインストールすると、実際の GMAT ミッションを実行するためのツールがさらに 5 つ登録されます (それ以外の場合は非表示です)。

ツール機能基盤
gmat_run_missionGMAT ミッション全体を実行し、解析済みの概要、レポートデータ、大きな出力への参照を返します。gmat-run
gmat_sweepミッションのパラメーター・スイープとモンテカルロ(グリッド/サンプル/モンテカルロ/ラテン超方格)を実行します。gmat-sweep
gmat_execute_scriptエスケープハッチとして、生の GMAT スクリプトテキストを実行し、レポートをそのまま返します。エンジンのエラーはデータとして返されます。gmat-run
gmat_validate_scriptスクリプトを実行せずに構文解析と検証を行い、エラー、警告、リソース/コマンドの構造を返します。gmat-run
gmat_read_run_artefact前回の実行で生成されたファイルの生テキストを読み取ります(エフェメリスや、インライン表示には大きすぎるレポートなど)。実行レジストリ
SPICE ツール(オプションの [spice] エクストラ)

[spice] エクストラをインストールすると、NASA NAIF の CSPICE を spiceypy 経由で利用するツールがさらに 7 つ登録されます(それ以外の場合は非表示です)。カーネルをプロセス全体で共有される プールに読み込み、プール内のデータを照会します。

ツール機能基盤
spice_load_kernelローカルパスまたは NAIF の https URL(許可リストに登録され、キャッシュされます)からカーネルをプールに読み込みます。メタカーネルの場合は、そこに記載されたすべてのカーネルを読み込みます。spiceypy · NAIF
spice_list_kernels現在プールに読み込まれているカーネルを、オプションでカテゴリを指定して一覧表示します。spiceypy
spice_unload_kernelspice_load_kernel が返した name で、読み込み済みのカーネルを削除します。spiceypy
spice_state読み込み済みの SPK カーネルを使用し、1 つ以上のエポックにおける観測対象に対するターゲットの位置/速度を取得します。spiceypy (SPK)
spice_frame_transformカーネルで定義されたフレーム間でベクトルを回転します。特に地球以外の天体固定フレームに対応し、回転行列を返すこともできます。spiceypy (FK / PCK)
spice_body_parameters読み込み済みの PCK カーネルから、天体の半径、GM、極/本初子午線の向きの定数を読み取ります。spiceypy (PCK)
spice_time_convert読み込み済みの LSK/SCLK カーネルを使用し、カーネルで定義された時刻系 ET/UTC/SCLK 間で変換します。spiceypy (LSK / SCLK)

カーネルモデル、NAIF の URL からの読み込み許可リスト、およびプロセス全体で共有されるプールの 信頼境界については、SPICE 統合 ページで説明しています。

可視化ツール(オプションの [viz] エクストラ)

[viz] エクストラをインストールすると、matplotlib(静的 PNG プロット)と姉妹ライブラリの gmat-czml(CZML エクスポート)を基盤とするツールが 4 つ追加で登録されます。それ以外の場合は表示されません。各ツールは数値の要約と合わせて画像を添付ファイルとして返すため、テキストのみのクライアントでも回答を得られます。

ツール機能基盤となるもの
plot_ground_track衛星の地表直下点の軌跡を、経度/緯度の経緯線を重ねた PNG として描画し、緯度/経度の範囲を併記します。matplotlib
plot_trajectory軌道または遷移弧を、天体を中心とする 2D または 3D の PNG として描画し、弧の長さと近点・遠点を併記します。matplotlib
plot_porkchop完全な porkchop グリッドの結果からポークチョップ C3 等高線を PNG として描画します。再計算は行わず、最適なセルをマークします。matplotlib
czml_trajectory軌道を Cesium 3D クライアント向けの CZML ドキュメントとしてエクスポートし、埋め込みリソースとして返します。gmat-czml

添付ファイルのモデル(構造化された要約とともに追加される PNG ImageContent/CZML EmbeddedResource)と、それぞれの形式を表示するクライアントについては、 可視化 のページで説明しています。

入出力の完全な JSON スキーマは、ドキュメントサイトの ツールリファレンス ページにあります。

クイックスタート

インストール:

uv tool install astrodynamics-mcp            # or: pipx install astrodynamics-mcp
uv tool install "astrodynamics-mcp[gmat]"    # adds the GMAT mission tools (needs a local GMAT install)
uv tool install "astrodynamics-mcp[spice]"   # adds the SPICE tools (pulls spiceypy / bundled CSPICE)
uv tool install "astrodynamics-mcp[viz]"     # adds the visualisation tools (pulls matplotlib / gmat-czml)
Claude Code

Claude Code の MCP 設定に追加します。

{
  "mcpServers": {
    "astrodynamics-mcp": {
      "command": "astrodynamics-mcp",
      "args": ["stdio"]
    }
  }
}

Claude Code を再起動します。チャットで次のように入力します。

あなた: 高度 250 km の円軌道 LEO から GEO へのホーマン遷移に必要な Δv を計算してください。

(モデルはホーマン遷移の幾何条件で lambert_solve を呼び出し、LLM 自身の重みではなくツールの出力を根拠として、約 3.91 km/s と回答します。)

Cursor

~/.cursor/mcp.json(またはワークスペースレベルの .cursor/mcp.json):

{
  "mcpServers": {
    "astrodynamics-mcp": {
      "command": "astrodynamics-mcp",
      "args": ["stdio"]
    }
  }
}

Cursor を再起動します。ツールは astrodynamics サーバーグループに表示されます。

ChatGPT デスクトップ、Python の MCP スモークテスト用クライアント、およびリモートエージェント向けの Streamable HTTP トランスポートについては、ドキュメントの クライアントの選択 を参照してください。

対応クライアント

クライアントトランスポート検証状況
Claude Codestdio✅ 対応確認済み
Cursorstdio✅ 対応確認済み
ChatGPT デスクトップstdio⏳ 動作する見込み
Python 直接実行(mcp SDK)stdio✅ 対応確認済み
リモートエージェントStreamable HTTP⏳ 動作する見込み
LangGraph / AutoGen / CrewAI任意⏳ 動作する見込み

これは何ではないか

  • 汎用の宇宙力学フレームワークではありません。 検証済みの 上流ライブラリをラップしており、伝播器、積分器、 座標系を再実装するものではありません。
  • エージェントフレームワークではありません。 MCP ツールを公開します。LangGraph、AutoGen、 CrewAI、および LLM クライアント自体がこれらを利用します。
  • ML/推論サーバーではありません。 独自の ML モデルを必要とするツール(マヌーバ検出、ニューラル伝播器)は、依存関係を分離して モジュール性を保つため、別の MCP サーバーに配置します。
  • SaaS ではありません。 ローカルまたは独自のインフラストラクチャで実行します。ホスト型のマルチテナント デプロイには対応していません。
  • Web UI ではありません。 ツールは MCP クライアント経由で利用します。ブラウザーの フロントエンド、デスクトップアプリ、ノートブックウィジェットはありません。

同じ機能を MCP を介さずに Python から直接利用する場合は、次の 上流ライブラリをご利用ください。 sgp4、 lamberthub、 skyfield、 astropy、 interplanetary-porkchop、 spiceypy。

基盤

公式の Anthropic modelcontextprotocol/python-sdk (MIT)を使用しています。同梱の FastMCP サーバークラスがサーバーの基本機能を担い、 stdio と Streamable HTTP のトランスポートを第一級でサポートしています。

ドキュメントとリンク

プライバシー

astrodynamics-mcp はすべてお使いのマシン上で実行され、テレメトリー、 分析データ、アカウントなど、いかなる情報も収集しません。マシン外へ送信されるのは、 ツールがラップするデータソース(認証不要の CelesTrak/JPL Horizons/IERS、および 認証情報を設定した場合に限り Space-Track と ESA DISCOSweb)へ送るクエリパラメーターのみです。 認証情報はローカルの環境変数またはセッションの _meta ブロックから読み込まれ、HTTPS 経由で各サービスにのみ送信されます。詳細については、 プライバシーページ をご覧ください。

ライセンス

MIT — LICENSEをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。