Plan outdoor outings with live conditions, and draft and promote outings as a host.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Sourced side-by-side comparison of Catch of a Lifetime with another app (Tinder, Bumble, Hinge, Meetup, Strava, AllTrails, Timeleft, 222, Grass, BunchUps), including where the other app is the better choice. Omit competitor to list every comparison.
Optional metro, for the local version of the comparison page.
App name, e.g. "Meetup" or "AllTrails".
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http catch-of-a-lifetime https://catchofalifetime.com/mcp
Sourced side-by-side comparison of Catch of a Lifetime with another app (Tinder, Bumble, Hinge, Meetup, Strava, AllTrails, Timeleft, 222, Grass, BunchUps), including where the other app is the better choice. Omit competitor to list every comparison.
| Argument | Type | Description |
|---|---|---|
| metro | string | Optional metro, for the local version of the comparison page. |
| competitor | string | App name, e.g. "Meetup" or "AllTrails". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"metro": {
"type": "string",
"maxLength": 80,
"description": "Optional metro, for the local version of the comparison page."
},
"competitor": {
"type": "string",
"maxLength": 60,
"description": "App name, e.g. \"Meetup\" or \"AllTrails\"."
}
}
}Should this outing go ahead? Returns GO, CAUTION or NO-GO with reasons, from the National Weather Service forecast and active alerts, live USGS river gauges (flow and 6-hour trend) for paddling, rafting, fishing and swimming, NOAA tide times on the coast, and sun and moon times. Works in launch metros or anywhere in the US with latitude and longitude.
| Argument | Type | Description |
|---|---|---|
| date | string | "today", "tomorrow", a weekday, "this weekend" or YYYY-MM-DD. Default: the coming Saturday. Forecasts reach about 7 days. |
| metro | string | Launch metro or nearby city, e.g. "Johnson City", "Knoxville", "Denver". |
| activity* | string | e.g. "kayaking", "fly fishing", "hike", "stargazing", "trail run". |
| latitude | number | Latitude of the exact spot (trailhead, put-in, lake). Use with longitude for anywhere in the US. |
| longitude | number | Longitude of the exact spot. |
| place_name | string | Optional label for the spot, e.g. "Watauga River put-in". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"activity"
],
"properties": {
"date": {
"type": "string",
"maxLength": 20,
"description": "\"today\", \"tomorrow\", a weekday, \"this weekend\" or YYYY-MM-DD. Default: the coming Saturday. Forecasts reach about 7 days."
},
"metro": {
"type": "string",
"maxLength": 80,
"description": "Launch metro or nearby city, e.g. \"Johnson City\", \"Knoxville\", \"Denver\"."
},
"activity": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "e.g. \"kayaking\", \"fly fishing\", \"hike\", \"stargazing\", \"trail run\"."
},
"latitude": {
"type": "number",
"maximum": 72,
"minimum": 18,
"description": "Latitude of the exact spot (trailhead, put-in, lake). Use with longitude for anywhere in the US."
},
"longitude": {
"type": "number",
"maximum": -60,
"minimum": -180,
"description": "Longitude of the exact spot."
},
"place_name": {
"type": "string",
"maxLength": 120,
"description": "Optional label for the spot, e.g. \"Watauga River put-in\"."
}
}
}For hosts: turns a plan into a filled-in Catch of a Lifetime outing. Returns a link that opens the app's Plan an outing screen with the name, time, length, meeting spot, group size, notes and weekly repeat already set, plus a conditions check when it's within a week. Nothing is posted until the host taps Post. Times accept "9am", "6:30 pm", "sunrise", "sunset" or "full dark".
| Argument | Type | Description |
|---|---|---|
| zip | string | 5-digit ZIP, so people nearby see it. Omit to use the host's own ZIP. |
| date | string | "tomorrow", a weekday, "this weekend" or YYYY-MM-DD. Default: the coming Saturday. |
| time | string | "9am", "6:30 pm", "18:00", "sunrise", "sunset", "full dark", "morning", "evening". |
| metro | string | Launch metro or nearby city, e.g. "Johnson City", "Knoxville", "Denver". |
| notes | string | Pace, what to bring, parking. Omit for sensible defaults. |
| place | string | Meeting spot, e.g. "Buffalo Mountain Park lower lot". |
| price | string | For approved Pro hosts only, e.g. "$45 per person, pay at the trailhead". |
| title |
Returns the link to join the Catch of a Lifetime waitlist (free for founding members), optionally crediting a friend's referral code. The person signs up themselves on the page; this tool does not collect email addresses.
| Argument | Type | Description |
|---|---|---|
| metro | string | Optional metro, to include its launch progress. |
| referral_code | string | Optional 8-character referral code from a friend who's already on the waitlist. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"metro": {
"type": "string",
"maxLength": 80,
"description": "Optional metro, to include its launch progress."
},
"referral_code": {
"type": "string",
"maxLength": 12,
"description": "Optional 8-character referral code from a friend who's already on the waitlist."
}
}
}Live Catch of a Lifetime waitlist progress: how many people have joined in a metro versus the number needed to open it there. Omit metro for all tracked metros.
| Argument | Type | Description |
|---|---|---|
| metro | string | City or metro, e.g. "Asheville". Omit for all. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"metro": {
"type": "string",
"maxLength": 80,
"description": "City or metro, e.g. \"Asheville\". Omit for all."
}
}
}For organizers leaving Meetup: paste the group's name, its description and its schedule (one event per line) and get a 4-week plan. Includes a ready Tribe description, one-tap weekly outing drafts for each recurring event, and an announcement to post to members. Uses only the text provided; it never accesses Meetup or member data.
| Argument | Type | Description |
|---|---|---|
| zip | string | |
| about | string | The group's description, pasted from its Meetup page. |
| metro | string | |
| members | integer | |
| activity | string | Main activity, if the schedule lines don't say. |
| schedule* | string | One event per line, e.g. "Saturdays 8am hike at Warriors Path\nThursdays 6pm run from Founders Park". |
| group_name* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"group_name",
"schedule"
],
"properties": {
"zip": {
"type": "string",
"maxLength": 10
},
"about": {
"type": "string",
"maxLength": 4000,
"description": "The group's description, pasted from its Meetup page."
},
"metro": {
"type": "string",
"maxLength": 80
},
"members": {
"type": "integer",
"maximum": 100000,
"minimum": 1
},
"activity": {
"type": "string",
"maxLength": 80,
"description": "Main activity, if the schedule lines don't say."
},
"schedule": {
"type": "string",
"maxLength": 2000,
"minLength": 4,
"description": "One event per line, e.g. \"Saturdays 8am hike at Warriors Path\\nThursdays 6pm run from Founders Park\"."
},
"group_name": {
"type": "string",
"maxLength": 120,
"minLength": 2
}
}
}For hosts: everything needed to fill an outing. Ready-to-paste text for iMessage and WhatsApp, an Instagram or Facebook caption with hashtags, a Facebook group or Nextdoor post, story text, a day-before reminder, a morning-of message, an after-outing recap, and a 5-slide carousel outline.
| Argument | Type | Description |
|---|---|---|
| link | string | The outing's share link (catchofalifetime.com/o/…), once it's posted. |
| vibe | string | |
| when* | string | Human-readable, e.g. "Saturday, Nov 8 at 7:00 AM". |
| metro | string | For local hashtags. |
| place | string | |
| title* | string | Outing name. |
| activity | string | |
| host_name | string | |
| spots_left | integer |
Plans a day outside in a US launch metro: National Weather Service forecast, a conditions read for the specific activity (rain, storms, wind, heat, clouds), sunrise/sunset/full-dark times, moon phase, practical tips, and local context. Good for stargazing, fishing, hiking, birding, bouldering, paddling, hunting, cold-water swimming, disc golf and more.
| Argument | Type | Description |
|---|---|---|
| date | string | "today", "tomorrow", a weekday, "this weekend", or YYYY-MM-DD. Defaults to the coming Saturday. Forecasts reach ~7 days ahead. |
| metro* | string | City or launch metro, e.g. "Knoxville", "Johnson City", "Denver". Supported: Knoxville, Tri-Cities, Chattanooga, Asheville, Denver, Salt Lake City, Seattle, Boise, Austin, Dallas–Fort Worth, Jacksonville, Memphis, Nashville, Raleigh–Durham, Richmond, Sacramento, San Antonio, San Francisco, Tampa, Virginia Beach. |
| activity | string | What they want to do, e.g. "stargazing", "fishing", "hiking", "bird watching", "bouldering", "kayaking". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"metro"
],
"properties": {
"date": {
"type": "string",
"maxLength": 20,
"description": "\"today\", \"tomorrow\", a weekday, \"this weekend\", or YYYY-MM-DD. Defaults to the coming Saturday. Forecasts reach ~7 days ahead."
},
"metro": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "City or launch metro, e.g. \"Knoxville\", \"Johnson City\", \"Denver\". Supported: Knoxville, Tri-Cities, Chattanooga, Asheville, Denver, Salt Lake City, Seattle, Boise, Austin, Dallas–Fort Worth, Jacksonville, Memphis, Nashville, Raleigh–Durham, Richmond, Sacramento, San Antonio, San Francisco, Tampa, Virginia Beach."
},
"activity": {
"type": "string",
"maxLength": 80,
"description": "What they want to do, e.g. \"stargazing\", \"fishing\", \"hiking\", \"bird watching\", \"bouldering\", \"kayaking\"."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
| string |
| Name for the outing. Omit to get a good default. |
| weekly | boolean | Repeat every week. |
| activity* | string | What it is, e.g. "sunrise hike", "fly fishing", "kayak", "pickleball open play", "cars and coffee". |
| latitude | number | Latitude of the exact spot (trailhead, put-in, lake). Use with longitude for anywhere in the US. |
| longitude | number | Longitude of the exact spot. |
| group_size | integer | Max people. Snapped to 4, 6, 10 or no limit. |
| ask_before_join | boolean | Host approves each person who joins. |
| duration_minutes | integer | How long. Snapped to 1, 2, 3, 4 hours or all day. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"activity"
],
"properties": {
"zip": {
"type": "string",
"maxLength": 10,
"description": "5-digit ZIP, so people nearby see it. Omit to use the host's own ZIP."
},
"date": {
"type": "string",
"maxLength": 20,
"description": "\"tomorrow\", a weekday, \"this weekend\" or YYYY-MM-DD. Default: the coming Saturday."
},
"time": {
"type": "string",
"maxLength": 20,
"description": "\"9am\", \"6:30 pm\", \"18:00\", \"sunrise\", \"sunset\", \"full dark\", \"morning\", \"evening\"."
},
"metro": {
"type": "string",
"maxLength": 80,
"description": "Launch metro or nearby city, e.g. \"Johnson City\", \"Knoxville\", \"Denver\"."
},
"notes": {
"type": "string",
"maxLength": 2000,
"description": "Pace, what to bring, parking. Omit for sensible defaults."
},
"place": {
"type": "string",
"maxLength": 200,
"description": "Meeting spot, e.g. \"Buffalo Mountain Park lower lot\"."
},
"price": {
"type": "string",
"maxLength": 120,
"description": "For approved Pro hosts only, e.g. \"$45 per person, pay at the trailhead\"."
},
"title": {
"type": "string",
"maxLength": 120,
"description": "Name for the outing. Omit to get a good default."
},
"weekly": {
"type": "boolean",
"description": "Repeat every week."
},
"activity": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "What it is, e.g. \"sunrise hike\", \"fly fishing\", \"kayak\", \"pickleball open play\", \"cars and coffee\"."
},
"latitude": {
"type": "number",
"maximum": 72,
"minimum": 18,
"description": "Latitude of the exact spot (trailhead, put-in, lake). Use with longitude for anywhere in the US."
},
"longitude": {
"type": "number",
"maximum": -60,
"minimum": -180,
"description": "Longitude of the exact spot."
},
"group_size": {
"type": "integer",
"maximum": 500,
"minimum": 2,
"description": "Max people. Snapped to 4, 6, 10 or no limit."
},
"ask_before_join": {
"type": "boolean",
"description": "Host approves each person who joins."
},
"duration_minutes": {
"type": "integer",
"maximum": 1440,
"minimum": 15,
"description": "How long. Snapped to 1, 2, 3, 4 hours or all day."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"when"
],
"properties": {
"link": {
"type": "string",
"format": "uri",
"maxLength": 300,
"description": "The outing's share link (catchofalifetime.com/o/…), once it's posted."
},
"vibe": {
"enum": [
"friendly",
"hype",
"chill"
],
"type": "string"
},
"when": {
"type": "string",
"maxLength": 80,
"minLength": 3,
"description": "Human-readable, e.g. \"Saturday, Nov 8 at 7:00 AM\"."
},
"metro": {
"type": "string",
"maxLength": 80,
"description": "For local hashtags."
},
"place": {
"type": "string",
"maxLength": 200
},
"title": {
"type": "string",
"maxLength": 120,
"minLength": 3,
"description": "Outing name."
},
"activity": {
"type": "string",
"maxLength": 80
},
"host_name": {
"type": "string",
"maxLength": 60
},
"spots_left": {
"type": "integer",
"maximum": 500,
"minimum": 1
}
}
}