Skip to main content
Glama

bhoonidhi-mcp

License: MIT

AI エージェントが ISRO の Bhoonidhi Browse & Order ポータル(NRSC)の衛星シーンを自然言語で検索・保存・ダウンロード・カート追加できるようにする MCP サーバーです。エージェントは「先月のシロン周辺の Sentinel-2」のような文を、ライブポータルに対する実際の検索に変え、ダウンロード可能なものを正直に確認し、検索を保存して後で再利用し、ダウンロードで何が取得されるかをプレビューし、ログイン後はオープンアクセスのシーンをダウンロードしたりカートに追加したりできます。

これは bhoonidhi-downloader SDK(bhd CLI が使うのと同じクライアント)の薄いアダプターであるため、ポータルロジックの重複はありません。

ステータス

ログインなしで検索と保存、ログインありでダウンロードとカート。 ツールは41の衛星ミッションと79のセンサーからなる全アーカイブに到達し、ライブポータルを検索し、検索を再利用可能なスラッグに保存します。これらはすべて認証なしで行えます。オープンアクセスシーンのダウンロードと Bhoonidhi カートへの追加にはログインが必要で、bhd auth login で帯域外に行います(サーバーはそのセッションを再利用します)。

ツール

ツール

説明

ログイン

list_archive

ポータルがサポートする衛星・センサー・検索トークンの語彙を、Bhoonidhi からライブで取得します。

不要

resolve_location

地名("Loktak Lake")を重心点とバウンディングボックスに変換します。地名でない入力は拒否します。

不要

search_scenes

エリアと日付範囲に対する自然言語でのシーン検索です。カジュアルな衛星名を正確なトークンに解決し、各シーンの利用可否(Ready / Archived / OnOrder / Priced)を報告します。ステートレスで、何も保存しません。

不要

preview_download

ドライランです。ダウンロード前に、結果のダウンロードで取得されるものとスキップされるものを表示します。

不要

save_query

検索(search_scenes と同じ引数)を再利用可能なスラッグに保存し、後でダウンロードやカートへの追加ができるようにします。

不要

list_queries

保存済みクエリを、スラッグ、名前、日付範囲、衛星、エリア、利用可否のコンパクトな要約として一覧表示します。

不要

show_query

スラッグで指定した保存済みクエリを、そのシーンとともに返します。

不要

remove_query

スラッグで指定した保存済みクエリを削除します。

不要

auth_status

ログインが設定されているかどうかを報告します。パスワードやトークンを扱うことはありません。

不要

download_query

保存済みクエリのオープンアクセスシーンを、サーバー設定の固定ルートにバックグラウンドでダウンロードします。すぐに job_id を返します。

必要

download_status

job_id によるバックグラウンドダウンロードの1回限りの確認です。ダウンロード済みバイト数、転送レート、サイズが判明している場合はパーセント、シーンごとの詳細を報告します。

不要

download_wait

ダウンロードが完了するまで(または上限タイムアウトまで)ブロックしてから報告します。バックグラウンドウォッチャーがループする効率的なプリミティブです。

不要

cart_add

保存済みクエリのシーンをカートに追加します(それぞれを ready / on-order / priced に振り分けます)。

必要

cart_list

現在カートに追加されているシーンを一覧表示します。

必要

cart_remove

カートからシーンを削除します。

必要

可用性は重要です。OpenData シーンが必ずしもダウンロード用にステージングされているとは限りません。search_scenespreview_download は、Ready(今すぐ取得)と Archived(オープンデータだが、最初にポータルでのリクエストが必要な場合がある)を区別するため、エージェントが過剰に約束することはありません。

ダウンロードは会話とは独立してバックグラウンドで実行されます。download_query はすぐに job_id を返し、転送は自動的に進行します。download_status で進行状況を一度確認できます(ダウンロード済みバイト数、転送レート、サイズが判明している場合はパーセントを報告)。または、download_wait でジョブの完了を待つこともできます。これは、完了するまで(または上限タイムアウトまで)ブロックするため、エージェントはスリープループする代わりにバックグラウンドウォッチャーに委任して会話を続行できます。ジョブはサーバープロセスが存在する間だけ有効です。そのため、ダウンロードが大きくなった場合、ステータスは、代わりにスタンドアロンの bhd query download <slug> コマンドを実行することを推奨します。

インストール

サーバーはコンソールエントリポイント bhoonidhi-mcp を持つ Python パッケージです。uv を使用してソースからインストールします。

git clone https://github.com/geovicco-dev/bhoonidhi-mcp
cd bhoonidhi-mcp
uv sync

これにより、bhoonidhi-mcp コマンドが .venv/bin/bhoonidhi-mcp に公開されます。サーバーは stdio を話し、MCP クライアントによって起動されます。クライアントをそのコマンドに向けます。

クライアントの接続

すべての MCP クライアントが必要とするものは同じです。起動するコマンドです。エントリポイントへの絶対パスを使用してください(GUI クライアントと CLI クライアントの両方で最も信頼性が高いです)。

/path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcp

Claude Desktop / Claude Code

claude_desktop_config.json(または claude mcp add):

{
  "mcpServers": {
    "bhoonidhi": {
      "command": "/path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcp",
      "args": []
    }
  }
}

OpenCode

~/.config/opencode/opencode.json:

{
  "mcp": {
    "bhoonidhi": {
      "type": "local",
      "command": ["/path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcp"],
      "enabled": true
    }
  }
}

MCP Inspector(エージェントなしで試す場合)

npx @modelcontextprotocol/inspector /path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcp

エージェントに平易な言葉で尋ねます。

「2024年1月のシロン周辺の Sentinel-2 シーンは何件あり、実際にダウンロードできるのは何件ですか?」

エージェントは resolve_location をシロンに対して呼び出し、次に search_scenes を呼び出して、結果から回答します。たとえば、すべてのシーンが Archived(オープンデータだが、ダウンロード前にポータルでのリクエストが必要な場合がある)であると、すべて準備完了であると主張するのではなく報告します。

試すプロンプト

接続されているエージェントにコピーして、何ができるかを確認してください。

アーカイブを調べる

  • 「Bhoonidhi にはどのような衛星とセンサーがありますか?」

  • 「ResourceSat-2A にはどのセンサーが搭載され、解像度はどれくらいですか?」

  • 「Bhoonidhi にレーダー衛星はありますか?」

シーンを検索する

  • 「2024年1月のシロン周辺の Sentinel-2 シーンを探してください。」

  • 「2024年上半期のベンガルールから20km以内の Cartosat 画像を表示してください。」

  • 「2024年3月のシュンダルバン周辺の Sentinel-1 シーンはありますか?」

  • 「昨年の冬にカジランガ国立公園をカバーする Landsat-8 画像はどれですか?」

  • 「2023年12月のカッチ大湿原周辺の MODIS シーンを探してください。」

ダウンロード可能なものを確認する

  • 「それらの Sentinel-2 シーンのうち、今すぐ実際にダウンロードできるのは何件ですか?」

  • 「これらのうち、注文または有料が必要なものはどれですか?」

ダウンロードをプレビューする

  • 「それらのシーンをダウンロードすると何が取得されるかプレビューしてください。」

再利用する検索を保存する

  • 「後でダウンロードできるように、その Sentinel-2 検索を保存してください。」

  • 「保存した検索を一覧表示してください。」

  • として保存した検索の内容を表示してください。」

  • 「保存した検索 を削除してください。」

ダウンロードとカート(ログインが必要です。下記参照)

  • 「Bhoonidhi にログインしていますか?」

  • 「保存した検索 からオープンデータのシーンをダウンロードしてください。」

  • 「そのダウンロードはどうなっていますか?」

  • をダウンロードして、完了したら知らせてください。作業を続けます。」

  • の有料シーンをカートに追加してください。」

  • 「今週のカートの中身は何ですか?」

ログイン(ダウンロードとカート用)

検索、保存済みクエリ、プレビューには認証情報は必要ありません。シーンのダウンロードとカートへの追加には必要です。帯域外で一度ログインしてください。サーバーは bhd CLI が書き込むのと同じセッションを再利用します。

bhd auth login

MCP サーバーはツールの引数としてユーザー名やパスワードを受け取ることはなく、auth_status がトークンを返すこともありません。対話的なログインがないヘッドレスセットアップの場合は、代わりにサーバーの環境変数 BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD を設定できます。サーバーはセッションを確立するためだけにこれらを読み取ります。

設定

環境変数として設定します(すべてオプションです)。

変数

デフォルト

目的

BHOONIDHI_MCP_GEOCODER_USER_AGENT

bhoonidhi-mcp/0.1

Nominatim に送信する User-Agent です(利用規約で説明的なものを求められています)。

BHOONIDHI_MCP_FUZZY_THRESHOLD

88

衛星名の一致が確信を持てるためにクリアすべきスコア(0〜100)です。これを下回る場合は、エージェントが確認するための候補が返されます。

BHOONIDHI_MCP_MAX_RESULTS

50

search_scenes がインラインで返すシーンの最大数です。

BHOONIDHI_MCP_DOWNLOAD_ROOT

~/Downloads

すべてのダウンロードの書き込み先となる許可リスト化されたルートで、<root>/<slug>/ として使われます。エージェントが任意のパスを選ぶことはできません。

BHOONIDHI_MCP_DOWNLOAD_PARALLEL

4

並列ダウンロードのワーカー数です。

BHOONIDHI_MCP_LARGE_DOWNLOAD_MB

500

ダウンロードのライブバイト合計(または既知のサイズ)がこれを超えると、ステータスはそれを大規模とフラグし、エージェントに引き継ぎまたはスタンドアロンコマンドの実行を促します。

BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD

(未設定)

オプションのヘッドレスログインです。bhd auth login を推奨します。帯域外で設定し、コミットしないでください。

開発

uv sync
uv run pytest        # test suite
uv run ruff check .  # lint

ライセンス

MIT — LICENSE を参照してください。

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server for Mireye Earth — federal-source-cited geospatial data for any MCP-aware agent.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for Japan geodata: cadastral lot numbers (chiban) and reverse geocoding, for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/geovicco-dev/bhoonidhi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server