Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search, save, and download satellite scenes from ISRO's Bhoonidhi portal in natural language.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"bhoonidhi": {
"command": "uvx",
"args": [
"bhoonidhi-mcp"
]
}
}
}Run this in your terminal
claude mcp add bhoonidhi -- uvx bhoonidhi-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"bhoonidhi": {
"command": "uvx",
"args": [
"bhoonidhi-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"bhoonidhi": {
"type": "stdio",
"command": "uvx",
"args": [
"bhoonidhi-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account geovicco-dev, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server that lets an AI agent search, save, download, and cart satellite scenes from ISRO's Bhoonidhi Browse & Order portal (NRSC) in natural language. An agent can turn a sentence like "Sentinel-2 over Shillong last January" into a real search against the live portal, see honestly what is available to download, save a search to reuse later, preview what a download would fetch, and — once logged in — download open-access scenes or stage them to the cart.
It is a thin adapter over the bhoonidhi-downloader SDK — the same client the bhd CLI uses — so no portal logic is duplicated.
Search and save with no login; download and cart with one. The tools reach the full archive of 41 satellite missions and 79 sensors, search the live portal, and save searches to reusable slugs — all without credentials. Downloading open-access scenes and staging scenes to the Bhoonidhi cart need a login, done out of band with bhd auth login (the server reuses that session).
| Tool | What it does | Login |
|---|---|---|
list_archive | The vocabulary of satellites, sensors, and search tokens the portal supports, live from Bhoonidhi. | no |
resolve_location | Turns a place name ("Loktak Lake") into a centroid and bounding box. Rejects inputs that are not place names. | no |
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. | no |
preview_download | A dry run: shows what downloading the results would fetch, and what would be skipped, before anything is downloaded. | no |
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. | no |
list_queries | Lists saved queries as compact summaries: slug, name, date range, satellites, area, and availability. | no |
show_query | Returns one saved query by slug, with its scenes. | no |
remove_query | Deletes a saved query by slug. | no |
auth_status | Reports whether a login is configured. Never handles a password or token. | no |
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. | yes |
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. | no |
download_wait | Blocks until a download finishes (or a capped timeout), then reports — the efficient primitive a background watcher loops on. | no |
cart_add | Stages a saved query's scenes to the cart (routes each to ready / on-order / priced). | yes |
cart_list | Lists scenes currently staged in the cart. | yes |
cart_remove | Removes scenes from the cart. | yes |
Availability matters: an OpenData scene is not necessarily staged for download. search_scenes and preview_download distinguish Ready (fetch it now) from Archived (open data, but may need a request on the portal first), so an agent does not over-promise.
Downloads run in the background, independent of the conversation: download_query returns a job_id at once and the transfer proceeds on its own. Check progress once with download_status — it reports bytes downloaded, a transfer rate, and a percent once the size is known — or follow a job to completion with download_wait, which blocks until it finishes (or a capped timeout) so an agent can delegate a background watcher and keep the conversation free instead of sleep-looping. A job lives only as long as the server process, so once a download proves large the status recommends running a standalone bhd query download command you own instead.
The server is a Python package with a console entry point, bhoonidhi-mcp. The simplest way to run it is with uv — uvx fetches, builds, and launches it straight from the source, no clone or virtualenv needed:
uvx --from git+https://github.com/geovicco-dev/bhoonidhi-mcp bhoonidhi-mcp
The first run builds from source; later runs start from cache. The server speaks stdio and is launched by an MCP client — you point the client at that command.
Prefer a local checkout (for development)? Clone and uv sync, then use .venv/bin/bhoonidhi-mcp as the command instead:
git clone https://github.com/geovicco-dev/bhoonidhi-mcp
cd bhoonidhi-mcp uv sync
Every MCP client needs the same thing: the command to launch. Point it at uvx with the source and entry point as arguments.
claude_desktop_config.json (or claude mcp add):
{
"mcpServers": { "bhoonidhi": { "command": "uvx", "args": ["--from", "git+https://github.com/geovicco-dev/bhoonidhi-mcp", "bhoonidhi-mcp"] } } }
~/.config/opencode/opencode.json:
{
"mcp": { "bhoonidhi": { "type": "local", "command": ["uvx", "--from", "git+https://github.com/geovicco-dev/bhoonidhi-mcp", "bhoonidhi-mcp"], "enabled": true } } }
npx @modelcontextprotocol/inspector uvx --from git+https://github.com/geovicco-dev/bhoonidhi-mcp bhoonidhi-mcp
Ask an agent, in plain language:
"What Sentinel-2 scenes are over Shillong in January 2024, and how many can I
actually download?"
The agent calls resolve_location for Shillong, then search_scenes, and answers from the result — for example, that all scenes are *Archived* (open data, but each may need a request on the portal before it will download), rather than claiming they are all ready.
Copy these into any connected agent to get a feel for what it can do.
." ." ." and let me know when it's done — I'll keep working." to my cart."Search, saved queries, and previews need no credentials. Downloading scenes and staging them to the cart do. Log in once, out of band — the server reuses the same session the bhd CLI writes:
bhd auth login
The MCP server never takes a username or password as a tool argument, and auth_status never returns your token. For a headless setup with no interactive login, you can instead set BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD in the server's environment; the server reads them only to establish a session.
Set as environment variables (all optional):
| Variable | Default | Purpose |
|---|---|---|
BHOONIDHI_MCP_GEOCODER_USER_AGENT | bhoonidhi-mcp/0.3 | User-Agent sent to Nominatim (its usage policy asks for a descriptive one). |
BHOONIDHI_MCP_FUZZY_THRESHOLD | 88 | Score (0–100) a satellite-name match must clear to be confident; below it, candidates are returned for the agent to confirm. |
BHOONIDHI_MCP_MAX_RESULTS | 50 | Maximum scenes returned inline by search_scenes. |
BHOONIDHI_MCP_DOWNLOAD_ROOT | ~/Downloads | Allow-listed root every download writes under, as / /. The agent cannot choose an arbitrary path. |
BHOONIDHI_MCP_DOWNLOAD_PARALLEL | 4 | Parallel download workers. |
BHOONIDHI_MCP_LARGE_DOWNLOAD_MB | 500 | Once a download's live byte total (or known size) passes this, the status flags it large and steers the agent to hand off or run a standalone command. |
BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD | *(unset)* | Optional headless login. Prefer bhd auth login; fill these out of band, never commit them. |
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 here, nothing else. What the EULA asks of you:
uv sync
uv run pytest # test suite uv run ruff check . # lint
MIT — see LICENSE.