# bhoonidhi-mcp [Health: Active]

**Category:** 🚀 Aerospace & Astrodynamics  
**Repository:** https://github.com/geovicco-dev/bhoonidhi-mcp  
**GitHub Stars:** 3  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/bhoonidhi-mcp

## Description
Search, save, and download satellite scenes from ISRO's Bhoonidhi portal in natural language.

## Tools
Capabilities this server exposes over MCP:

- **list_archive** — The vocabulary of satellites, sensors, and search tokens the portal supports, live from Bhoonidhi.
- **resolve_location** — Turns a place name ("Loktak Lake") into a centroid and bounding box. Rejects inputs that are not place names.
- **search_scenes** — Natural-language scene search over an area and date range. Resolves a casual satellite name to exact tokens, and reports each scene's availability (Ready / Archived / OnOrder / Priced). Stateless — nothing is saved.
- **preview_download** — A dry run: shows what downloading the results would fetch, and what would be skipped, before anything is downloaded.
- **save_query** — Persists a search (same arguments as `search_scenes`) to a reusable slug, so it can be downloaded or staged to the cart later.
- **list_queries** — Lists saved queries as compact summaries: slug, name, date range, satellites, area, and availability.
- **show_query** — Returns one saved query by slug, with its scenes.
- **remove_query** — Deletes a saved query by slug.
- **auth_status** — Reports whether a login is configured. Never handles a password or token.
- **download_query** — Downloads a saved query's open-access scenes in the background, to a fixed server-configured root. Returns a `job_id` at once.
- **download_status** — One-off check of a background download by `job_id`: bytes downloaded, transfer rate, percent when the size is known, and per-scene detail.
- **download_wait** — Blocks until a download finishes (or a capped timeout), then reports — the efficient primitive a background watcher loops on.
- **cart_add** — Stages a saved query's scenes to the cart (routes each to ready / on-order / priced).
- **cart_list** — Lists scenes currently staged in the cart.
- **cart_remove** — Removes scenes from the cart.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "bhoonidhi-mcp": {
    "command": "uvx",
    "args": ["--from","git+https://github.com/geovicco-dev/bhoonidhi-mcp","bhoonidhi-mcp"]
  }
}
```

## Documentation

## What bhoonidhi-mcp does

The bhoonidhi-mcp MCP server gives an AI agent access to ISRO's Bhoonidhi Browse & Order portal through a Python MCP process. It covers archive discovery, geographic lookup, scene search, saved searches, download preparation, background transfers, and cart operations.

Searches can use ordinary descriptions such as a satellite name, place, and date range. The server matches casual satellite references to the portal's supported tokens and returns availability for each result. That distinction is important: a scene can be open data but still archived, while other scenes may be ready, on order, or priced.

The server is an adapter over the `bhoonidhi-downloader` SDK, which is also used by the `bhd` command-line client.

## How it works

`resolve_location` converts a place name into a centroid and bounding box, while rejecting inputs that are not place names. `list_archive` exposes the current satellite, sensor, and search vocabulary from Bhoonidhi. `search_scenes` then performs a stateless search over an area and date range; it does not persist results automatically.

A search can be stored with `save_query` under a reusable slug. `list_queries`, `show_query`, and `remove_query` manage those saved searches. `preview_download` provides a dry run that identifies scenes a download would fetch and scenes it would skip.

Downloads run as background jobs. `download_query` immediately returns a job ID for open-access scenes from a saved query. `download_status` reports transfer details, and `download_wait` waits for completion or a capped timeout. Cart tools route saved-query scenes according to their availability and can list or remove staged items.

## Setup and configuration

Install and launch the server with `uvx`:

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

The process communicates over stdio and is launched by an MCP client. A local checkout can instead be installed with `uv sync`, using `.venv/bin/bhoonidhi-mcp` as the command.

Searches, saved queries, previews, and archive inspection do not require credentials. Downloads and cart actions require a Bhoonidhi login. The documented setup is `bhd auth login`, which creates a session reused by the server. For headless use, `BHOONIDHI_USERNAME` and `BHOONIDHI_PASSWORD` can be provided to establish a session; credentials are not accepted as tool arguments.

Optional settings include `BHOONIDHI_MCP_GEOCODER_USER_AGENT`, `BHOONIDHI_MCP_FUZZY_THRESHOLD`, `BHOONIDHI_MCP_MAX_RESULTS`, and `BHOONIDHI_MCP_DOWNLOAD_ROOT`. The last setting controls the fixed root used for downloads.

## Tools and capabilities

The bhoonidhi-mcp MCP server exposes tools for:

- Discovering supported satellites, sensors, and search terms.
- Resolving named places to geographic search bounds.
- Searching scenes and reporting Ready, Archived, OnOrder, or Priced availability.
- Saving, listing, inspecting, and deleting reusable queries.
- Previewing download effects before fetching data.
- Starting, monitoring, and waiting for background downloads.
- Adding saved-query scenes to the cart, viewing cart contents, and removing items.
- Checking whether a Bhoonidhi login is configured without exposing its token.

## Limitations and notes

Download jobs live only while the server process is running. For large transfers, the status response recommends using a standalone `bhd query download <slug>` command that you control. Archived scenes may require a separate request through the Bhoonidhi portal before they become downloadable. The server reports this state rather than treating every open-data scene as immediately ready.

The server does not accept passwords or tokens through its MCP tools, and `auth_status` does not return authentication secrets. Search results are capped by the configured maximum, which defaults to 50 scenes returned inline.

_Full upstream README: https://allmcps.com/mcp/bhoonidhi-mcp/readme_

