sky-to-porch-webmcp.vercel.app
Human-agent environmental evidence analysis on one shared map, with provenance and limitations.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 3 · Act 5 · Transact 0 · Score: Not yet scored
Tool inspector
compare_environmental_evidence
Compare two place/time/radius scenarios through the same validated evidence pipeline. Use when the person asks what changed, which place/time had stronger evidence, or to compare before/after. Preserve each stated radius. For generic storm use wind_storm + related_context so both Wind & Storm and Flood & Heavy Rain run in both scenarios. Report every scenario and every chain in plain English, then agreements, differences, unknowns, confidence, and what would change the conclusion. Use display labels and summaries; never expose internal IDs, source keys, field names, or enum names.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
baseline |
object | yes | The first place/time/radius scenario. Preserve any radius the person supplied. |
comparison |
object | yes | The second place/time/radius scenario. It may differ by place, time, radius, or several of those. |
hazard |
string | yes | Choose a named/implied hazard; never infer from season/place/concern/generic conditions. Smoke + air uses fire_smoke/related_context. Volcano + air/heat uses earth_volcanoes/related_context. If none, ask and wait. |
analysis_scope |
string | no | For generic storm/severe weather, use related_context so separate wind and water chains run at any radius. Use single_hazard_only only for explicit wind/gust or rain/flood/gage asks; Wind without question widens. |
concern |
string | no | Use pets for dog/cat/animal; health for person/family; home whenever home/roof/property/insurer appears; travel for travel. Never map pet symptoms to health. Otherwise general. |
question |
string | no | Optional, except MUST copy the person's wording for unqualified storm/thunderstorm/severe weather so deterministic routing can include separate wind and water chains. Shorten only to 500 characters. |
Raw JSON schema
{
"type": "object",
"additionalProperties": false,
"required": [
"baseline",
"comparison",
"hazard"
],
"properties": {
"baseline": {
"type": "object",
"additionalProperties": false,
"required": [
"place",
"time"
],
"properties": {
"place": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Initial call: pass the named place as stated, even if ambiguous; do not qualify it first. Strip context: 'near my Houston home' becomes 'Houston'. After a choice, keep this original query."
},
"place_choice_id": {
"type": [
"string",
"null"
],
"pattern": "^place-[A-Za-z0-9._-]{3,120}$",
"description": "Initial call: use null. Only after needs_place_choice: copy the selected choice_id exactly. Never derive it from a place, label, demo, or coordinates; never invent or edit it."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 250,
"default": 25,
"description": "Analysis radius in kilometres; defaults to 25."
},
"time": {
"type": "string",
"pattern": "^(latest_completed|\\d{4}-\\d{2}-\\d{2}(?:/\\d{4}-\\d{2}-\\d{2})?)$",
"description": "After needs_place_choice, copy retry_with_original_arguments.time exactly. Otherwise use latest_completed unless the person stated dates; never invent a date or use today."
}
},
"description": "The first place/time/radius scenario. Preserve any radius the person supplied."
},
"comparison": {
"type": "object",
"additionalProperties": false,
"required": [
"place",
"time"
],
"properties": {
"place": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Initial call: pass the named place as stated, even if ambiguous; do not qualify it first. Strip context: 'near my Houston home' becomes 'Houston'. After a choice, keep this original query."
},
"place_choice_id": {
"type": [
"string",
"null"
],
"pattern": "^place-[A-Za-z0-9._-]{3,120}$",
"description": "Initial call: use null. Only after needs_place_choice: copy the selected choice_id exactly. Never derive it from a place, label, demo, or coordinates; never invent or edit it."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 250,
"default": 25,
"description": "Analysis radius in kilometres; defaults to 25."
},
"time": {
"type": "string",
"pattern": "^(latest_completed|\\d{4}-\\d{2}-\\d{2}(?:/\\d{4}-\\d{2}-\\d{2})?)$",
"description": "After needs_place_choice, copy retry_with_original_arguments.time exactly. Otherwise use latest_completed unless the person stated dates; never invent a date or use today."
}
},
"description": "The second place/time/radius scenario. It may differ by place, time, radius, or several of those."
},
"hazard": {
"type": "string",
"enum": [
"fire_smoke",
"flood_storm",
"wind_storm",
"extreme_heat",
"drought_land",
"air_quality",
"earth_volcanoes"
],
"description": "Choose a named/implied hazard; never infer from season/place/concern/generic conditions. Smoke + air uses fire_smoke/related_context. Volcano + air/heat uses earth_volcanoes/related_context. If none, ask and wait."
},
"analysis_scope": {
"type": "string",
"enum": [
"single_hazard_only",
"related_context"
],
"description": "For generic storm/severe weather, use related_context so separate wind and water chains run at any radius. Use single_hazard_only only for explicit wind/gust or rain/flood/gage asks; Wind without question widens."
},
"concern": {
"type": "string",
"enum": [
"general",
"home",
"health",
"pets",
"travel",
"power_internet",
"community"
],
"description": "Use pets for dog/cat/animal; health for person/family; home whenever home/roof/property/insurer appears; travel for travel. Never map pet symptoms to health. Otherwise general."
},
"question": {
"type": "string",
"maxLength": 500,
"description": "Optional, except MUST copy the person's wording for unqualified storm/thunderstorm/severe weather so deterministic routing can include separate wind and water chains. Shorten only to 500 characters."
}
}
}
Similar websites
reloadium.com
Paste a topic, URL, or PDF/TXT/MD — get a multi-episode AI podcast with audio, transcripts, timelines and quizzes. 60+ languages.
api.lmm.best
Connect AI models, tools and applications with LMM Forge. Explore model access, developer guides and open-source collaboration.
deskintab.dgkhan08.workers.dev
An operating system in your browser, where you and your AI agent share apps, files, and projects through WebMCP.
webmcp.agentsdesk.dev
Meridian Ops