sar-geo-mcp@0.43.1
VERIFIED· install onlyPublisher claims: "Enables Claude to plan search-and-rescue operations on CalTopo maps by measuring terrain, staging areas, hasty search lines, parking, helicopter landing zones, egress routes, walking-time rings, hospitals, and urban assignments, and by exporting results as GeoJSON draft assignments. It is read-only and returns facts for human decision-making." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
ZA_MAPBOX_TOKENZA_WMS_TOKENConfiguration, not credentials: SAR_GEO_EXPORTS_DIR, SAR_GEO_LAUNCH_MODE, SAR_SENSITIVE_DENYLIST, ZA_ASSIGNMENT_NORMS, ZA_CACHE_DIR, ZA_CALTOPO_ACCOUNT, ZA_CALTOPO_ACCOUNT_ID, ZA_CALTOPO_CONFIG_PATH, ZA_CALTOPO_HOST, ZA_CALTOPO_ID, ZA_CALTOPO_KEY, ZA_GOOGLE_MAPS_KEY- Where it talks to
- no vendor host named in the codeAlso nationalmap.gov, usda.gov, blm.gov, arcgis.com, overpass-api.de, private.coffee, project-osrm.org — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names nationalmap.gov, usda.gov, blm.gov, arcgis.com, overpass-api.de, private.coffee, project-osrm.org as well as its own vendor. The guard injects ZA_MAPBOX_TOKEN, ZA_WMS_TOKEN only into requests to the host you bind (and its subdomains) and refuses the rest.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-13 and scored it 83/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
SECRET_FILES = ("cts.ini", ".env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.if subprocess.run(check + ["--text", "-", "--label", "release notes", "--quiet"],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.secret-named variables in .env, and the same names in the environment.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.if subprocess.run(check + scope, cwd=ROOT).returncode:Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.return subprocess.run(("git",) + args, cwd=ROOT, check=True, text=True,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(args, cwd=ROOT, check=True, text=True,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run([*MCPB, "validate", str(MANIFEST)], check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run([*MCPB, "pack", str(EXTENSION), str(OUTPUT)], check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.keep(value, f".env {name}")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_file = root / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.return subprocess.run([uv, *args], env=env).returncodeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.Popen(command, stdin=subprocess.DEVNULL, stdout=subprocess.DEVNULL,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.KEY_NAMES = {"id_rsa", "id_dsa", "id_ecdsa", "id_ed25519", ".pypirc", ".netrc",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.