MCP

Let an AI agent watch for campsites

Connect Claude, ChatGPT or any MCP client to AlertCamp, and it can search 70 park systems, read the drawn site maps, and create and manage cancellation alerts on your account — in plain language, as you.

Server https://api.alert.camp/mcp
Claude published ChatGPT published Meta Muse in review

Last updated: November 5, 2026

AlertCamp connected
Golden Ears is fully booked for the August long weekend. Watch it for me — two nights, any campground.
search_parks BC Parks · Golden Ears
list_campground_zones 4 campgrounds · 435 sites
create_alert 2 nights · Jul 31 – Aug 3
Watching all four campgrounds — Gold Creek, Alouette North and South, and North Beach — for any two nights between July 31 and August 3. All 435 sites, one alert.
Anything yet?
list_matches since cursor
Gold Creek Co14 came free for August 1–2. It was still open when we last looked, 3 minutes ago — that is the last time we checked, not a live reading, so book it now if you want it.

Coverage

Seventy park systems, one connector

An agent searches all of them through one tool. It never needs to know which booking platform a park sits on.

70
park systems, Canada & US
2,600+
parks covered
310,000+
campsites covered
26
tools on the server
1–3 min
scan interval on Pro
ABAKALARAZBCCACOCTDEFLGAHIIAIDILINKSKYLAMAMBMDMEMIMNMOMSMTNBNCNDNENHNJNLNMNSNTNUNVNYOHOKONORPAPEQCRISCSDSKTNTXUTVAVTWAWIWVWYYT
  • Provincial or state park system covered
  • National parks only (Parks Canada, Recreation.gov)
  • Not covered yet

Canada — regional & conservation authorities

St. Lawrence Parks Commission Grand River CA Long Point Region CA St. Clair Region CA Upper Thames River CA Toronto & Region CA Otonabee Conservation Niagara Peninsula CA Hamilton CA Maitland Valley CA Catfish Creek CA City of Thunder Bay Algonquin Highlands Water Trails

Canada — backcountry huts

Alpine Club of Canada ACC Vancouver Island Section ACC Whistler Section Columbia Valley Hut Society Spearhead Huts Kootenay Mountaineering Club Ripple Ridge Recreation Association

Getting connected

Four steps, and the approval happens in the app

You need an AlertCamp account, in the app or signed in at app.alert.camp, and an AI client that supports remote MCP servers with OAuth. Add AlertCamp as a connector; if your client asks for a server address, give it https://api.alert.camp/mcp. It will hand you a short code and wait.

Your AI client, before it is connected The code your client hands back The Agents section of Settings, in the app Entering the code on the phone The approval screen, and what it may do Approved - the agent is connected Every agent that has access, with Disconnect

Your AI client, before it is connected

Open AlertCamp on your phone, or at app.alert.camp
Go to Settings → Connect an agent
Type the code the agent is showing

Then tap Continue.

Review the request, and tap Approve

The app shows the agent's name, where its identity document came from, and the permissions it wants.

Connecting from ChatGPT

AlertCamp is a published ChatGPT plugin. Open AlertCamp in the ChatGPT plugin directory and click Install plugin; no server address to type. The first time you ask ChatGPT something about camping, it starts the connection and hands you the short code, which you approve in the app or at app.alert.camp as above.

Connecting from Perplexity

Perplexity adds remote MCP servers as custom connectors, on its paid plans. In Settings → Connectors, choose Add custom connector, pick Remote, name it AlertCamp, enter https://api.alert.camp/mcp and set the transport to Streamable HTTP. Leave authentication on OAuth: Perplexity registers itself with AlertCamp automatically, then opens the same short code as any other client, which you approve in the app. On the approval screen a client that registered this way is shown by the website that will receive the connection, since its name is not verified.

Self-hosted clients: Odysseus, Open WebUI, LibreChat, Goose

Any client that speaks MCP over Streamable HTTP with OAuth can connect, including the ones you run yourself. Add a remote MCP server with the address https://api.alert.camp/mcp and leave authentication on OAuth. The client registers itself, opens the approval page with a short code, and you approve it in the app like any other agent. Clients that take the code on a localhost address work as they are; nothing has to be exposed to the internet.

What you are approving

Read

See your parks and alerts, and the openings they have found.

Write

Create, edit, pause, resume and delete your alerts.

An agent acts as you: it inherits your plan, its alert and site limits, and its scan speed, exactly as if you had tapped the buttons yourself. Connecting an agent does not buy anything and does not change your subscription. A connection lasts up to 180 days unless you disconnect it sooner, and codes expire after 10 minutes.

What an agent never receives:

  • Your password
  • Your email address
  • Your phone number
  • Payment or subscription details
  • Anything belonging to another user

Reference

All 26 tools

Grouped by what they are for. Tool names are the identifiers your client will show in a tool call.

Finding a place to camp

8 tools
ToolWhat it returns
search_parks Parks by name across every provider, with each park's id, provider and activities. The starting point for everything else.
get_park One park in full: activities, coordinates, booking URL, whether its backcountry is sold as zones rather than numbered sites, and whether it sells an entry date rather than a run of nights.
list_park_campgrounds The campgrounds inside a park — what an alert actually watches — including Parks Canada day use and Recreation.gov permit areas.
list_campground_zones The loops and sub-campgrounds within one campground row. Sandbanks is a single row holding Outlet River A and B, Cedars, Woodlands and West Lake A, B and C — stop at the campground and a park looks like one undifferentiated pool. Also returns how many sites one of your alerts may watch.
list_zone_sites Individual sites, with position (real coordinates where the inventory is geographic, map pixels where it ships a drawn sheet), the site's season, when unreleased inventory goes on sale, and what each site is like where the provider publishes it — shade, distance to water, fire pit, electrical amps, driveway surface.
get_zone_map The drawn site map as an image, with our own site numbers printed at each pin, plus a URL to the same labelled picture so it works in any client. For the questions rows cannot answer: which sites sit by the water, at the end of a loop, away from the road.
list_equipment_options The equipment vocabulary for that park's provider — tent, van, 30-foot trailer — as the ids a filter needs. Each option's length bracket means at most that length.
get_day_use_window Which dates a day-use grid actually offers, how many days one alert may span, and which slot-and-date pairs have already closed. Day-use seasons appear nowhere in a provider's API except the grid itself, so dates picked without this are a guess.

Watching for a cancellation

7 tools
ToolWhat it does
create_alert Start watching: a park, the campgrounds or individual sites to cover, a date window and a number of nights. Optionally filtered by equipment, party size, electrical hookup, accessibility or pets — and set to notify by push, email or SMS.
update_alert Change an alert's dates, nights, filters or notification channels. Widening the date window is the single most useful edit.
list_my_alerts Everything being watched, with how recently each was scanned.
get_alert One alert in full.
pause_alert Stop scanning without losing the alert.
resume_alert Start a paused alert scanning again.
pause_all_alerts Stop scanning the whole account at once — the same master switch as in the app. Nothing is deleted.
resume_all_alerts Turn the master switch back off. Openings found while paused are not replayed.
delete_alertpermanent Remove an alert for good. The one action that cannot be undone — pausing is reversible.

Watching a multi-night traverse

8 tools
ToolWhat it does
list_routes Planned traverses for a park — the Rockwall, the Skyline, a coastal loop — grouped by trail, each with the paces it can be walked at. An empty list is the normal answer for most parks: it means no route has been planned there.
create_itinerary Watch a trip that needs a different site each night, which a regular alert cannot express. Either pass a planned route's id, or list the nights yourself — each night naming the zones that would satisfy it. Every start day in the window is tried, and the whole route counts as one alert against your quota.
update_itinerary Change a route's window, party size, tent pads or notification channels. The nights themselves cannot be edited, because their order and adjacency are validated as a whole.
list_my_itineraries Your route alerts. Regular alert listings deliberately exclude them, so that a four-night traverse does not read as four alerts — which means this is the only place they appear.
get_itinerary One route in full, night by night.
pause_itinerary Stop watching a route, keeping its nights.
resume_itinerary Start watching a paused route again.
delete_itinerarypermanent Remove a route and stop watching every night of it. It has to be planned from scratch afterwards, so pausing is almost always the better move.

Seeing what turned up

1 tool
ToolWhat it returns
list_matches The openings your alerts have found, newest first, each carrying what became of it: rebooked (a later scan saw it taken, and when), open at last scan (still being watched, as of the last time we looked), or unverified (the alert is paused, deleted or past its window, so nothing is known since). Pass the cursor from a previous call to get only what is new.

Try it

Things worth asking for

Nothing here needs special phrasing. These are simply the requests that reach the more interesting tools.

“Golden Ears is sold out for the August long weekend. Watch every campground for two nights.”

search_parkslist_campground_zonescreate_alert

“At Rathtrevor Beach, which sites are closest to the beach? Watch those.”

get_zone_maplist_zone_sitescreate_alert

“We tow a 30-foot trailer and need power. Watch Alice Lake for any weekend in July.”

list_equipment_optionscreate_alert

“Porteau Cove walk-in sites only, and it has to allow dogs.”

list_campground_zonescreate_alert

“What dates can I even book for Lake O'Hara day use right now?”

get_day_use_windowcreate_alert

“What am I watching, and has anything opened since we last spoke?”

list_my_alertslist_my_itinerarieslist_matches

How an agent hears about an opening

Nothing arrives on its own

MCP gives an agent no way to be woken up, so an agent finds out about an opening only when it looks — the next time you talk to it, or on a schedule if your AI client can run one. Your own push and email notifications are unaffected, and they remain the fastest way to hear about a cancellation.

An opening is also a snapshot of what was free when the scan ran, not a live reading. Cancelled sites are often rebooked within minutes, so a good agent will tell you how old the reading is rather than promise you a site.

Disconnecting

Open Settings → Connected agents. The list shows every agent that has ever had access, when it connected and when it was last used. Tap Disconnect on any of them.

Revocation takes effect immediately — we check it on every single request rather than waiting for the connection to expire. Your alerts are untouched and keep running exactly as before. We keep the disconnected entry in the list, so you can still see that an agent once had access and when you withdrew it.

Privacy

Section 4 of our Privacy Policy covers connected agents in full: what they can reach, what we store about a connection, and how long we keep it.

The point worth repeating here: once an agent reads your data, that data is in the hands of the AI provider you connected it to, and their privacy policy — not ours — governs what happens to it next, including whether it is retained or used to improve their models. Please read it before connecting.

Something not working?

Email support@alert.camp and we typically respond within 24 hours. Our FAQ covers how alerts and plans work in general, and modelcontextprotocol.io explains the Model Context Protocol itself.