Theme · Light field guide ← Dark
01 · MCP server

Search ISRO's satellite archive in plain language.

bhoonidhi-mcp lets an AI agent turn a sentence into a real search against ISRO's Bhoonidhi Earth-observation portal. Read-only, and no login required.

$pip install bhoonidhi-mcp
Watch it run
Phase 1 · read-only No login required 41 satellites in the archive MIT licensed
02 · 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 token and bounding box first bhd query create 2024-01-01 2024-01-14 \ --sat "Sentinel-2A_MSI_Level-1C" \ --minx 91.72 --maxx 92.04 \ --miny 25.42 --maxy 25.74
With bhoonidhi-mcp — you state intent
Find Sentinel-2 scenes over Shillong from the first two weeks of January 2024.

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

03 · Watch it run

An agent calls the tools against the live portal.

Pick a prompt. The tool calls resolve step by step, and each scene the portal returns is plotted on the map, coloured by whether you can download it.

FIELD LOG · EXAMPLE SESSION
LOCATION
ReadyArchived On orderPriced

Satellite names, tokens, availability labels, and place coordinates are real. Scene IDs and per-scene counts are representative of a live query.

04 · The tools

Three tools the agent calls in order.

Each one is a thin adapter over the same client the bhd command line uses. No portal logic is duplicated.

i

list_archive

The satellites and sensors the portal supports, with their exact search tokens, resolution, and date coverage.

in  refresh: false
out { satellites: […41…] }
ii

resolve_location

A place name becomes a centroid and a bounding box for the search. Returns found: false when it can’t resolve the place, rather than guessing.

in  name: "Shillong"
out { lat, lon, bbox }
iii

search_scenes

A casual satellite name, ISO dates, and an area — matched to exact tokens and run against the live portal without saving anything.

in  satellite, dates, bbox
out { scenes, availability }
05 · 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.”

06 · 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, read-only search

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.

07 · Get started

Install it, wire your client, ask a question.

$pip install bhoonidhi-mcp