outdoorithm
Campground search, live availability, weather, safety, and gear for 10,000+ US campgrounds.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"outdoorithm": {
"url": "https://mcp.outdoorithm.com/mcp"
}
}
}リモートエンドポイント
https://mcp.outdoorithm.com/mcpstreamable-httpできること
ツール一覧
ツール(13)
🟢build_packing_list(campground_id, trip_type, season, adults, children, ...)
Generate a context-aware packing checklist for a camping trip. Returns categorized items from the gear catalog, adjusted for campground amenities, activities, weather, and group size.
入力スキーマ
{
"type": "object",
"properties": {
"campground_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional CUID to personalize based on campground amenities"
},
"trip_type": {
"default": "car_camping",
"enum": [
"car_camping",
"backpacking",
"rv",
"glamping"
],
"type": "string",
"description": "car_camping, backpacking, rv, or glamping (default car_camping)"
},
"season": {
"anyOf": [
{
"enum": [
"spring",
"summer",
"fall",
"winter"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "spring, summer, fall, or winter (optional)"
},
"adults": {
"default": 2,
"type": "integer",
"description": "Number of adults (default 2)"
},
"children": {
"default": 0,
"type": "integer",
"description": "Number of children (default 0)"
},
"has_pets": {
"default": false,
"type": "boolean",
"description": "Whether bringing pets (default false)"
},
"activities": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Planned activities (hiking, fishing, swimming, kayaking, biking, beach)"
},
"nights": {
"default": 2,
"type": "integer",
"description": "Number of nights (default 2)"
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢calculate_drive_times(origin_latitude, origin_longitude, destinations)
Calculate realistic drive times from an origin to multiple campgrounds using Mapbox routing with live traffic. Uses the Mapbox Matrix API for traffic-aware routing. Maximum 9 destinations per request.
入力スキーマ
{
"type": "object",
"properties": {
"origin_latitude": {
"type": "number",
"description": "Latitude of starting location"
},
"origin_longitude": {
"type": "number",
"description": "Longitude of starting location"
},
"destinations": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"description": "List of {campground_id: str, latitude: float, longitude: float} (max 9)"
}
},
"required": [
"origin_latitude",
"origin_longitude",
"destinations"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢check_availability(campground_id, start_date, end_date, min_nights)
Check real-time campground availability for specific dates. Queries the camply-service to check live campsite availability against reservation systems. Supports 30+ providers including RecreationDotGov, ReserveCalifornia, state parks, and county parks.
入力スキーマ
{
"type": "object",
"properties": {
"campground_id": {
"type": "string",
"description": "Campground CUID (e.g., \"ReserveCalifornia:uuid:725\")"
},
"start_date": {
"type": "string",
"description": "Check-in date in YYYY-MM-DD format"
},
"end_date": {
"type": "string",
"description": "Check-out date in YYYY-MM-DD format"
},
"min_nights": {
"default": 1,
"type": "integer",
"description": "Minimum consecutive nights required (1-7, default 1)"
}
},
"required": [
"campground_id",
"start_date",
"end_date"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢check_safety(campground_ids)
Check campgrounds for safety issues, community atmosphere, and active alerts. Checks: - Greenbook community safety (vibe scores, discrimination reports, flag status) - Active campground alerts (closures, restrictions) from enriched data - Red flag detection (prevents recommending unsafe campgrounds)
入力スキーマ
{
"type": "object",
"properties": {
"campground_ids": {
"items": {
"type": "string"
},
"type": "array",
"description": "List of campground CUIDs to check"
}
},
"required": [
"campground_ids"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢compare_gear(gear_ids)
Compare 2-3 gear items side-by-side with specs, pros/cons, verdicts, and comparison summary. Supports lookup by unique_id with slug fallback. Use search_gear first if the user hasn't named specific products.
入力スキーマ
{
"type": "object",
"properties": {
"gear_ids": {
"items": {
"type": "string"
},
"type": "array",
"description": "List of 2-3 gear item identifiers (unique_id or slug)"
}
},
"required": [
"gear_ids"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢get_weather(latitude, longitude, campground_name, check_in_date, check_out_date)
Get camping-specific 7-day weather forecast with suitability ratings and gear recommendations. Uses Open-Meteo's commercial API to provide: - Daily high/low temps, conditions, precipitation, wind - Camping suitability rating per day (excellent/good/fair/poor/not_recommended) - Gear recommendations based on conditions - Safety warnings for extreme weather - Best camping days in the forecast period Open-Meteo licenses this data under CC BY 4.0: the response carries an `attribution` field, and that credit must be shown wherever you present the forecast.
入力スキーマ
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"description": "Campground latitude"
},
"longitude": {
"type": "number",
"description": "Campground longitude"
},
"campground_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Campground name for context (optional)"
},
"check_in_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Planned check-in date ISO format (optional)"
},
"check_out_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Planned check-out date ISO format (optional)"
}
},
"required": [
"latitude",
"longitude"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢find_similar_campgrounds(campground_id, result_limit, max_distance_km, semantic_weight, structured_weight)
Find campgrounds similar to a given campground using vector embedding similarity. Uses pre-computed embeddings combining review text (semantic) and structured attributes (amenities, terrain, activities) for nuanced similarity matching.
入力スキーマ
{
"type": "object",
"properties": {
"campground_id": {
"type": "string",
"description": "CUID of the target campground to find similar ones for"
},
"result_limit": {
"default": 20,
"type": "integer",
"description": "Number of results (1-50, default 20)"
},
"max_distance_km": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional max distance in km (omit for nationwide search)"
},
"semantic_weight": {
"default": 0.6,
"type": "number",
"description": "Weight for text/review similarity (0-1, default 0.6)"
},
"structured_weight": {
"default": 0.4,
"type": "number",
"description": "Weight for attribute similarity (0-1, default 0.4)"
}
},
"required": [
"campground_id"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢get_campground_details(campground_id)
Get comprehensive details for a specific campground including amenities, reviews, safety, and seasonal ratings. Returns ~80 curated fields (not the raw 214-column dump) including: - Identity, location, fees, site info - All amenity and activity booleans + descriptions - Review summaries, best campsites, common complaints, tips - Greenbook community safety (vibe score, flag status) - Seasonal LLM ratings (spring/summer/fall/winter) - Sentiment trend direction - Hero image with credits Data coverage: a missing or empty field means the attribute isn't in our records, not that the feature is absent at the campground. Coverage varies by provider; the campground operator is the authoritative source.
入力スキーマ
{
"type": "object",
"properties": {
"campground_id": {
"type": "string",
"description": "Unique campground identifier (CUID format, e.g., \"RecreationDotGov:232447:1074\")"
}
},
"required": [
"campground_id"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢get_gear_for_campground(campground_id, slot_type)
Get personalized gear recommendations for a specific campground. Returns pre-computed recommendations across slot types: essential (must-have), activity (activity-matched), comfort (nice-to-have), amenity_gap (compensates for missing amenities). Each includes product details and purchase links.
入力スキーマ
{
"type": "object",
"properties": {
"campground_id": {
"type": "string",
"description": "Campground CUID"
},
"slot_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional filter — one of essential/activity/comfort/amenity_gap"
}
},
"required": [
"campground_id"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢prepare_reservation(campground_id, start_date, end_date, party_size)
Prepare a one-tap booking handoff for the user's chosen campground/dates. Returns a pre-filled deep link to the operator's reservation page plus the booking-window context (release date/time, ToS-compliant guidance, alert suggestion) the agent needs to advise the user. Does NOT book on behalf — third-party booking is prohibited by Recreation.gov, ReserveCalifornia, ReserveAmerica, and every other supported public-land operator. Pair with ``check_availability`` first to confirm the dates are reservable and to surface site-specific ``booking_url`` values when available.
入力スキーマ
{
"type": "object",
"properties": {
"campground_id": {
"type": "string",
"description": "Outdoorithm CUID (e.g. ``RecreationDotGov:232447``)."
},
"start_date": {
"type": "string",
"description": "Check-in date (YYYY-MM-DD)."
},
"end_date": {
"type": "string",
"description": "Check-out date (YYYY-MM-DD)."
},
"party_size": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional group size. Surfaced in the user-facing summary;\nmost operators don't accept this in URL params, so it isn't\nembedded in the deep link."
}
},
"required": [
"campground_id",
"start_date",
"end_date"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢search_campgrounds(near_location, latitude, longitude, max_distance_miles, states, ...)
Search for campgrounds with 40+ filters including location, amenities, activities, and community safety. Requires at least one location constraint: near_location, latitude+longitude, or states.
入力スキーマ
{
"type": "object",
"properties": {
"near_location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "City, address, or landmark (e.g., \"Oakland, CA\", \"Yosemite\")"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude coordinate"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude coordinate"
},
"max_distance_miles": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum distance from location in miles"
},
"states": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "US state codes to filter by (e.g., [\"CA\", \"OR\"])"
},
"max_price_per_night": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum price filter"
},
"min_price_per_night": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum price filter"
},
"requires_accessibility": {
"default": false,
"type": "boolean",
"description": "Require wheelchair/ADA accessible features"
},
"requires_water_hookups": {
"default": false,
"type": "boolean",
"description": "Require water hookups"
},
"requires_electric_hookups": {
"default": false,
"type": "boolean",
"description": "Require electric hookups"
},
"requires_potable_water": {
"default": false,
"type": "boolean",
"description": "Require potable water"
},
"requires_showers": {
"default": false,
"type": "boolean",
"description": "Require shower facilities"
},
"requires_flush_toilets": {
"default": false,
"type": "boolean",
"description": "Require flush toilets"
},
"requires_dump_station": {
"default": false,
"type": "boolean",
"description": "Require RV dump station"
},
"prefers_family_friendly": {
"default": false,
"type": "boolean",
"description": "Prefer family-friendly campgrounds"
},
"prefers_secluded": {
"default": false,
"type": "boolean",
"description": "Prefer secluded/private campgrounds"
},
"prefers_adventure": {
"default": false,
"type": "boolean",
"description": "Prefer adventure-oriented campgrounds"
},
"prefers_relaxation": {
"default": false,
"type": "boolean",
"description": "Prefer relaxation-focused campgrounds"
},
"prefers_quiet": {
"default": false,
"type": "boolean",
"description": "Prefer quiet campgrounds"
},
"prefers_privacy": {
"default": false,
"type": "boolean",
"description": "Prefer private campsites"
},
"prefers_lakefront": {
"default": false,
"type": "boolean",
"description": "Prefer lakefront locations"
},
"prefers_oceanfront": {
"default": false,
"type": "boolean",
"description": "Prefer ocean/beach locations"
},
"prefers_riverfront": {
"default": false,
"type": "boolean",
"description": "Prefer riverside locations"
},
"prefers_mountain": {
"default": false,
"type": "boolean",
"description": "Prefer mountain settings"
},
"prefers_forest": {
"default": false,
"type": "boolean",
"description": "Prefer forested settings"
},
"prefers_beach": {
"default": false,
"type": "boolean",
"description": "Prefer beach settings"
},
"prefers_desert": {
"default": false,
"type": "boolean",
"description": "Prefer desert settings"
},
"prefers_stargazing": {
"default": false,
"type": "boolean",
"description": "Prefer dark sky areas"
},
"prefers_kayaking": {
"default": false,
"type": "boolean",
"description": "Prefer kayaking access"
},
"prefers_hiking": {
"default": false,
"type": "boolean",
"description": "Prefer hiking trails"
},
"prefers_fishing": {
"default": false,
"type": "boolean",
"description": "Prefer fishing access"
},
"prefers_swimming": {
"default": false,
"type": "boolean",
"description": "Prefer swimming areas"
},
"prefers_boating": {
"default": false,
"type": "boolean",
"description": "Prefer boating access"
},
"preferred_season": {
"anyOf": [
{
"enum": [
"spring",
"summer",
"fall",
"winter"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Preferred season (summer/fall/winter/spring)"
},
"min_seasonal_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum seasonal score (1-5)"
},
"require_greenbook_safe": {
"default": false,
"type": "boolean",
"description": "Only show campgrounds with OK safety status"
},
"min_greenbook_vibe_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum community vibe score (0-100)"
},
"no_discrimination_reports": {
"default": false,
"type": "boolean",
"description": "Exclude campgrounds with discrimination reports"
},
"requires_cell_coverage": {
"default": false,
"type": "boolean",
"description": "Require cell phone coverage"
},
"preferred_carrier": {
"anyOf": [
{
"enum": [
"verizon",
"att",
"tmobile"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Preferred carrier (verizon/att/tmobile)"
},
"min_cell_coverage_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum cell coverage score (1-5)"
},
"min_review_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum number of reviews"
},
"min_avg_sentiment": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum average sentiment (0-5)"
},
"sentiment_trending": {
"anyOf": [
{
"enum": [
"improving",
"stable",
"declining"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by trend (improving/stable/declining)"
},
"only_improving_sentiment": {
"default": false,
"type": "boolean",
"description": "Only show campgrounds with improving reviews"
},
"camping_type": {
"anyOf": [
{
"enum": [
"tent",
"rv",
"primitive",
"group",
"cabin",
"glamping"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Camping type (tent/rv/primitive/group/cabin/glamping)"
},
"allows_pets": {
"default": false,
"type": "boolean",
"description": "Only show pet-friendly campgrounds"
},
"limit": {
"default": 20,
"type": "integer",
"description": "Maximum results (1-50, default 20)"
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢search_gear(query, kit_name, category_name, max_price, min_price, ...)
Search the Outdoorithm gear catalog by keyword, category, price range, kit, necessity, or recommendation tier. Returns matching products with prices, verdicts, and purchase links. For campground-specific recommendations, see get_gear_for_campground.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Text search across product name, manufacturer, keywords, and description"
},
"kit_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by kit (e.g., Basics, Camp Kitchen, Hiking, Cold Weather)"
},
"category_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by category (e.g., Shelter, Sleeping Gear, Furniture, Electronics)"
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum price in USD"
},
"min_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum price in USD"
},
"necessity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by level — Essential, Helpful, or Optional"
},
"recommendation_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by tier — Our Pick, Value Pick, or Comfort Pick"
},
"limit": {
"default": 10,
"type": "integer",
"description": "Max results (1-20, default 10)"
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}🟢health_check
Check server health and connectivity. Returns: Dictionary with health status including: - status: "healthy" or "unhealthy" - version: Server version - environment: Current environment (dev/staging/prod)
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}コミュニティ
エビデンス