Skip to main content
Glama

bhoonidhi-mcp

Licencia: MIT

Un servidor MCP que permite a un agente de IA buscar, guardar, descargar y añadir al carrito escenas satelitales del portal Browse & Order de Bhoonidhi de ISRO (NRSC) en lenguaje natural. Un agente puede convertir una frase como "Sentinel-2 sobre Shillong el pasado enero" en una búsqueda real contra el portal en vivo, ver honestamente lo que está disponible para descargar, guardar una búsqueda para reutilizarla después, previsualizar lo que descargaría una descarga y — una vez iniciada la sesión — descargar escenas de acceso abierto o añadirlas al carrito.

Es un adaptador ligero sobre el bhoonidhi-downloader SDK — el mismo cliente que usa la CLI bhd — por lo que no se duplica lógica del portal.

Estado

Búsqueda y guardado sin inicio de sesión; descarga y carrito con uno. Las herramientas acceden al archivo completo de 41 misiones satelitales y 79 sensores, buscan en el portal en vivo y guardan búsquedas en slugs reutilizables — todo sin credenciales. Descargar escenas de acceso abierto y añadir escenas al carrito de Bhoonidhi requiere inicio de sesión, realizado fuera de banda con bhd auth login (el servidor reutiliza esa sesión).

Herramientas

Herramienta

Qué hace

Inicio de sesión

list_archive

El vocabulario de satélites, sensores y tokens de búsqueda que soporta el portal, en vivo desde Bhoonidhi.

no

resolve_location

Convierte un nombre de lugar ("Lago Loktak") en un centroide y una caja delimitadora. Rechaza entradas que no sean nombres de lugar.

no

search_scenes

Búsqueda de escenas en lenguaje natural sobre un área y un rango de fechas. Resuelve un nombre de satélite informal a tokens exactos, e informa la disponibilidad de cada escena (Lista / Archivada / Bajo pedido / Con precio). Sin estado: no se guarda nada.

no

preview_download

Una prueba en seco: muestra qué descargaría la descarga de los resultados y qué se omitiría, antes de descargar nada.

no

save_query

Persiste una búsqueda (mismos argumentos que search_scenes) en un slug reutilizable, para poder descargarla o añadirla al carrito más tarde.

no

list_queries

Lista las búsquedas guardadas como resúmenes compactos: slug, nombre, rango de fechas, satélites, área y disponibilidad.

no

show_query

Devuelve una búsqueda guardada por slug, con sus escenas.

no

remove_query

Elimina una búsqueda guardada por slug.

no

auth_status

Informa si hay una sesión configurada. Nunca maneja una contraseña o token.

no

download_query

Descarga las escenas de acceso abierto de una búsqueda guardada en segundo plano, a una raíz fija configurada en el servidor. Devuelve un job_id de inmediato.

download_status

Comprobación puntual de una descarga en segundo plano por job_id: bytes descargados, tasa de transferencia, porcentaje cuando se conoce el tamaño y detalle por escena.

no

download_wait

Bloquea hasta que una descarga termina (o un tiempo de espera máximo), y luego informa — el primitivo eficiente sobre el que un vigilante en segundo plano hace bucle.

no

cart_add

Añade las escenas de una búsqueda guardada al carrito (las enruta a lista / bajo pedido / con precio).

cart_list

Lista las escenas actualmente en el carrito.

cart_remove

Elimina escenas del carrito.

La disponibilidad importa: una escena OpenData no está necesariamente preparada para descargar. search_scenes y preview_download distinguen Lista (descárgala ahora) de Archivada (datos abiertos, pero puede requerir una solicitud en el portal primero), para que un agente no prometa de más.

Las descargas se ejecutan en segundo plano, independientes de la conversación: download_query devuelve un job_id de inmediato y la transferencia continúa por su cuenta. Comprueba el progreso una vez con download_status — informa bytes descargados, una tasa de transferencia y un porcentaje una vez que se conoce el tamaño — o sigue un trabajo hasta su finalización con download_wait, que bloquea hasta que termina (o un tiempo de espera máximo) para que un agente pueda delegar un vigilante en segundo plano y mantener la conversación libre en lugar de hacer bucles de espera. Un trabajo vive solo mientras dura el proceso del servidor, así que una vez que una descarga resulta grande, el estado recomienda ejecutar un comando independiente bhd query download <slug> que tú controlas.

Instalación

El servidor es un paquete de Python con un punto de entrada de consola, bhoonidhi-mcp. Instálalo desde el código fuente con uv:

git clone https://github.com/geovicco-dev/bhoonidhi-mcp
cd bhoonidhi-mcp
uv sync

Esto expone el comando bhoonidhi-mcp en .venv/bin/bhoonidhi-mcp. El servidor habla stdio y es lanzado por un cliente MCP — apuntas el cliente a ese comando.

Conexión de un cliente

Todo cliente MCP necesita lo mismo: el comando para lanzar. Usa la ruta absoluta al punto de entrada (la más fiable entre clientes GUI y CLI):

/path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcp

Claude Desktop / Claude Code

claude_desktop_config.json (o 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 (para probarlo sin un agente)

npx @modelcontextprotocol/inspector /path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcp

Ejemplo

Pídele a un agente, en lenguaje sencillo:

"¿Qué escenas de Sentinel-2 hay sobre Shillong en enero de 2024, y cuántas puedo descargar realmente?"

El agente llama a resolve_location para Shillong, luego a search_scenes, y responde a partir del resultado — por ejemplo, que todas las escenas están Archivadas (datos abiertos, pero cada una puede requerir una solicitud en el portal antes de descargar), en lugar de afirmar que todas están listas.

Sugerencias para probar

Copia estas en cualquier agente conectado para hacerte una idea de lo que puede hacer.

Descubre el archivo

  • "¿Qué satélites y sensores tiene Bhoonidhi?"

  • "¿Qué sensores lleva ResourceSat-2A y a qué resolución?"

  • "¿Tiene Bhoonidhi algún satélite de radar?"

Busca escenas

  • "Encuentra escenas de Sentinel-2 sobre Shillong en enero de 2024."

  • "Muéstrame imágenes de Cartosat dentro de 20 km de Bengaluru en la primera mitad de 2024."

  • "¿Hay escenas de Sentinel-1 sobre los Sundarbans en marzo de 2024?"

  • "¿Qué imágenes de Landsat-8 cubren el Parque Nacional de Kaziranga el invierno pasado?"

  • "Encuentra escenas de MODIS sobre el Rann de Kutch en diciembre de 2023."

Comprueba qué está disponible para descargar

  • "De esas escenas de Sentinel-2, ¿cuántas puedo descargar realmente ahora mismo?"

  • "¿Cuáles de estas necesitan pedirse o pagarse?"

Previsualiza una descarga

  • "Previsualiza qué descargaría la descarga de esas escenas."

Guarda una búsqueda para reutilizar

  • "Guarda esa búsqueda de Sentinel-2 para poder descargarla más tarde."

  • "Lista mis búsquedas guardadas."

  • "Muéstrame qué hay en la búsqueda que guardé como ."

  • "Elimina la búsqueda guardada ."

Descarga y carrito (requiere inicio de sesión — ver más abajo)

  • "¿He iniciado sesión en Bhoonidhi?"

  • "Descarga las escenas de datos abiertos de mi búsqueda guardada ."

  • "¿Cómo va esa descarga?"

  • "Descarga y avísame cuando termine — seguiré trabajando."

  • "Añade las escenas con precio de a mi carrito."

  • "¿Qué hay en mi carrito esta semana?"

Inicio de sesión (para descargas y carrito)

La búsqueda, las búsquedas guardadas y las previsualizaciones no necesitan credenciales. Descargar escenas y añadirlas al carrito sí. Inicia sesión una vez, fuera de banda — el servidor reutiliza la misma sesión que escribe la CLI bhd:

bhd auth login

El servidor MCP nunca toma un nombre de usuario o contraseña como argumento de herramienta, y auth_status nunca devuelve tu token. Para una configuración sin cabeza sin inicio de sesión interactivo, puedes en su lugar establecer BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD en el entorno del servidor; el servidor los lee solo para establecer una sesión.

Configuración

Establece como variables de entorno (todas opcionales):

Variable

Valor por defecto

Propósito

BHOONIDHI_MCP_GEOCODER_USER_AGENT

bhoonidhi-mcp/0.1

User-Agent enviado a Nominatim (su política de uso pide uno descriptivo).

BHOONIDHI_MCP_FUZZY_THRESHOLD

88

Puntuación (0–100) que debe superar una coincidencia de nombre de satélite para ser confiable; por debajo, se devuelven candidatos para que el agente confirme.

BHOONIDHI_MCP_MAX_RESULTS

50

Máximo de escenas devueltas en línea por search_scenes.

BHOONIDHI_MCP_DOWNLOAD_ROOT

~/Downloads

Raíz permitida bajo la que se escribe cada descarga, como <root>/<slug>/. El agente no puede elegir una ruta arbitraria.

BHOONIDHI_MCP_DOWNLOAD_PARALLEL

4

Trabajadores de descarga en paralelo.

BHOONIDHI_MCP_LARGE_DOWNLOAD_MB

500

Una vez que el total de bytes en vivo (o el tamaño conocido) de una descarga supera esto, el estado la marca como grande y orienta al agente a delegar o ejecutar un comando independiente.

BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD

(sin establecer)

Inicio de sesión sin cabeza opcional. Prefiere bhd auth login; rellénalos fuera de banda, nunca los confirmes.

Desarrollo

uv sync
uv run pytest        # test suite
uv run ruff check .  # lint

Licencia

MIT — ver LICENSE.

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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