MCP App Store
Travel
Recreation.gov icon

Recreation.gov

by Booz Allen Hamilton

Overview

Search and explore campgrounds across Recreation.gov. Find campgrounds by location or keyword, check campsite availability for specific dates, view detailed campground and campsite information including photos, amenities, and pricing. Filter results by camping type, vehicle length, electricity, amenities, and more. Includes an interactive map and rich visual cards for browsing results.

Tools

get_campground_by_id

ChatGPT
Fetch detailed information for a specific campground, including photos, amenities, and featured campsites.

get_campground_by_id

ChatGPT
Fetch detailed information for a specific campground, including photos, amenities, and featured campsites.

get_campsite_by_id

ChatGPT
Fetch detailed information for a specific campsite, including amenities, photos, and availability preview.

get_campsite_by_id

ChatGPT
Fetch detailed information for a specific campsite, including amenities, photos, and availability preview.

search_campgrounds

ChatGPT
Search for campgrounds and recreation facilities (campground-level view with facility cards + map pins). Does NOT return individual campsites. Use this tool to: (1) find campgrounds by location or keyword, (2) check campground AVAILABILITY by including check_in/check_out, (3) go BACK to the campground list when the user is viewing campsites and wants to return, (4) FILTER campground results — this is the ONLY tool for applying campground filters. FILTER RULES: Valid filter args are the top-level schema fields: camping_types, vehicle_length, electricity, amenities, electrical_hookup, characteristics, check_in, check_out. Example: {"camping_types":["tent"],"amenities":["waterfront","showers"]}. Do NOT use display fields from result cards (e.g. campsite_equipment, campsite_type_of_use) as filter args — those are for display only. Do NOT use sort_command or any other tool to change campground filters. Always include both check_in and check_out together when filtering by dates. If user asks 'show campsites', 'view sites', 'site numbers', 'site map', or 'tent/RV sites', always call search_campsites (not this tool).

search_campgrounds

ChatGPT
Search for campgrounds and recreation facilities (campground-level view with facility cards + map pins). Does NOT return individual campsites. Use this tool to: (1) find campgrounds by location or keyword, (2) check campground AVAILABILITY by including check_in/check_out, (3) go BACK to the campground list when the user is viewing campsites and wants to return, (4) FILTER campground results — this is the ONLY tool for applying campground filters. FILTER RULES: Valid filter args are the top-level schema fields: camping_types, vehicle_length, electricity, amenities, electrical_hookup, characteristics, check_in, check_out. Example: {"camping_types":["tent"],"amenities":["waterfront","showers"]}. Do NOT use display fields from result cards (e.g. campsite_equipment, campsite_type_of_use) as filter args — those are for display only. Do NOT use sort_command or any other tool to change campground filters. Always include both check_in and check_out together when filtering by dates. If user asks 'show campsites', 'view sites', 'site numbers', 'site map', or 'tent/RV sites', always call search_campsites (not this tool).

search_campsites

ChatGPT
Show individual campsites within a specific campground (campsite list + map pins). Use when user says: 'show campsites', 'view sites', 'site numbers', 'site map', 'tent sites', 'RV sites', or wants to drill down from campground to specific sites. Also use this tool to FILTER campsite results — this is the ONLY tool for applying campsite filters. REQUIRES facility_id from widgetState.selectedFacilityId or widgetState.campsiteView.facilityId. FILTER RULES: Valid filter args are the top-level schema fields: camping_type, vehicle_length, electricity, amenities, electrical_hookup, key_characteristics, access, special_site_types, group_size, site_use_type, check_in, check_out. Example: {"facility_id":"123","camping_type":["tent"],"amenities":["waterfront"]}. Do NOT use display fields from result cards (e.g. campsite_equipment, campsite_type_of_use) as filter args — those are for display only. Do NOT use sort_command or search_campsites_availability to change campsite filters. IMPORTANT: Dates are OPTIONAL - they are only needed for availability lookups, not for viewing the campsite list itself. If the user has selected dates (both check_in and check_out are set in widgetState), include them at top level to show availability. If dates are missing/null, OMIT check_in/check_out and still call this tool to switch the widget into campsites mode (availability can be added later once dates are chosen). SORTING NOTE: The sort parameter here is for initial fetch ordering. If the widget is ALREADY in campsites mode and user wants to reorder the displayed list, prefer sort_command instead to avoid refetching and losing filter/date state.

search_campsites

ChatGPT
Show individual campsites within a specific campground (campsite list + map pins). Use when user says: 'show campsites', 'view sites', 'site numbers', 'site map', 'tent sites', 'RV sites', or wants to drill down from campground to specific sites. Also use this tool to FILTER campsite results — this is the ONLY tool for applying campsite filters. REQUIRES facility_id from widgetState.selectedFacilityId or widgetState.campsiteView.facilityId. FILTER RULES: Valid filter args are the top-level schema fields: camping_type, vehicle_length, electricity, amenities, electrical_hookup, key_characteristics, access, special_site_types, group_size, site_use_type, check_in, check_out. Example: {"facility_id":"123","camping_type":["tent"],"amenities":["waterfront"]}. Do NOT use display fields from result cards (e.g. campsite_equipment, campsite_type_of_use) as filter args — those are for display only. Do NOT use sort_command or search_campsites_availability to change campsite filters. IMPORTANT: Dates are OPTIONAL - they are only needed for availability lookups, not for viewing the campsite list itself. If the user has selected dates (both check_in and check_out are set in widgetState), include them at top level to show availability. If dates are missing/null, OMIT check_in/check_out and still call this tool to switch the widget into campsites mode (availability can be added later once dates are chosen). SORTING NOTE: The sort parameter here is for initial fetch ordering. If the widget is ALREADY in campsites mode and user wants to reorder the displayed list, prefer sort_command instead to avoid refetching and losing filter/date state.

search_campsites_availability

ChatGPT
Check availability for individual campsites within a facility. Returns per-campsite availability status as an OVERLAY on the existing campsite list — it does NOT replace the campsite list, does NOT establish canonical filters or dates, and must NOT be used to switch views or apply filters. IMPORTANT: Only call this when the widget is already showing campsites (widget_state.routing.mode='campsites'). If the widget is showing campgrounds or mode is unknown, call search_campsites instead (include dates if known). If dates are not set yet, switch to campsites view first and ask the user for dates before checking availability. To change campsite filters, always use search_campsites (not this tool). SORTING NOTE: This tool does NOT support sorting. It only updates availability status. To sort the displayed campsite list, use sort_command instead.

search_campsites_availability

ChatGPT
Check availability for individual campsites within a facility. Returns per-campsite availability status as an OVERLAY on the existing campsite list — it does NOT replace the campsite list, does NOT establish canonical filters or dates, and must NOT be used to switch views or apply filters. IMPORTANT: Only call this when the widget is already showing campsites (widget_state.routing.mode='campsites'). If the widget is showing campgrounds or mode is unknown, call search_campsites instead (include dates if known). If dates are not set yet, switch to campsites view first and ask the user for dates before checking availability. To change campsite filters, always use search_campsites (not this tool). SORTING NOTE: This tool does NOT support sorting. It only updates availability status. To sort the displayed campsite list, use sort_command instead.

sort_command

ChatGPT
UI COMMAND: Reorder the displayed campsite list without re-fetching data. DECISION RULE: If the user asks to sort/reorder/organize the currently displayed campsite list, use THIS tool. Do NOT call search_campsites or search_campsites_availability to sort - those tools do not guarantee ordering and will cause unnecessary refetches. This tool instantly reorders what's already on screen. Supports: site_name, loop_name, availability, price. Only works when widget is in campsites mode (check widgetState.routing.mode='campsites' or widgetState.campsiteView exists).

sort_command

ChatGPT
UI COMMAND: Reorder the displayed campsite list without re-fetching data. DECISION RULE: If the user asks to sort/reorder/organize the currently displayed campsite list, use THIS tool. Do NOT call search_campsites or search_campsites_availability to sort - those tools do not guarantee ordering and will cause unnecessary refetches. This tool instantly reorders what's already on screen. Supports: site_name, loop_name, availability, price. Only works when widget is in campsites mode (check widgetState.routing.mode='campsites' or widgetState.campsiteView exists).

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

App Stats

12

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily