{"apiVersion":"v1","directorySlug":"umbra-py-mcp-4fa1283deb","title":"umbra-py","description":"Search, preview, load, and convert Umbra open SAR. Umbra ships no search API; umbra-py is that layer, plus a community STAC API and MCP server.","pageUrl":"https://www.mcpbundles.com/skills/umbra-py-mcp-4fa1283deb","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://api.umbra-py.space/mcp","hostedMcpUrl":null,"toolCount":19,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"space.umbra-py/umbra-py-mcp-4fa1283deb","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_catalog","description":"Search Umbra's catalog and return compact context cards.","inputSchema":{"type":"object","properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"bbox":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"null"}],"default":null},"fuzzy":{"type":"boolean","default":false},"limit":{"type":"integer","default":20},"local":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null},"place":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"products":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"semantic":{"type":"boolean","default":false},"min_score":{"type":"number","default":0.0},"intersects":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"max_per_task":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"max_incidence":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"min_incidence":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"polarizations":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"max_resolution":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null}}},"logicalName":"search_catalog","displayName":"search_catalog","title":"search_catalog","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_repeat_sites","description":"Rank the archive's most repeat-imaged sites — where change detection has\n    something to measure.","inputSchema":{"type":"object","properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"top":{"type":"integer","default":20},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"bbox":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"null"}],"default":null},"fuzzy":{"type":"boolean","default":false},"limit":{"type":"integer","default":500},"local":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null},"place":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"rank_by":{"type":"string","default":"passes"},"products":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"intersects":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"min_passes":{"type":"integer","default":2},"first_since":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"active_since":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"first_before":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"active_before":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"max_incidence":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"max_span_days":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"min_incidence":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"min_span_days":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"polarizations":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"max_resolution":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"max_revisit_days":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"median_revisit_days":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null}}},"logicalName":"find_repeat_sites","displayName":"find_repeat_sites","title":"find_repeat_sites","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_item","description":"Return the full context card for one item.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}},"logicalName":"get_item","displayName":"get_item","title":"get_item","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"geocode_place","description":"Resolve a free-text place name to a bounding box via Nominatim.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}}},"logicalName":"geocode_place","displayName":"geocode_place","title":"geocode_place","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"index_stats","description":"Report on the local catalog index, if one has been built or fetched.","inputSchema":{"type":"object","properties":{}},"logicalName":"index_stats","displayName":"index_stats","title":"index_stats","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"quicklook","description":"Return a scene's quicklook PNG as an image block.","inputSchema":{"type":"object","required":["url"],"properties":{"db":{"type":"boolean","default":false},"url":{"type":"string"},"asset":{"type":"string","default":"GEC"},"preview":{"type":"string","default":"auto"},"max_size":{"type":"integer","default":1024}}},"logicalName":"quicklook","displayName":"quicklook","title":"quicklook","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"change_composite","description":"Composite 2-3 passes of one site into a change image.","inputSchema":{"type":"object","required":["urls"],"properties":{"db":{"type":"boolean","default":false},"urls":{"type":"array","items":{"type":"string"}},"asset":{"type":"string","default":"GEC"},"max_size":{"type":"integer","default":1024}}},"logicalName":"change_composite","displayName":"change_composite","title":"change_composite","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"timescan","description":"Summarize a whole time series into one activity image.","inputSchema":{"type":"object","required":["urls"],"properties":{"db":{"type":"boolean","default":false},"urls":{"type":"array","items":{"type":"string"}},"asset":{"type":"string","default":"GEC"},"max_size":{"type":"integer","default":1024}}},"logicalName":"timescan","displayName":"timescan","title":"timescan","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"stack_stats","description":"Measure how much a site changed across its passes, as numbers.","inputSchema":{"type":"object","required":["urls"],"properties":{"crs":{"type":"string","default":"utm"},"bbox":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"null"}],"default":null},"urls":{"type":"array","items":{"type":"string"}},"asset":{"type":"string","default":"GEC"},"blocks":{"type":"integer","default":0},"extent":{"type":"string","default":"intersection"},"max_size":{"type":"integer","default":512},"block_series":{"type":"boolean","default":false},"speckle_filter":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"speckle_window":{"type":"integer","default":5},"change_threshold_db":{"type":"number","default":3.0}}},"logicalName":"stack_stats","displayName":"stack_stats","title":"stack_stats","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"stack_provenance","description":"Check whether a site's passes are one measurement, before measuring them.","inputSchema":{"type":"object","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string"}},"asset":{"type":"string","default":"GEC"}}},"logicalName":"stack_provenance","displayName":"stack_provenance","title":"stack_provenance","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"pick_change_interval","description":"Scan a site's whole series and name the two passes worth narrating.","inputSchema":{"type":"object","required":["urls"],"properties":{"crs":{"type":"string","default":"utm"},"urls":{"type":"array","items":{"type":"string"}},"asset":{"type":"string","default":"GEC"},"extent":{"type":"string","default":"intersection"},"max_size":{"type":"integer","default":512},"change_threshold_db":{"type":"number","default":3.0}}},"logicalName":"pick_change_interval","displayName":"pick_change_interval","title":"pick_change_interval","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"download_asset","description":"Download one asset of an item to local disk, gated by a size check.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"asset":{"type":"string","default":"GEC"},"confirm":{"type":"boolean","default":false},"dest_dir":{"type":"string","default":"."}}},"logicalName":"download_asset","displayName":"download_asset","title":"download_asset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"watch_site","description":"Report only the acquisitions **new** since the last check of this site.","inputSchema":{"type":"object","properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"bbox":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"null"}],"default":null},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"fuzzy":{"type":"boolean","default":false},"local":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null},"place":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"reset":{"type":"boolean","default":false},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"products":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null}}},"logicalName":"watch_site","displayName":"watch_site","title":"watch_site","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_similar","description":"Find archived scenes that **look like** the acquisition at ``url``.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"asset":{"type":"string","default":"GEC"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"top_k":{"type":"integer","default":10},"min_score":{"type":"number","default":0.0}}},"logicalName":"find_similar","displayName":"find_similar","title":"find_similar","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_similar_text","description":"Find archived scenes matching a plain-language ``query`` over their imagery.","inputSchema":{"type":"object","required":["query"],"properties":{"model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"query":{"type":"string"},"top_k":{"type":"integer","default":10},"min_score":{"type":"number","default":0.0}}},"logicalName":"find_similar_text","displayName":"find_similar_text","title":"find_similar_text","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"describe_scene","description":"Return a SAR-literate reading of the scene at ``url``.","inputSchema":{"type":"object","required":["url"],"properties":{"db":{"type":"boolean","default":true},"url":{"type":"string"},"asset":{"type":"string","default":"GEC"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"preview":{"type":"string","default":"auto"},"max_size":{"type":"integer","default":1024}}},"logicalName":"describe_scene","displayName":"describe_scene","title":"describe_scene","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"narrate_change","description":"Return a grounded reading of *what changed* between passes.","inputSchema":{"type":"object","required":["urls"],"properties":{"db":{"type":"boolean","default":false},"urls":{"type":"array","items":{"type":"string"}},"asset":{"type":"string","default":"GEC"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"max_size":{"type":"integer","default":1024}}},"logicalName":"narrate_change","displayName":"narrate_change","title":"narrate_change","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"stamp_description","description":"Validate a client-produced scene reading and stamp provenance.","inputSchema":{"type":"object","required":["reading"],"properties":{"asset":{"type":"string","default":"GEC"},"image":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"item_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"reading":{"type":"object","additionalProperties":true}}},"logicalName":"stamp_description","displayName":"stamp_description","title":"stamp_description","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"stamp_narration","description":"Validate a client-produced change narration and stamp provenance.","inputSchema":{"type":"object","required":["reading"],"properties":{"asset":{"type":"string","default":"GEC"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"reading":{"type":"object","additionalProperties":true},"item_ids":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"change_stats":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null}}},"logicalName":"stamp_narration","displayName":"stamp_narration","title":"stamp_narration","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=umbra-py&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkudW1icmEtcHkuc3BhY2UvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22umbra-py%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.umbra-py.space%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22umbra-py%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.umbra-py.space%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=umbra-py&connectorUrl=https%3A%2F%2Fapi.umbra-py.space%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"umbra-py\" --url \"https://api.umbra-py.space/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/umbra-py-mcp-4fa1283deb","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/umbra-py-mcp-4fa1283deb/tools/{tool}","mcpServerUrl":"https://api.umbra-py.space/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/umbra-py-mcp-4fa1283deb?live=1"}