Catch of a Lifetime MCP
An MCP server for the Catch of a Lifetime platform that allows AI assistants to plan outdoor outings using live weather and water conditions, check metro launch status, compare with other apps, and provide tools for hosts to draft and promote outings.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://catchofalifetime.com/mcpWhat its tools do
8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to catchofalifetime.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Plan outdoor outings with live weather and water conditions
- Check live waitlist progress for metro launches
- Draft and promote outings as a host
- Compare Catch of a Lifetime with other social apps
Source and maintenance
Protocol and capabilities
- Server
- catch-of-a-lifetime 0.2.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 8 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- 2 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
plan_outdoor_outing — Plan an Outdoor Outing
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.
{
"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\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}metro_launch_status — Metro Launch Status
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.
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}compare_apps — Compare Outdoor & Social Apps
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.
{
"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\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_waitlist_link — Get Waitlist Link
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.
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}conditions_check — Conditions Check (Go / No-Go)
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.
{
"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\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}draft_outing — Draft an Outing
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".
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}outing_promo_kit — Outing Promo Kit
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.
{
"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
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}move_from_meetup — Move a Group from Meetup
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.
{
"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
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}Prompts
2 advertised
host_an_outing — Host an outing
Plan, check conditions for, draft and promote an outing you're leading.
- idea
- What you want to host, e.g. "sunrise hike Saturday near Johnson City" (required)
plan_a_weekend_outside — Plan a weekend outside
Plan an outdoor outing for this weekend in your metro.
- metro
- Your city (required)
- activity
- What you'd like to do
Resources
1 advertised
about — About Catch of a Lifetime
What Catch of a Lifetime is, its status and where to learn more.
catch://about90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 2 of 2 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1368 ms
- 95th percentile latency
- 1368 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1368 ms · metadata changed · 8 tool(s), 1 resource(s), 0 resource template(s), 2 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http catch-of-a-lifetime-mcp https://catchofalifetime.com/mcpCodex
codex mcp add catch-of-a-lifetime-mcp --url https://catchofalifetime.com/mcpCursor
{
"mcpServers": {
"catch-of-a-lifetime-mcp": {
"url": "https://catchofalifetime.com/mcp"
}
}
}Cline
{
"mcpServers": {
"catch-of-a-lifetime-mcp": {
"type": "streamableHttp",
"url": "https://catchofalifetime.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"catch-of-a-lifetime-mcp": {
"type": "http",
"url": "https://catchofalifetime.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http catch-of-a-lifetime-mcp https://catchofalifetime.com/mcpClaude Desktop
https://catchofalifetime.com/mcpWindsurf
{
"mcpServers": {
"catch-of-a-lifetime-mcp": {
"serverUrl": "https://catchofalifetime.com/mcp"
}
}
}Let your agent find its tools
Find servers like Catch of a Lifetime MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Catch of a Lifetime MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.