mcpField
N
N2YO Satellite Tracker MCP Server

N2YO Satellite Tracker MCP Server

ローカル
github.com/MaxwellCalkin科学・教育074 週間前に更新

N2YO Satellite Tracker MCP Server について

N2YO Satellite Tracker MCP Server は、N2YO.com API の衛星追跡データを MCP クライアントに提供します。自然言語検索に加え、位置、通過、軌道の詳細を調べられ、観測者や衛星愛好家に利用できます。

主な機能

  1. 01自然言語による衛星検索
  2. 02TLE 取得とカテゴリ検索
  3. 03現在位置と上空の衛星検索
  4. 04可視・無線通過の予測
  5. 05名称検索、打ち上げ、デブリ追跡
  6. 06軌道データ

活用シーン

  1. 01指定地点から見える衛星を探す
  2. 02衛星の TLE や現在位置を取得
  3. 03目視またはアマチュア無線の観測時間を計画
  4. 04最近の打ち上げや近隣のデブリを追跡

MCP 対応

衛星の検索、追跡、予測を行うツールのほか、API 状態、カテゴリ、国、利用制限のリソースを提供します。MCP クライアントは stdio で接続します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

N2YO Satellite Tracker MCP Server

TLE(軌道要素の二行形式)データ、衛星位置、通過予測など、N2YO の衛星追跡データにアクセスできる Model Context Protocol(MCP)サーバーです。

概要

この MCP サーバーは N2YO.com API と連携し、衛星追跡機能を提供します。N2YO はリアルタイムの衛星追跡サービスで、軍事、気象、GPS、アマチュア無線、商用衛星など、衛星に関する包括的なデータを提供します。

主な機能
  • 自然言語での問い合わせ:「今夜 6 時にフランス上空を通過する衛星は何ですか?」などの質問ができます。
  • TLE データへのアクセス:NORAD ID を指定して、任意の衛星の TLE データを取得できます。
  • カテゴリ別検索:種類(軍事、気象、GPS など)を指定して衛星を検索できます。
  • 国別フィルター:国または組織で衛星を絞り込めます。
  • リアルタイム位置情報:観測者から見た現在の衛星位置を取得できます。
  • 通過予測:衛星が現在地から見える時刻を予測できます。
  • 頭上の衛星追跡:特定の場所の現在上空にある衛星をすべて検索できます。
  • ⭐ 無線通信の通過最適化:アマチュア無線運用者向けの通信時間帯を確認できます。
  • ⭐ 衛星名検索:NORAD ID ではなく名前で衛星を検索できます。
  • ⭐ 最近の打ち上げの追跡:新たに配備された衛星を監視できます。
  • ⭐ スペースデブリの監視:衝突回避のためにデブリを追跡できます。
  • ⭐ 軌道の可視化:衛星の時間経過に伴う軌道を取得できます。

インストール

git clone <repository-url>
cd n2yo-satellite-tracker-mcp
npm install
npm run build

セットアップ

  1. N2YO API キーを取得する:N2YO.com に登録し、プロフィールから API キーを生成します。
  2. サーバーを設定する:
    • オプション A(推奨):環境変数 N2YO_API_KEY=your-api-key を設定します。
    • オプション B:set_n2yo_api_key ツールを使って、実行時に API キーを設定します。
  3. 追跡を開始する:各種ツールを使って衛星を追跡します。

使用方法

# Option A: Set API key via environment variable (recommended)
N2YO_API_KEY=your-api-key npm start

# Option B: Start server and set API key via tool later
npm start

このサーバーは stdio トランスポートを介して MCP 対応クライアントに接続します。

利用可能なツール

set_n2yo_api_key

衛星データにアクセスするための N2YO API キーを設定します。

パラメーター:

  • apiKey(必須):N2YO API キー
query_satellites_natural

衛星に関する自然言語の質問に回答します(🌟 新機能)。

パラメーター:

  • query(必須):「今夜 6 時にフランス上空を通過する衛星は何ですか?」などの自然言語での問い合わせ
  • categoryFilter(任意):カテゴリで絞り込みます。"all"、"military"、"weather"、"gps"、"amateur"、"starlink"、"space-stations" のいずれかを指定します。

対応する問い合わせパターン:

  • 場所:国(フランス、ドイツ、アメリカ)、都市(パリ、ロンドン、ニューヨーク)
  • 時刻:「今夜」、「午後 6 時」、「明日の朝」、「2 時間後」、「今」
  • カテゴリ:問い合わせ文または categoryFilter パラメーターで指定できます。
query_satellites_with_tle

自然言語の問い合わせで衛星を検索し、名前と TLE を含む構造化データを返します(🌟 新機能)。

パラメーター:

  • query(必須):衛星に関する自然言語での問い合わせ(例:'ISS'、'カリフォルニア上空のStarlink衛星'、'軍事衛星')
  • categoryFilter(任意):カテゴリで絞り込みます。"all"、"military"、"weather"、"gps"、"amateur"、"starlink"、"space-stations" のいずれかを指定します。
  • maxResults(任意):返す衛星の最大数(デフォルト:10)

構造化 JSON で返される内容:

  • 衛星名と NORAD ID
  • 各衛星の完全な TLE データ
  • 位置情報
  • 問い合わせのメタデータ
get_satellite_tle

特定の衛星の TLE(軌道要素の二行形式)データを取得します。

パラメーター:

  • noradId(必須):NORAD カタログ番号(例:ISS の場合は "25544")
get_satellites_by_category

あらかじめ定義されたカテゴリ別に衛星を閲覧します。

パラメーター:

  • category(必須):"military"、"weather"、"gps"、"navigation"、"amateur"、"geostationary"、"noaa"、"starlink"、"space-stations"、"earth-resources" のいずれか
  • country(任意):国コードによるフィルター(例:"usa"、"china"、"russia")
get_satellite_position

観測地点から見た衛星の現在位置を取得します。

パラメーター:

  • noradId(必須):NORAD カタログ番号
  • observerLat(必須):観測地点の緯度(-90~90)
  • observerLng(必須):観測地点の経度(-180~180)
  • observerAlt(任意):観測地点の高度(メートル、デフォルト:0)
  • seconds(任意):予測する未来までの秒数(0~300、デフォルト:0)
get_visual_passes

観測地点から見える、衛星の今後の可視パスを取得します。

パラメーター:

  • noradId(必須):NORAD カタログ番号
  • observerLat(必須):観測地点の緯度(-90~90)
  • observerLng(必須):観測地点の経度(-180~180)
  • observerAlt(任意):観測地点の高度(メートル、デフォルト:0)
  • days(任意):先読みする日数(1~10、デフォルト:10)
  • minVisibility(任意):最小可視時間(秒、1~300、デフォルト:300)
get_satellites_above

観測地点の上空に現在あるすべての衛星を取得します。

パラメーター:

  • observerLat(必須):観測地点の緯度(-90~90)
  • observerLng(必須):観測地点の経度(-180~180)
  • observerAlt(任意):観測地点の高度(メートル、デフォルト:0)
  • searchRadius(任意):検索半径(度、1~90、デフォルト:70)
  • categoryFilter(任意):カテゴリまたは「all」で絞り込み(デフォルト:「all」)
get_radio_passes ⭐ NEW

アマチュア無線オペレーター向けに最適化された、今後の無線通信パスを取得します。

パラメーター:

  • noradId(必須):NORAD カタログ番号
  • observerLat(必須):観測地点の緯度(-90~90)
  • observerLng(必須):観測地点の経度(-180~180)
  • observerAlt(任意):観測地点の高度(メートル、デフォルト:0)
  • days(任意):先読みする日数(1~10、デフォルト:10)
  • minElevation(任意):最小仰角(度、1~90、デフォルト:10)
search_satellites_by_name ⭐ NEW

名前または国際識別符号で衛星を検索します。

パラメーター:

  • query(必須):検索語(衛星名または国際識別符号)

クエリの例:「ISS」、「Starlink」、「NOAA」、「GPS」、「1998-067A」

get_recent_launches ⭐ NEW

過去30日間に打ち上げられた衛星を取得します。

パラメーター: なし

get_space_debris ⭐ NEW

衝突回避のため、観測地点の上空にある宇宙デブリを追跡します。

パラメーター:

  • observerLat(必須):観測地点の緯度(-90~90)
  • observerLng(必須):観測地点の経度(-180~180)
  • observerAlt(任意):観測地点の高度(メートル、デフォルト:0)
  • searchRadius(任意):検索半径(度、1~90、デフォルト:70)
get_satellite_trajectory ⭐ NEW

可視化や計画に使用する、衛星の時間経過に伴う軌道を取得します。

パラメーター:

  • noradId(必須):NORAD カタログ番号
  • observerLat(必須):観測地点の緯度(-90~90)
  • observerLng(必須):観測地点の経度(-180~180)
  • observerAlt(任意):観測地点の高度(メートル、デフォルト:0)
  • seconds(任意):時間の長さ(秒、1~3600、デフォルト:300)

利用可能なリソース

n2yo://api/status

以下を含む、現在の N2YO API の設定と使用状況:

  • API キーの設定状況
  • 各エンドポイントのトランザクション数
  • 1日の API 上限
n2yo://categories/list

衛星の検索に使用できるカテゴリ:

  • 軍事衛星
  • 気象衛星
  • GPS 運用衛星
  • アマチュア無線衛星
  • その他...
n2yo://countries/list

衛星の絞り込みに使用できる国と組織。

n2yo://limits/info

N2YO API のトランザクション上限と現在の使用状況に関する情報。

自然言語クエリ機能

query_satellites_natural ツールは、さまざまな自然言語のパターンを理解して解析できます。

対応している場所(100 以上の国と都市)
  • 国:France、Germany、USA、China、Russia、Japan、UK、Canada、Australia など
  • 主要都市:Paris、London、New York、Tokyo、Berlin、Moscow、Sydney など
  • クエリの例:
    • 「France 上空」
    • 「Germany の上空」
    • 「New York 上空」
対応している時間表現
  • 相対的な時間:「今夜」、「明日」、「現在」、「たった今」
  • 具体的な時間:「午後 6:00」、「18:00」、「今夜 6:00」
  • 将来の時間:「2 時間後」、「明日の朝」
  • クエリの例:
    • 「今夜 6:00 に」
    • 「明日の朝」
    • 「3 時間後」
自然言語クエリの例
  • 「今夜 6:00 に France 上空を通過する衛星は何ですか?」
  • 「現在 Germany 上空にいる軍事衛星を表示してください」
  • 「たった今 New York 上空にいる Starlink 衛星は何ですか?」
  • 「明日の朝に Tokyo 上空にいる衛星はどれですか?」
  • 「2 時間後に London 上空にいる気象衛星を探してください」

衛星カテゴリー

サーバーは以下の衛星カテゴリーに対応しています。

  • military(30):軍事衛星
  • weather(3):気象衛星
  • gps(20):運用中の GPS 衛星
  • navigation(24):海軍航法衛星システム
  • amateur(18):アマチュア無線衛星
  • geostationary(10):静止衛星
  • noaa(4):NOAA 衛星
  • starlink(52):Starlink コンステレーション
  • space-stations(2):国際宇宙ステーションなど
  • earth-resources(6):地球観測衛星

使用例

API キーを設定する
{
  "tool": "set_n2yo_api_key",
  "arguments": {
    "apiKey": "YOUR-N2YO-API-KEY"
  }
}
自然言語クエリ(🌟 新機能)
{
  "tool": "query_satellites_natural",
  "arguments": {
    "query": "What satellites will be over France at 6:00 tonight?"
  }
}
{
  "tool": "query_satellites_natural",
  "arguments": {
    "query": "Show me military satellites above Germany now",
    "categoryFilter": "military"
  }
}
{
  "tool": "query_satellites_natural",
  "arguments": {
    "query": "What Starlink satellites are over New York right now?",
    "categoryFilter": "starlink"
  }
}
ISS の TLE データを取得する
{
  "tool": "get_satellite_tle",
  "arguments": {
    "noradId": "25544"
  }
}
軍事衛星を探す
{
  "tool": "get_satellites_by_category",
  "arguments": {
    "category": "military",
    "country": "usa"
  }
}
ISS の位置を追跡する
{
  "tool": "get_satellite_position",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "observerAlt": 0
  }
}
ISS の通過予測を取得する
{
  "tool": "get_visual_passes",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "days": 7
  }
}
上空の衛星を探す
{
  "tool": "get_satellites_above",
  "arguments": {
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "searchRadius": 80,
    "categoryFilter": "military"
  }
}
無線通信の通過 ⭐ 新機能
{
  "tool": "get_radio_passes",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "days": 7,
    "minElevation": 15
  }
}
名前で衛星を検索 ⭐ 新機能
{
  "tool": "search_satellites_by_name",
  "arguments": {
    "query": "ISS"
  }
}
最近の打ち上げ ⭐ 新機能
{
  "tool": "get_recent_launches",
  "arguments": {}
}
スペースデブリの追跡 ⭐ 新機能
{
  "tool": "get_space_debris",
  "arguments": {
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "searchRadius": 85
  }
}
衛星の軌道 ⭐ 新機能
{
  "tool": "get_satellite_trajectory",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "seconds": 600
  }
}

API の制限

N2YO は、以下の日次上限で無料の API アクセスを提供しています。

  • TLE リクエスト:1 日あたり 1,000 件
  • 位置リクエスト:1 日あたり 1,000 件
  • 可視通過:1 日あたり 100 件
  • 無線通過:1 日あたり 100 件 ⭐
  • 上空リクエスト:1 日あたり 100 件
  • 打ち上げ日時リクエスト:1 日あたり 100 件 ⭐

開発

# Watch mode for development
npm run dev

# Build for production
npm run build

# Start the server
npm start

人気の衛星

テストに使用できる、よく追跡されている衛星の例:

  • ISS:25544
  • ハッブル宇宙望遠鏡:20580
  • GPS 衛星:カテゴリー「gps」を使用
  • Starlink:カテゴリー「starlink」を使用
  • 気象衛星:カテゴリー「weather」を使用

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

ライセンス

MIT ライセンス — 詳細は LICENSE ファイルを参照してください。

関連リンク

コメント

MCP は初めてですか?

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

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