Model Context Protocol server

Search ISRO's satellite archive in plain language.

An MCP server that lets an AI agent search ISRO's Bhoonidhi archive in plain language, download the scenes that are ready, and stage the rest to your cart.

$uvx --from git+https://github.com/geovicco-dev/bhoonidhi-mcp bhoonidhi-mcp
Watch it run
41 missions · 79 sensors 15 tools
What it does

The portal wants exact tokens. You write a sentence.

Searching the old way means knowing the satellite token, the bounding box, and the date format up front. bhoonidhi-mcp lets the agent fill those in from what you said.

Command line — you supply every argument
# you need the exact SAT:SEN:PROD token and bounding box first bhd query create 2024-01-01 2024-01-14 \ --sat "ResourceSat-2A:LISS3" \ --minx 91.72 --maxx 92.04 \ --miny 25.42 --maxy 25.74
With bhoonidhi-mcp — you state intent
Find ResourceSat-2A scenes over Shillong from the first two weeks of January 2024.

The agent resolves “Shillong” to a bounding box, matches “ResourceSat-2A” to the portal’s platform tokens, and runs the live search — then reports which results are actually downloadable.

Watch it run

The whole job, as a chat.

One conversation covers it end to end: search and find open data, download the scenes that are ready, stage priced or on-order scenes to your cart, and check a saved search for anything new. Pick a flow — the agent calls the tools, and the JSON they return is what this page turns into the map and summary on the right.

PICK A FLOW
Visualized by this page
ReadyArchived On orderPriced

The server returns structured JSON — scene coordinates and availability — not a picture. The map and summary here are this page's illustration of that data. Satellite names, tokens, and coordinates are real; scene IDs and counts are representative of a live query.

The tools

Fifteen tools, grouped by what they do.

Each is a thin wrapper over the same client the bhd command line uses. Search, preview, and saving a search are open to anyone. Downloading and cart use your own Bhoonidhi login — never this project's.

SEARCH & DISCOVER · open to all

Find scenes

list_archiveEvery satellite, sensor, and search token the portal supports.
resolve_locationTurn a place name into a bounding box.
search_scenesSearch by area and dates; each scene comes back tagged by availability.
preview_downloadSee what a download would fetch before you commit.
SAVE & REUSE · open to all

Keep a search

save_querySave a search under a short slug to act on later.
list_queriesSee your saved searches at a glance.
show_queryOpen one saved search and its scenes.
remove_queryDelete a saved search.
DOWNLOAD & CART · your Bhoonidhi login

Fetch or stage

auth_statusCheck whether you're logged in — nothing more.
download_queryDownload the ready scenes in the background.
download_statusCheck a running download once.
download_waitFollow a download until it finishes.
cart_addSend priced or on-order scenes to your cart.
cart_listSee what's in the cart.
cart_removeTake scenes back out of the cart.
Configure your client

Point any MCP client at one command.

bhoonidhi-mcp runs over stdio: the client launches it as a subprocess and talks over stdin and stdout. Every setup comes down to “run this command.”

Your login stays yours

You log in to Bhoonidhi yourself, outside the agent — with bhd auth login in your terminal, or credentials in the server's environment. Your password never reaches the agent. All it can check is whether a valid session exists, through auth_status.

How it's built

An adapter over the bhoonidhi-downloader SDK.

bhoonidhi-mcp does not talk to the portal directly. It calls the same client the bhd command line uses, so there is one place where portal logic lives.

Foundation

bhoonidhi-downloader

The SDK and bhd CLI: portal grammar, satellite tokens, availability classification, and downloads. bhoonidhi-mcp depends on it.

Python · CLI · the source of truth
This project

bhoonidhi-mcp

Turns natural language into structured portal queries and shapes the results for an agent. It adds the geocoder and the fuzzy satellite matching — nothing about the portal itself.

MCP · stdio · live search, save, download, cart

Availability is reported honestly. The server classifies every scene the same way the CLI does — Ready, Archived, On order, or Priced — so an agent can tell you what you can actually download before you try, instead of guessing from the scene name.

Why it exists. The Indian Space Policy 2023 opened much of ISRO's Earth-observation archive for everyone to use. Having built the bhd CLI and SDK to reach that open data from code, I wanted to take it a step further — so an agent could reach it from plain conversation too. The sole motive is to make this data easier to access and to put it within reach of anyone working with Indian Earth observation data; the roadmap follows what people actually need.

Data usage & attribution

The imagery reached through this server belongs to ISRO/NRSC and is governed by the Bhoonidhi EULA, not by this project's MIT license — that license covers the code, nothing else. You download with your own Bhoonidhi account; open data is free to use, publish, and build on, but the original products can't be redistributed commercially in their original form, and priced or on-order scenes are completed on the portal. Anything you publish from the data must credit it as ISRO-IRS.

Get started

Run it with one command, wire your client, ask a question.

$uvx --from git+https://github.com/geovicco-dev/bhoonidhi-mcp bhoonidhi-mcp

Needs uv. The first run fetches and builds from source; later runs start from cache.