Skip to main content
Glama

bhoonidhi-mcp

License: MIT

一个 MCP 服务器,让 AI 代理能够以自然语言从 ISRO 的 Bhoonidhi 浏览与订购门户(NRSC)搜索、保存、下载和加入购物车卫星影像。代理可以将诸如“去年一月在 Shillong 上空的 Sentinel-2”这样的句子转化为对实时门户的真实搜索,查看实际可下载的内容,保存搜索以便日后复用,预览下载会获取什么,并且——在登录后——下载开放获取的影像或将其加入购物车。

它是 bhoonidhi-downloader SDK 的一个轻量封装——与 bhd CLI 使用的是同一个客户端——因此不会重复实现任何门户逻辑。

状态

搜索和保存无需登录;下载和加入购物车需要登录。 这些工具可以访问 41 颗卫星任务和 79 个传感器的完整存档,搜索实时门户,并将搜索保存为可复用的 slug——所有这些都不需要凭据。下载开放获取影像以及将影像加入 Bhoonidhi 购物车需要登录,可通过 bhd auth login 在带外完成(服务器复用该会话)。

工具

工具

功能

需要登录

list_archive

门户支持的卫星、传感器和搜索词词汇表,实时获取自 Bhoonidhi。

resolve_location

将地名(如“Loktak Lake”)转换为质心和边界框。拒绝非地名的输入。

search_scenes

基于区域和日期范围的自然语言场景搜索。将非正式的卫星名称解析为精确的搜索词,并报告每个场景的可用性(Ready / Archived / OnOrder / Priced)。无状态——不保存任何内容。

preview_download

预演:显示下载这些结果会获取什么,以及在真正下载之前会跳过什么。

save_query

将搜索(参数与 search_scenes 相同)持久化为可复用的 slug,以便日后下载或加入购物车。

list_queries

以简洁摘要列出已保存的搜索:slug、名称、日期范围、卫星、区域和可用性。

show_query

按 slug 返回一个已保存的搜索及其场景。

remove_query

按 slug 删除一个已保存的搜索。

auth_status

报告是否已配置登录。绝不处理密码或令牌。

download_query

在后台下载一个已保存搜索的开放获取场景,保存到服务器配置的固定根目录下。立即返回一个 job_id

download_status

job_id 一次性检查后台下载的进度:已下载字节数、传输速率、已知大小时的百分比,以及每个场景的详细信息。

download_wait

阻塞直到下载完成(或达到超时上限),然后报告结果——这是后台监视器循环所依赖的高效原语。

cart_add

将一个已保存搜索的场景加入购物车(将每个场景路由到 ready / on-order / priced)。

cart_list

列出当前在购物车中的场景。

cart_remove

从购物车中移除场景。

可用性很重要:一个 OpenData 场景并不一定已经准备好下载。search_scenespreview_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

这会在 .venv/bin/bhoonidhi-mcp 暴露 bhoonidhi-mcp 命令。服务器通过 stdio 通信,由 MCP 客户端启动——你只需将客户端指向该命令即可。

连接客户端

每个 MCP 客户端都需要同样的东西:要启动的命令。请使用入口点的绝对路径(在 GUI 和 CLI 客户端中最可靠):

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

Claude 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

示例

用自然语言询问代理:

“2024 年 1 月 Shillong 上空有哪些 Sentinel-2 场景,其中有多少我可以实际下载?”

代理会先为 Shillong 调用 resolve_location,然后调用 search_scenes,并根据结果回答——例如,所有场景都是 Archived(开放数据,但每个场景可能需要在门户上先提交请求才能下载),而不是声称它们都已就绪。

可尝试的提示词

将这些复制到任何已连接的代理中,感受一下它的能力。

探索存档

  • “Bhoonidhi 有哪些卫星和传感器?”

  • “ResourceSat-2A 搭载了哪些传感器,分辨率是多少?”

  • “Bhoonidhi 有雷达卫星吗?”

搜索场景

  • “查找 2024 年 1 月 Shillong 上空的 Sentinel-2 场景。”

  • “显示 2024 年上半年 Bengaluru 周边 20 公里范围内的 Cartosat 影像。”

  • “2024 年 3 月 Sundarbans 上空有 Sentinel-1 场景吗?”

  • “去年冬天 Kaziranga 国家公园有哪些 Landsat-8 影像覆盖?”

  • “查找 2023 年 12 月 Kutch 荒漠上空的 MODIS 场景。”

检查可下载内容

  • “在这些 Sentinel-2 场景中,我现在实际能下载多少?”

  • “哪些场景需要订购或付费?”

预览下载

  • “预览下载这些场景会获取什么。”

保存搜索以便复用

  • “保存这个 Sentinel-2 搜索,以便我稍后下载。”

  • “列出我保存的搜索。”

  • “显示我保存为 的搜索内容。”

  • “删除我保存为 的搜索。”

下载和购物车(需要登录——见下文)

  • “我登录 Bhoonidhi 了吗?”

  • “下载我保存的搜索 中的开放数据场景。”

  • “那个下载进行得怎么样了?”

  • “下载 ,完成后告诉我——我会继续做别的事。”

  • “把 中的付费场景加入我的购物车。”

  • “这周我的购物车里有什么?”

登录(用于下载和购物车)

搜索、保存的查询和预览不需要任何凭据。下载场景和将其加入购物车则需要。只需在带外登录一次——服务器会复用 bhd CLI 写入的同一个会话:

bhd auth login

MCP 服务器绝不会将用户名或密码作为工具参数接收,auth_status 也绝不会返回你的令牌。对于无法进行交互式登录的无头环境,你可以在服务器的环境中设置 BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD;服务器仅读取它们以建立会话。

配置

通过环境变量设置(均为可选):

变量

默认值

用途

BHOONIDHI_MCP_GEOCODER_USER_AGENT

bhoonidhi-mcp/0.1

发送给 Nominatim 的 User-Agent(其使用政策要求提供描述性的 User-Agent)。

BHOONIDHI_MCP_FUZZY_THRESHOLD

88

卫星名称匹配必须达到的置信分数(0–100);低于此分数时,返回候选列表供代理确认。

BHOONIDHI_MCP_MAX_RESULTS

50

search_scenes 内联返回的最大场景数。

BHOONIDHI_MCP_DOWNLOAD_ROOT

~/Downloads

所有下载写入的允许根目录,路径为 <root>/<slug>/。代理不能选择任意路径。

BHOONIDHI_MCP_DOWNLOAD_PARALLEL

4

并行下载工作线程数。

BHOONIDHI_MCP_LARGE_DOWNLOAD_MB

500

一旦下载的实时字节总数(或已知大小)超过此值,状态会将其标记为大型下载,并引导代理移交任务或运行独立命令。

BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD

(未设置)

可选的无头登录。优先使用 bhd auth login;请在带外填写,切勿提交到版本库。

开发

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

许可证

MIT——参见 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