bhoonidhi-mcp
bhoonidhi-mcp
AI 에이전트가 ISRO의 Bhoonidhi Browse & Order 포털(NRSC)에서 위성 장면을 자연어로 검색, 저장, 다운로드, 장바구니에 담을 수 있게 해주는 MCP 서버입니다. 에이전트는 "지난 1월 실롱 위의 Sentinel-2" 같은 문장을 실제 포털에 대한 실제 검색으로 바꾸고, 다운로드 가능한 항목을 정직하게 확인하며, 나중에 재사용할 검색을 저장하고, 다운로드가 가져올 내용을 미리 보고, 로그인 후에는 오픈 액세스 장면을 다운로드하거나 장바구니에 단계적으로 담을 수 있습니다.
이것은 bhoonidhi-downloader SDK( bhd CLI가 사용하는 것과 동일한 클라이언트) 위의 얇은 어댑터이므로 포털 로직이 중복되지 않습니다.
상태
로그인 없이 검색 및 저장, 로그인으로 다운로드 및 장바구니. 이 도구는 41개 위성 임무와 79개 센서의 전체 아카이브에 도달하고, 실시간 포털을 검색하며, 재사용 가능한 슬러그로 검색을 저장합니다 — 모두 자격 증명 없이 가능합니다. 오픈 액세스 장면 다운로드 및 Bhoonidhi 장바구니에 장면 단계적 추가는 로그인이 필요하며, bhd auth login으로 대역 외에서 수행됩니다(서버는 해당 세션을 재사용합니다).
도구
도구 | 기능 | 로그인 |
| 포털이 지원하는 위성, 센서, 검색 토큰의 어휘를 Bhoonidhi에서 실시간으로 제공합니다. | 아니요 |
| 장소 이름("로크타크 호수")을 중심점과 경계 상자로 변환합니다. 장소 이름이 아닌 입력은 거부합니다. | 아니요 |
| 지역 및 날짜 범위에 대한 자연어 장면 검색. 캐주얼한 위성 이름을 정확한 토큰으로 해석하고, 각 장면의 가용성(Ready / Archived / OnOrder / Priced)을 보고합니다. 상태 비저장 — 저장되지 않습니다. | 아니요 |
| 드라이 런: 다운로드가 가져올 내용과 건너뛸 내용을 다운로드 전에 보여줍니다. | 아니요 |
| 검색( | 아니요 |
| 저장된 쿼리를 간결한 요약으로 나열합니다: 슬러그, 이름, 날짜 범위, 위성, 지역, 가용성. | 아니요 |
| 슬러그로 저장된 쿼리 하나를 장면과 함께 반환합니다. | 아니요 |
| 슬러그로 저장된 쿼리를 삭제합니다. | 아니요 |
| 로그인이 구성되었는지 보고합니다. 비밀번호나 토큰을 절대 처리하지 않습니다. | 아니요 |
| 저장된 쿼리의 오픈 액세스 장면을 서버 구성 루트 아래에 백그라운드로 다운로드합니다. 즉시 | 예 |
|
| 아니요 |
| 다운로드가 완료될 때까지(또는 상한 시간 초과) 차단한 후 보고 — 백그라운드 감시자가 반복하는 효율적인 기본 요소. | 아니요 |
| 저장된 쿼리의 장면을 장바구니에 단계적으로 추가합니다(각각 ready / on-order / priced로 라우팅). | 예 |
| 현재 장바구니에 단계적으로 추가된 장면을 나열합니다. | 예 |
| 장바구니에서 장면을 제거합니다. | 예 |
가용성이 중요합니다: OpenData 장면이 반드시 다운로드용으로 준비된 것은 아닙니다. search_scenes와 preview_download는 Ready(지금 가져오기)와 Archived(오픈 데이터이지만 포털에서 먼저 요청이 필요할 수 있음)를 구분하므로 에이전트가 과장하지 않습니다.
다운로드는 대화와 독립적으로 백그라운드에서 실행됩니다: download_query는 즉시 job_id를 반환하고 전송은 자체적으로 진행됩니다. download_status로 한 번 진행 상황을 확인하거나(다운로드된 바이트, 전송 속도, 크기를 알면 백분율 보고) download_wait로 작업 완료를 따를 수 있습니다. 이는 완료될 때까지(또는 상한 시간 초과) 차단하므로 에이전트가 백그라운드 감시자를 위임하고 대화를 자유롭게 유지할 수 있습니다(수면 루프 대신). 작업은 서버 프로세스가 살아있는 동안만 존재하므로, 다운로드가 크다는 것이 입증되면 상태는 독립 실행형 bhd query download <slug> 명령을 실행하도록 권장합니다.
설치
서버는 콘솔 진입점 bhoonidhi-mcp가 있는 Python 패키지입니다. 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-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예시
에이전트에게 평이한 언어로 물어보세요:
"2024년 1월 실롱 위의 Sentinel-2 장면은 무엇이며, 실제로 다운로드할 수 있는 것은 몇 개인가요?"
에이전트는 실롱에 대해 resolve_location을 호출한 다음 search_scenes를 호출하고 결과에서 답합니다 — 예를 들어 모든 장면이 Archived(오픈 데이터이지만 각각 다운로드 전에 포털에서 요청이 필요할 수 있음)라고 말하는 대신 모두 준비되었다고 주장하지 않습니다.
시도할 프롬프트
연결된 에이전트에 복사하여 무엇을 할 수 있는지 느껴보세요.
아카이브 탐색
"Bhoonidhi에는 어떤 위성과 센서가 있나요?"
"ResourceSat-2A는 어떤 센서를 탑재하고 있으며, 해상도는 얼마인가요?"
"Bhoonidhi에 레이더 위성이 있나요?"
장면 검색
"2024년 1월 실롱 위의 Sentinel-2 장면을 찾아주세요."
"2024년 상반기 벵갈루루에서 20km 이내의 Cartosat 이미지를 보여주세요."
"2024년 3월 순다르반스 위의 Sentinel-1 장면이 있나요?"
"지난 겨울 카지랑가 국립공원을 덮는 Landsat-8 이미지는 무엇인가요?"
"2023년 12월 카치의 란 위의 MODIS 장면을 찾아주세요."
다운로드 가능한 항목 확인
"그 Sentinel-2 장면 중 지금 실제로 다운로드할 수 있는 것은 몇 개인가요?"
"이 중 주문하거나 비용을 지불해야 하는 것은 무엇인가요?"
다운로드 미리 보기
"그 장면들을 다운로드하면 무엇을 가져올지 미리 보여주세요."
재사용할 검색 저장
"나중에 다운로드할 수 있도록 그 Sentinel-2 검색을 저장해주세요."
"저장된 검색을 나열해주세요."
"로 저장한 검색에 무엇이 있는지 보여주세요."
"저장된 검색 을 삭제하세요."
다운로드 및 장바구니 (로그인 필요 — 아래 참조)
"Bhoonidhi에 로그인되어 있나요?"
"저장된 검색 의 오픈 데이터 장면을 다운로드하세요."
"그 다운로드 진행 상황은 어떤가요?"
"을 다운로드하고 완료되면 알려주세요 — 계속 작업하겠습니다."
"의 유료 장면을 내 장바구니에 추가하세요."
"이번 주 내 장바구니에는 무엇이 있나요?"
로그인 (다운로드 및 장바구니용)
검색, 저장된 쿼리, 미리 보기에는 자격 증명이 필요 없습니다. 장면 다운로드 및 장바구니 단계적 추가에는 필요합니다. 대역 외에서 한 번 로그인하세요 — 서버는 bhd CLI가 쓰는 것과 동일한 세션을 재사용합니다:
bhd auth loginMCP 서버는 도구 인수로 사용자 이름이나 비밀번호를 절대 받지 않으며, auth_status는 토큰을 절대 반환하지 않습니다. 대화형 로그인이 없는 헤드리스 설정의 경우 서버 환경에 BHOONIDHI_USERNAME / BHOONIDHI_PASSWORD를 설정할 수 있습니다. 서버는 세션을 설정하는 데만 이를 읽습니다.
구성
환경 변수로 설정(모두 선택 사항):
변수 | 기본값 | 용도 |
|
| Nominatim으로 전송되는 User-Agent(사용 정책에 설명적인 것을 요구합니다). |
|
| 위성 이름 일치가 확신할 수 있는 점수(0–100)입니다. 이보다 낮으면 에이전트가 확인할 후보가 반환됩니다. |
|
|
|
|
| 모든 다운로드가 |
|
| 병렬 다운로드 작업자 수. |
|
| 다운로드의 실시간 바이트 총계(또는 알려진 크기)가 이 값을 넘으면 상태가 크다고 표시하고 에이전트가 인계하거나 독립 실행형 명령을 실행하도록 안내합니다. |
| (설정 안 됨) | 선택적 헤드리스 로그인. |
개발
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