bhoonidhi-mcp
bhoonidhi-mcp
Сервер MCP, который позволяет ИИ-агенту искать, сохранять, скачивать и откладывать в корзину спутниковые сцены с портала Bhoonidhi Browse & Order (NRSC) на естественном языке. Агент может превратить фразу вроде «Sentinel-2 над Шиллонгом в прошлом январе» в реальный поиск по живому порталу, честно увидеть, что доступно для скачивания, сохранить поиск для повторного использования, посмотреть, что принесёт скачивание, и — после входа в систему — скачать сцены открытого доступа или отложить их в корзину.
Это тонкий адаптер над SDK bhoonidhi-downloader — тем же клиентом, который использует CLI bhd, — поэтому логика портала не дублируется.
Статус
Поиск и сохранение без входа; скачивание и корзина — со входом. Инструменты обращаются к полному архиву 41 спутниковой миссии и 79 сенсоров, ищут по живому порталу и сохраняют запросы в переиспользуемые slug — всё без учётных данных. Для скачивания сцен открытого доступа и добавления сцен в корзину Bhoonidhi требуется вход, который выполняется отдельно, с помощью bhd auth login (сервер переиспользует эту сессию).
Инструменты
Инструмент | Что делает | Вход |
| Словарь спутников, сенсоров и поисковых токенов, поддерживаемых порталом, в реальном времени с Bhoonidhi. | нет |
| Превращает название места («Loktak Lake») в центроид и ограничивающую рамку. Отклоняет входные данные, которые не являются названиями мест. | нет |
| Поиск сцен на естественном языке по области и диапазону дат. Приводит неформальное название спутника к точным токенам и сообщает доступность каждой сцены (Ready / Archived / OnOrder / Priced). Не хранит состояние — ничего не сохраняется. | нет |
| Сухой прогон: показывает, что принесёт скачивание результатов, а что будет пропущено, до начала скачивания. | нет |
| Сохраняет поисковый запрос (те же аргументы, что и | нет |
| Перечисляет сохранённые запросы в виде компактных сводок: slug, имя, диапазон дат, спутники, область и доступность. | нет |
| Возвращает один сохранённый запрос по slug и его сцены. | нет |
| Удаляет сохранённый запрос по slug. | нет |
| Сообщает, настроен ли вход. Никогда не обрабатывает пароль или токен. | нет |
| Скачивает сцены открытого доступа из сохранённого запроса в фоне, в фиксированный корневой каталог, заданный на сервере. Немедленно возвращает | да |
| Одноразовая проверка фонового скачивания по | нет |
| Блокирует выполнение до завершения скачивания (или предельного таймаута), затем сообщает результат — эффективный примитив, на котором фоновый наблюдатель строит цикл ожидания. | нет |
| Добавляет сцены сохранённого запроса в корзину (маршрутизирует каждую на ready / on-order / priced). | да |
| Перечисляет сцены, находящиеся в корзине. | да |
| Удаляет сцены из корзины. | да |
Доступность имеет значение: сцена OpenData не обязательно готова к скачиванию. search_scenes и preview_download различают Ready (можно скачать сейчас) и Archived (открытые данные, но на портале может потребоваться запрос), чтобы агент не обещал лишнего.
Скачивание выполняется в фоне, независимо от диалога: download_query сразу возвращает job_id, и передача продолжается сама. Проверьте прогресс один раз с помощью download_status — он сообщает скачанные байты, скорость передачи и процент, когда размер известен, — или доведите задачу до конца с помощью download_wait, который блокирует выполнение до завершения (или до предельного таймаута), чтобы агент мог поручить фоновому наблюдателю и продолжать разговор, а не крутиться в цикле ожидания. Задача живёт только пока жив процесс сервера, поэтому, если скачивание оказывается большим, статус рекомендует выполнить отдельную команду bhd query download <slug>, которая останется у вас.
Установка
Сервер — это Python-пакет с консольной точкой входа bhoonidhi-mcp. Установите его из исходников с помощью uv:
git clone https://github.com/geovicco-dev/bhoonidhi-mcp
cd bhoonidhi-mcp
uv syncЭта команда открывает bhoonidhi-mcp по пути .venv/bin/bhoonidhi-mcp. Сервер работает через stdio и запускается MCP-клиентом — вы указываете клиенту на эту команду.
Подключение клиента
Каждому MCP-клиенту нужно одно и то же: команда запуска. Используйте абсолютный путь к точке входа (надёжнее всего для GUI- и CLI-клиентов):
/path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcpClaude Desktop / Claude Code
claude_desktop_config.json (или 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 (чтобы попробовать без агента)
npx @modelcontextprotocol/inspector /path/to/bhoonidhi-mcp/.venv/bin/bhoonidhi-mcpПример
Спросите агента простым языком:
«Какие сцены Sentinel-2 есть над Шиллонгом за январь 2024, и сколько из них я реально могу скачать?»
Агент вызывает resolve_location для Шиллонга, затем search_scenes и отвечает по результатам — например, что все сцены имеют статус Archived (открытые данные, но каждая может потребовать запроса на портале перед скачиванием), а не утверждает, что все готовы.
Примеры запросов для проверки
Скопируйте их в любого подключённого агента, чтобы понять, что он умеет.
Изучение архива
«Какие спутники и сенсоры есть у Bhoonidhi?»
«Какие сенсоры установлены на ResourceSat-2A и с каким разрешением?»
«Есть ли у Bhoonidhi радиолокационные спутники?»
Поиск сцен
«Найди сцены Sentinel-2 над Шиллонгом за январь 2024.»
«Покажи снимки Cartosat в радиусе 20 км от Бенгалуру за первую половину 2024.»
«Есть ли сцены Sentinel-1 над Сундарбаном за март 2024?»
«Какие снимки Landsat-8 покрывают национальный парк Казиранга прошлой зимой?»
«Найди сцены MODIS над Качским Ранном за декабрь 2023.»
Проверка доступности для скачивания
«Из этих сцен Sentinel-2 сколько я могу скачать прямо сейчас?»
«Какие из них нужно заказать или оплатить?»
Предпросмотр скачивания
«Покажи, что принесёт скачивание этих сцен.»
Сохранение поиска для повторного использования
«Сохрани этот поиск Sentinel-2, чтобы скачать его позже.»
«Покажи мои сохранённые поиски.»
«Покажи, что в поиске, который я сохранил как .»
«Удали сохранённый поиск .»
Скачивание и корзина (нужен вход — см. ниже)
«Я вошёл в Bhoonidhi?»
«Скачай сцены открытого доступа из моего сохранённого поиска .»
«Как идёт скачивание?»
«Скачай и сообщи, когда закончишь, — я продолжу работать.»
«Добавь платные сцены из в мою корзину.»
«Что у меня в корзине на этой неделе?»
Вход (для скачивания и корзины)
Поиск, сохранённые запросы и предпросмотры не требуют учётных данных. Скачивание сцен и добавление их в корзину — требуют. Выполните вход один раз, вне MCP — сервер переиспользует ту же сессию, которую записывает CLI bhd:
bhd auth loginMCP-сервер никогда не принимает имя пользователя или пароль в качестве аргумента инструмента, и auth_status никогда не возвращает ваш токен. Для headless-установки без интерактивного входа можно вместо этого задать BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD в окружении сервера; сервер читает их только для установления сессии.
Конфигурация
Задаётся переменными окружения (все необязательные):
Variable | Default | Purpose |
|
| User-Agent, отправляемый в Nominatim (его политика использования просит указывать описательный User-Agent). |
|
| Оценка (0–100), которую должно набрать совпадение названия спутника, чтобы считаться уверенным; ниже неё кандидаты возвращаются агенту для подтверждения. |
|
| Максимум сцен, возвращаемых инлайн в |
|
| Разрешённый корневой каталог, под который записываются все скачивания: |
|
| Параллельные загрузчики. |
|
| Когда текущий общий объём скачивания (или известный размер) превышает это значение, статус помечает его как большой и направляет агента к передаче задачи или выполнению отдельной команды. |
| (не задано) | Необязательный headless-вход. Предпочтительно |
Разработка
uv sync
uv run pytest # test suite
uv run ruff check . # lintЛицензия
MIT — см. LICENSE.
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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