bhoonidhi-mcp
bhoonidhi-mcp
AI エージェントが ISRO の Bhoonidhi Browse & Order ポータル(NRSC)の衛星シーンを自然言語で検索・保存・ダウンロード・カート追加できるようにする MCP サーバーです。エージェントは「先月のシロン周辺の Sentinel-2」のような文を、ライブポータルに対する実際の検索に変え、ダウンロード可能なものを正直に確認し、検索を保存して後で再利用し、ダウンロードで何が取得されるかをプレビューし、ログイン後はオープンアクセスのシーンをダウンロードしたりカートに追加したりできます。
これは bhoonidhi-downloader SDK(bhd CLI が使うのと同じクライアント)の薄いアダプターであるため、ポータルロジックの重複はありません。
ステータス
ログインなしで検索と保存、ログインありでダウンロードとカート。 ツールは41の衛星ミッションと79のセンサーからなる全アーカイブに到達し、ライブポータルを検索し、検索を再利用可能なスラッグに保存します。これらはすべて認証なしで行えます。オープンアクセスシーンのダウンロードと Bhoonidhi カートへの追加にはログインが必要で、bhd auth login で帯域外に行います(サーバーはそのセッションを再利用します)。
ツール
ツール | 説明 | ログイン |
| ポータルがサポートする衛星・センサー・検索トークンの語彙を、Bhoonidhi からライブで取得します。 | 不要 |
| 地名("Loktak Lake")を重心点とバウンディングボックスに変換します。地名でない入力は拒否します。 | 不要 |
| エリアと日付範囲に対する自然言語でのシーン検索です。カジュアルな衛星名を正確なトークンに解決し、各シーンの利用可否(Ready / Archived / OnOrder / Priced)を報告します。ステートレスで、何も保存しません。 | 不要 |
| ドライランです。ダウンロード前に、結果のダウンロードで取得されるものとスキップされるものを表示します。 | 不要 |
| 検索( | 不要 |
| 保存済みクエリを、スラッグ、名前、日付範囲、衛星、エリア、利用可否のコンパクトな要約として一覧表示します。 | 不要 |
| スラッグで指定した保存済みクエリを、そのシーンとともに返します。 | 不要 |
| スラッグで指定した保存済みクエリを削除します。 | 不要 |
| ログインが設定されているかどうかを報告します。パスワードやトークンを扱うことはありません。 | 不要 |
| 保存済みクエリのオープンアクセスシーンを、サーバー設定の固定ルートにバックグラウンドでダウンロードします。すぐに | 必要 |
|
| 不要 |
| ダウンロードが完了するまで(または上限タイムアウトまで)ブロックしてから報告します。バックグラウンドウォッチャーがループする効率的なプリミティブです。 | 不要 |
| 保存済みクエリのシーンをカートに追加します(それぞれを ready / on-order / priced に振り分けます)。 | 必要 |
| 現在カートに追加されているシーンを一覧表示します。 | 必要 |
| カートからシーンを削除します。 | 必要 |
可用性は重要です。OpenData シーンが必ずしもダウンロード用にステージングされているとは限りません。search_scenes と preview_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-mcpClaude 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 loginMCP サーバーはツールの引数としてユーザー名やパスワードを受け取ることはなく、auth_status がトークンを返すこともありません。対話的なログインがないヘッドレスセットアップの場合は、代わりにサーバーの環境変数 BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD を設定できます。サーバーはセッションを確立するためだけにこれらを読み取ります。
設定
環境変数として設定します(すべてオプションです)。
変数 | デフォルト | 目的 |
|
| Nominatim に送信する User-Agent です(利用規約で説明的なものを求められています)。 |
|
| 衛星名の一致が確信を持てるためにクリアすべきスコア(0〜100)です。これを下回る場合は、エージェントが確認するための候補が返されます。 |
|
|
|
|
| すべてのダウンロードの書き込み先となる許可リスト化されたルートで、 |
|
| 並列ダウンロードのワーカー数です。 |
|
| ダウンロードのライブバイト合計(または既知のサイズ)がこれを超えると、ステータスはそれを大規模とフラグし、エージェントに引き継ぎまたはスタンドアロンコマンドの実行を促します。 |
| (未設定) | オプションのヘッドレスログインです。 |
開発
uv sync
uv run pytest # test suite
uv run ruff check . # lintライセンス
MIT — LICENSE を参照してください。
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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