{"name":"io.github.reesehammer/umbra-mcp","slug":"reesehammer-umbra-mcp","title":"Umbra open SAR archive","description":"Search, preview, and measure Umbra open SAR from any MCP client. Umbra ships no search API.","url":"https://mcp.market/server/reesehammer-umbra-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":43,"last_push_at":"2026-09-17T23:22:41.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/reesehammer/umbra-py","website":null,"version":"0.1.2","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"umbra-py","version":"0.1.2","runtimeHint":"uvx","transport":{"type":"stdio"},"runtimeArguments":[{"description":"The server ships inside the umbra-py distribution and needs its [mcp] extra, so the package uvx installs is not the bare identifier.","value":"umbra-py[mcp]","type":"named","name":"--from"},{"description":"The console script to run from that distribution ([project.scripts] in pyproject.toml).","value":"umbra-mcp","type":"positional","valueHint":"console_script"}],"environmentVariables":[{"description":"Canopy API token. Set it and the same search tools query Umbra's authenticated commercial archive instead of the open bucket; leave it unset for the open data, which needs no credentials.","isSecret":true,"name":"UMBRA_CANOPY_TOKEN"},{"description":"Path to a local catalog index (built with 'umbra index build' or fetched with 'umbra index fetch'). Without one the server walks the public bucket per search, which is correct but slow.","format":"filepath","name":"UMBRA_INDEX_DB"},{"description":"Enables the two opt-in model tools, describe_scene and narrate_change. Every other tool is deterministic and calls no model.","isSecret":true,"name":"ANTHROPIC_API_KEY"},{"description":"Alternative provider for the same two model tools, and the encoder behind find_similar_text.","isSecret":true,"name":"OPENAI_API_KEY"}]}],"tools":[],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-20T16:19:52.572Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T16:19:52.526Z","components":{"code":{"score":25,"max":25,"notes":["69 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"umbra-py","version":"0.1.2","found":true,"weeklyDownloads":43,"license":"Apache-2.0","dependencyCount":56,"publishedAt":"2026-09-02T19:43:50.916007Z","repositoryUrl":"https://github.com/reesehammer/umbra-py"}],"repo":{"found":true,"owner":"reesehammer","repo":"umbra-py","archived":false,"pushedAt":"2026-09-17T23:22:41Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/14269062?v=4","ownerCreatedAt":"2015-09-14T05:27:56Z","license":"Apache-2.0"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":43,"license":"Apache-2.0","lastPushAt":"2026-09-17T23:22:41.000Z","score":23}}}},"grade_history":[],"reviews":[]}