io.github.reesehammer/umbra-mcp
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
Umbra open SAR archive
Publisher-provided description
Search, preview, and measure Umbra open SAR from any MCP client. Umbra ships no search API.
Summary by lookupd
Searches an open SAR imagery archive by place, text, or similarity, then previews, downloads, and measures change between satellite passes.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http umbra https://api.umbra-py.space/mcp
Claude Code, pypi package (stdio)
claude mcp add umbra -- uvx umbra-py
Codex, remote (streamable-http)
codex mcp add umbra --url https://api.umbra-py.space/mcp
Codex, pypi package (stdio)
codex mcp add umbra -- uvx umbra-py
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"umbra": {
"url": "https://api.umbra-py.space/mcp"
}
}
}Cursor, pypi package (stdio) → .cursor/mcp.json
{
"mcpServers": {
"umbra": {
"command": "uvx",
"args": [
"umbra-py"
]
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (19 tools)
Publisher-provided text
search_catalogSearch Umbra's catalog and return compact context cards. Filters (all optional, combine freely): ``bbox`` as ``[min_lon, min_lat, max_lon, max_lat]`` ifind_repeat_sitesRank sites imaged more than once, before a change tool is pointed at one. Use this when the site is not already known. Each site's ``hrefs`` are that sget_itemReturn the full context card for one item. ``url`` is the JSON URL of an open-data STAC sidecar, a GEC/SICD (or other product) filename such as ``2025-geocode_placeResolve a free-text place name to a bounding box via Nominatim. Returns ``{"bbox": [min_lon, min_lat, max_lon, max_lat], "display_name": ...}`` so theindex_statsReport on the local catalog index, if one has been built or fetched. Lets a long-running agent decide whether searches will be instant (index present)quicklookReturn a scene's quicklook PNG as an image block. Prefers a baked catalog preview (``preview="auto"``, the default) so a public host can show the radarchange_compositeComposite 2-3 passes of one site into a change image. Pass the STAC URLs of two or three acquisitions of the *same* site in time order. Colors encode ctimescanSummarize a whole time series into one activity image. Pass the STAC URLs of a site's passes; the timescan encodes per-pixel temporal statistics so bristack_statsMeasure how much a site changed across its passes, as numbers. The quantitative counterpart to ``change_composite`` / ``timescan``: those return a pictstack_provenanceCheck whether a site's passes are one measurement, before measuring them. ``stack_stats`` refuses a selection whose rasters were made by *different* ``pick_change_intervalScan a site's whole series and name the two passes worth narrating. The deterministic first half of the "watch a site over time" story, and the step thdownload_assetDownload one asset of an item to local disk, gated by a size check. SAR products can be multiple GB, so this is a two-step handshake: call it first witwatch_siteReport only the acquisitions **new** since the last check of this site. SAR's value for monitoring is its cadence, so the natural workflow is *standingfind_similarFind archived scenes that **look like** the acquisition at ``url``. This is the one search that lives in the pixels, not the metadata: where ``search_cfind_similar_textFind archived scenes matching a plain-language ``query`` over their imagery. Text-to-scene search: embeds ``query`` ("ships at a berth", "a flooded field")describe_sceneReturn a SAR-literate reading of the scene at ``url``. The picture and the metadata card are produced deterministically; a model only interprets them.narrate_changeReturn a grounded reading of *what changed* between passes. Sibling of :func:`describe_scene`. The composite and the per-block dB grid are produced detstamp_descriptionValidate a client-produced scene reading and stamp provenance. This is the interpretation boundary for the no-key kit path: you read the picture ``descstamp_narrationValidate a client-produced change narration and stamp provenance. Sibling of :func:`stamp_description` for the no-key ``narrate_change`` kit. Pass the
Details
- Version: 0.1.4
- Transports: streamable-http, stdio
- Uptime (7 days): 100%
- Median latency: 408 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/reesehammer/umbra-py
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.github.reesehammer/umbra-mcp)
- 62071 servers
- Last crawl: 2026-11-11T16:17:25.167Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp