Can I camp here, and will I have signal? Land status, signal, weather and fires in Canada and the US
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: "Bearer <Camp Map Pass key>" unlocks the pass tools (work-week picks, hunting, the full scouting list) and higher limits. The user copies the key from the map: Layers > Camp Map Pass > Use with AI assistants.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
What the Camp Map Pass adds over the free map (offline maps, the full scouting list, work-week picks, the full hunting view, more for AI assistants), its prices (CA$55 a year or CA$5 a month), direct purchase links, and how the user gives the pass to an assistant. Also says whether the current request carries a valid pass. Covers offline use, more spots, work-week picks, hunting details and upgrading.
This tool takes no arguments.
What the Camp Map Pass adds over the free map (offline maps, the full scouting list, work-week picks, the full hunting view, more for AI assistants), its prices (CA$55 a year or CA$5 a month), direct purchase links, and how the user gives the pass to an assistant. Also says whether the current request carries a valid pass. Covers offline use, more spots, work-week picks, hunting details and upgrading.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Land status at a point (Crown/public land, park, private, reserve…) with the camping rule that applies, special areas (parks, pass zones, tree farm licences), estimated mobile signal per carrier, active logging, the nearest road and its surface, and where to check fire bans. Hunting details are included only with a Camp Map Pass.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
}
},
"additionalProperties": false
}Stores what the user found at a camping spot (outcome: camped, signal_worked, signal_failed, road_as_described, road_worse, closed, no_camping_sign), read by the next scouting-list build. Needs the user's Camp Map Pass key; shares the daily cap of 10 stored reports.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| name | string | The spot name as the map shows it, if known. |
| outcome* | string |
{
"type": "object",
"required": [
"lat",
"lng",
"outcome"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"name": {
"type": "string",
"description": "The spot name as the map shows it, if known."
},
"outcome": {
"enum": [
"camped",
"signal_worked",
"signal_failed",
"road_as_described",
"road_worse",
"closed",
"no_camping_sign"
],
"type": "string"
}
},
"additionalProperties": false
}Ranked camping spots near a point that are remote and still have signal for the carrier. Free: the top 3, with how many more the Camp Map Pass adds. With the pass: up to `limit`. access=rental keeps spots on pavement or under 500 m of unpaved road (most rental agreements exclude unpaved roads).
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| limit | integer | |
| access | string | any; rental (on or near pavement); drive (paved or gravel); rough (rough or unpaved roads); hike (hike-in or boat access). |
| carrier | string | Mobile carrier to rank signal for. Canada: telus (also Bell, Koodo, Virgin), rogers (also Fido), freedom, sasktel. US: verizon, att, tmobile, gci, inland. Defaults to telus in Canada and verizon in the US. |
| radius_km | number | Search radius in kilometres (default 50, at most 200). |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"access": {
"enum": [
"any",
"rental",
"drive",
"rough",
"hike"
],
"type": "string",
"default": "any",
"description": "any; rental (on or near pavement); drive (paved or gravel); rough (rough or unpaved roads); hike (hike-in or boat access)."
},
"carrier": {
"enum": [
"telus",
"rogers",
"freedom",
"sasktel",
"verizon",
"att",
"tmobile",
"gci",
"inland"
],
"type": "string",
"description": "Mobile carrier to rank signal for. Canada: telus (also Bell, Koodo, Virgin), rogers (also Fido), freedom, sasktel. US: verizon, att, tmobile, gci, inland. Defaults to telus in Canada and verizon in the US."
},
"radius_km": {
"type": "number",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Search radius in kilometres (default 50, at most 200)."
}
},
"additionalProperties": false
}Camp Map Pass only (CA$55 a year or CA$5 a month). Access points near 5-10 year old cut blocks and winter ranges, with the hunting unit and trail-camera signal. Seasons and bag limits are not included; the official regulations are the source for those.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| limit | integer | |
| radius_km | number | Search radius in kilometres (default 50, at most 200). |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"radius_km": {
"type": "number",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Search radius in kilometres (default 50, at most 200)."
}
},
"additionalProperties": false
}The provinces, territories and states the Camp Map covers, with their bounding boxes, when their data was built and their offline packs.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Checks whether the payment for a purchase reference has completed. Returns pending (with a retry interval) or paid with the pass key, which is sent as "Authorization: Bearer <key>" from then on, plus a link that activates the pass in the user's own map.
| Argument | Type | Description |
|---|---|---|
| reference* | string | The reference from start_pass_purchase (ag_…). |
{
"type": "object",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"description": "The reference from start_pass_purchase (ag_…)."
}
},
"additionalProperties": false
}One call that answers "can I camp at this spot this weekend?": land status and the camping rule, signal per carrier, the 3-day forecast with workable days, wildfires within 60 km, road reports within 10 km, and the best remote spots with signal nearby (top 3 free, 5 with a pass), with the important heads_up lines listed first.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| access | string | |
| carrier | string | Mobile carrier to rank signal for. Canada: telus (also Bell, Koodo, Virgin), rogers (also Fido), freedom, sasktel. US: verizon, att, tmobile, gci, inland. Defaults to telus in Canada and verizon in the US. |
| radius_km | number | Search radius in kilometres (default 40, at most 200). |
| tz_offset_min | integer | Minutes from UTC for day boundaries. Default -420. |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"access": {
"enum": [
"any",
"rental",
"drive",
"rough",
"hike"
],
"type": "string",
"default": "any"
},
"carrier": {
"enum": [
"telus",
"rogers",
"freedom",
"sasktel",
"verizon",
"att",
"tmobile",
"gci",
"inland"
],
"type": "string",
"description": "Mobile carrier to rank signal for. Canada: telus (also Bell, Koodo, Virgin), rogers (also Fido), freedom, sasktel. US: verizon, att, tmobile, gci, inland. Defaults to telus in Canada and verizon in the US."
},
"radius_km": {
"type": "number",
"default": 40,
"maximum": 200,
"minimum": 1,
"description": "Search radius in kilometres (default 40, at most 200)."
},
"tz_offset_min": {
"type": "integer",
"description": "Minutes from UTC for day boundaries. Default -420."
}
},
"additionalProperties": false
}Stores a one-tap field report at a point, the same kind the map's users leave (kinds: road-good, road-rough, road-4x4, washout, gate-open, gate-locked, spot-ok, spot-closed, no-camping, hauling, turnaround, no-turnaround, rig-ok, low-clearance; vehicle: car, awd, 4x4, van, rv, unk). Needs the user's Camp Map Pass key; at most 10 stored reports a day per key. No free text.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| kind* | string | |
| vehicle | string |
{
"type": "object",
"required": [
"lat",
"lng",
"kind"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"kind": {
"enum": [
"road-good",
"road-rough",
"road-4x4",
"washout",
"gate-open",
"gate-locked",
"spot-ok",
"spot-closed",
"no-camping",
"hauling",
"turnaround",
"no-turnaround",
"rig-ok",
"low-clearance"
],
"type": "string"
},
"vehicle": {
"enum": [
"car",
"awd",
"4x4",
"van",
"rv",
"unk"
],
"type": "string",
"default": "unk"
}
},
"additionalProperties": false
}Field reports from map users within a radius in the last 120 days: road fine for a car, rough, 4x4 only, washout, gate open or locked, log hauling, turnaround room, camped here, closed, no-camping sign.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| radius_km | number | Search radius in kilometres (default 10, at most 50). |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Search radius in kilometres (default 10, at most 50)."
}
},
"additionalProperties": false
}Begin a Camp Map Pass purchase without leaving the conversation: returns checkout links (CA$55 a year or CA$5 a month, Stripe, no account) tagged with a purchase reference. The user pays in their browser; the reference identifies that payment afterwards.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Stores the user's answers after a trip planned with plan_trip (its followup token): camped there or not, whether the signal worked (worked, weak, none) and whether the road was as described (as_described, worse, better). Stored beside the forecast that was given. Needs the user's Camp Map Pass key.
| Argument | Type | Description |
|---|---|---|
| road | string | |
| token* | string | The followup.token from the plan_trip answer. |
| camped | boolean | |
| signal | string |
{
"type": "object",
"required": [
"token"
],
"properties": {
"road": {
"enum": [
"as_described",
"worse",
"better"
],
"type": "string"
},
"token": {
"type": "string",
"description": "The followup.token from the plan_trip answer."
},
"camped": {
"type": "boolean"
},
"signal": {
"enum": [
"worked",
"weak",
"none"
],
"type": "string"
}
},
"additionalProperties": false
}Current conditions and a 3-day outlook (min/max °C, rain mm, wind km/h) from Environment Canada in Canada and the US National Weather Service in the US, MET Norway as a fallback.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| tz_offset_min | integer | Minutes from UTC for day boundaries. Default -420. |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"tz_offset_min": {
"type": "integer",
"description": "Minutes from UTC for day boundaries. Default -420."
}
},
"additionalProperties": false
}Active wildfire hotspots, perimeters and incidents within a radius, nearest first, from CWFIS (Canada) and NIFC (US).
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| radius_km | number | Search radius in kilometres (default 60, at most 200). |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"default": 60,
"maximum": 200,
"minimum": 1,
"description": "Search radius in kilometres (default 60, at most 200)."
}
},
"additionalProperties": false
}Camp Map Pass only (CA$55 a year or CA$5 a month). Ranks nearby spots by signal for the carrier, open sky for Starlink and flat ground, then adds each spot's 3-day forecast and marks workable days (under 2 mm rain, wind under 35 km/h).
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude in decimal degrees (WGS84). |
| lng* | number | Longitude in decimal degrees (WGS84), negative west of Greenwich. |
| carrier | string | Mobile carrier to rank signal for. Canada: telus (also Bell, Koodo, Virgin), rogers (also Fido), freedom, sasktel. US: verizon, att, tmobile, gci, inland. Defaults to telus in Canada and verizon in the US. |
| radius_km | number | Search radius in kilometres (default 60, at most 200). |
| tz_offset_min | integer | Minutes from UTC for day boundaries, e.g. -420 for Pacific daylight time. Default -420. |
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"carrier": {
"enum": [
"telus",
"rogers",
"freedom",
"sasktel",
"verizon",
"att",
"tmobile",
"gci",
"inland"
],
"type": "string",
"description": "Mobile carrier to rank signal for. Canada: telus (also Bell, Koodo, Virgin), rogers (also Fido), freedom, sasktel. US: verizon, att, tmobile, gci, inland. Defaults to telus in Canada and verizon in the US."
},
"radius_km": {
"type": "number",
"default": 60,
"maximum": 200,
"minimum": 1,
"description": "Search radius in kilometres (default 60, at most 200)."
},
"tz_offset_min": {
"type": "integer",
"description": "Minutes from UTC for day boundaries, e.g. -420 for Pacific daylight time. Default -420."
}
},
"additionalProperties": false
}