Cosmic's Camp Map
Can I camp here, and will I have signal? Land status, signal, weather and fires in Canada and the US
使うべきか
品質と安全性
検出事項(2)
- LOWtrip_feedback 内
- LOWlist_regions 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"camp-map": {
"url": "https://camp.cosmicotter.ca/mcp"
}
}
}リモートエンドポイント
https://camp.cosmicotter.ca/mcpstreamable-httpできること
ツール一覧
ツール(15)
🟢check_spot(lat, lng)
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.
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢find_spots(lat, lng, radius_km, carrier, access, ...)
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).
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "Search radius in kilometres (default 50, at most 200)."
},
"carrier": {
"type": "string",
"enum": [
"telus",
"rogers",
"freedom",
"sasktel",
"verizon",
"att",
"tmobile",
"gci",
"inland"
],
"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."
},
"access": {
"type": "string",
"enum": [
"any",
"rental",
"drive",
"rough",
"hike"
],
"default": "any",
"description": "any; rental (on or near pavement); drive (paved or gravel); rough (rough or unpaved roads); hike (hike-in or boat access)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢plan_trip(lat, lng, radius_km, carrier, access, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 40,
"description": "Search radius in kilometres (default 40, at most 200)."
},
"carrier": {
"type": "string",
"enum": [
"telus",
"rogers",
"freedom",
"sasktel",
"verizon",
"att",
"tmobile",
"gci",
"inland"
],
"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."
},
"access": {
"type": "string",
"enum": [
"any",
"rental",
"drive",
"rough",
"hike"
],
"default": "any"
},
"tz_offset_min": {
"type": "integer",
"description": "Minutes from UTC for day boundaries. Default -420."
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢work_week(lat, lng, radius_km, carrier, tz_offset_min)
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).
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 60,
"description": "Search radius in kilometres (default 60, at most 200)."
},
"carrier": {
"type": "string",
"enum": [
"telus",
"rogers",
"freedom",
"sasktel",
"verizon",
"att",
"tmobile",
"gci",
"inland"
],
"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."
},
"tz_offset_min": {
"type": "integer",
"description": "Minutes from UTC for day boundaries, e.g. -420 for Pacific daylight time. Default -420."
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢hunting_spots(lat, lng, radius_km, limit)
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.
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "Search radius in kilometres (default 50, at most 200)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢weather(lat, lng, tz_offset_min)
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.
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 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."
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢wildfires(lat, lng, radius_km)
Active wildfire hotspots, perimeters and incidents within a radius, nearest first, from CWFIS (Canada) and NIFC (US).
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 60,
"description": "Search radius in kilometres (default 60, at most 200)."
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢road_reports(lat, lng, radius_km)
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.
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"radius_km": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Search radius in kilometres (default 10, at most 50)."
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
}🟢camp_map_pass
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.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢start_pass_purchase
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.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}⚪pass_status(reference)
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.
入力スキーマ
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "The reference from start_pass_purchase (ag_…)."
}
},
"required": [
"reference"
],
"additionalProperties": false
}⚪report_conditions(lat, lng, kind, vehicle)
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.
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"kind": {
"type": "string",
"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"
]
},
"vehicle": {
"type": "string",
"enum": [
"car",
"awd",
"4x4",
"van",
"rv",
"unk"
],
"default": "unk"
}
},
"required": [
"lat",
"lng",
"kind"
],
"additionalProperties": false
}🟢confirm_spot(lat, lng, outcome, name)
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.
入力スキーマ
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees (WGS84)."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
},
"outcome": {
"type": "string",
"enum": [
"camped",
"signal_worked",
"signal_failed",
"road_as_described",
"road_worse",
"closed",
"no_camping_sign"
]
},
"name": {
"type": "string",
"description": "The spot name as the map shows it, if known."
}
},
"required": [
"lat",
"lng",
"outcome"
],
"additionalProperties": false
}⚪trip_feedback(token, camped, signal, road)
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.
入力スキーマ
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "The followup.token from the plan_trip answer."
},
"camped": {
"type": "boolean"
},
"signal": {
"type": "string",
"enum": [
"worked",
"weak",
"none"
]
},
"road": {
"type": "string",
"enum": [
"as_described",
"worse",
"better"
]
}
},
"required": [
"token"
],
"additionalProperties": false
}🟢list_regions
The provinces, territories and states the Camp Map covers, with their bounding boxes, when their data was built and their offline packs.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}コミュニティ
エビデンス