{"openapi":"3.1.0","info":{"title":"Campgame API","version":"0.1.0","description":"A fully local, hand-curated summer-camp and youth-group large-group game reference: 15 original games across mass field games, relay races, team-building challenges and campfire games, scaled for camp-sized cohorts, each with group-size range, duration, energy level, setting, materials, how-to-run steps, variations, facilitation tips, safety notes and age guidance, plus camp-game terminology and a call-and-response camp-song leading guide.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://campgame.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/campgame/docs"},"termsOfService":"https://connectorbay.com/campgame/terms"},"servers":[{"url":"https://campgame.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/campgame/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/game_info":{"post":{"operationId":"game_info","summary":"Full detail for one large-group camp game: category, group-size range, duration, energy level,","description":"Full detail for one large-group camp game: category, group-size range, duration, energy level,\n    settings it suits, materials, setup, numbered how-to-play steps, variations, facilitation tips, safety\n    notes and age guidance. Use for \"how do you play sharks and minnows\", \"how does octopus tag work\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["Capture the Flag","Blob Tag","Wink Assassin"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"game_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/energizer_suggestion":{"post":{"operationId":"energizer_suggestion","summary":"Games filtered by desired energy level (low/medium/high) and an optional group size or size band —","description":"Games filtered by desired energy level (low/medium/high) and an optional group size or size band —\n    good for finding something to lift (or calm) a large group's energy. Use for \"high-energy game for 60\n    kids\", \"low-key activity to wind a big group down\", \"energizer for a huge group\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_size":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Number of campers, or a size band (tiny/small/medium/large/huge/massive).","examples":["40","large","200"],"title":"Group Size"},"energy_level":{"default":"high","description":"Desired energy level.","examples":["low","medium","high"],"minLength":1,"title":"Energy Level","type":"string"}},"title":"energizer_suggestionArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/term_glossary":{"post":{"operationId":"term_glossary","summary":"Definitions of camp-game terminology — energizer, boundary game, jail, neutral zone, call-and-response,","description":"Definitions of camp-game terminology — energizer, boundary game, jail, neutral zone, call-and-response,\n    cabin group, blob/freeze-tag mechanics, relay leg, baton exchange, spotter, debrief, and more. Use for\n    \"what's a neutral zone\", \"what does debrief mean\", \"what's the tag-back rule\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"term_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/relay_race_info":{"post":{"operationId":"relay_race_info","summary":"Full detail for one relay race (searched only within the Relay Races category): materials, setup,","description":"Full detail for one relay race (searched only within the Relay Races category): materials, setup,\n    numbered how-to-run steps, variations, facilitation tips, safety notes and age guidance. Use for \"how do\n    you run a sponge bucket brigade relay\", \"what's needed for a wheelbarrow relay\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A relay race's name or alias.","examples":["Tarp Chariot Relay","Egg-and-Spoon Relay","Wheelbarrow Relay"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"relay_race_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/find_game_for_setting":{"post":{"operationId":"find_game_for_setting","summary":"Every game suited to one setting (open-field, waterfront, campfire-circle, rainy-day-indoor,","description":"Every game suited to one setting (open-field, waterfront, campfire-circle, rainy-day-indoor,\n    trail-or-woods, gym-or-pavilion), optionally filtered by group size. Use for \"games for a rainy day\",\n    \"what works at the waterfront\", \"campfire circle game for 30 campers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"setting":{"description":"A setting.","examples":["open-field","waterfront","campfire-circle","rainy-day-indoor","trail-or-woods","gym-or-pavilion"],"minLength":1,"title":"Setting","type":"string"},"group_size":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Number of campers, or a size band (tiny/small/medium/large/huge/massive).","examples":["80","medium"],"title":"Group Size"}},"required":["setting"],"title":"find_game_for_settingArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/age_appropriateness":{"post":{"operationId":"age_appropriateness","summary":"A game's minimum age, recommended age range, and adaptation notes, plus the general camp age-band","description":"A game's minimum age, recommended age range, and adaptation notes, plus the general camp age-band\n    reference (primary/junior/intermediate/teen/all-ages). Use for \"what age is red rover appropriate for\",\n    \"is tarp flip challenge okay for younger campers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"age_appropriatenessArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/category_list":{"post":{"operationId":"category_list","summary":"Every game category (Large-Group Games, Relay Races, Team-Building Challenges, Campfire Games) with","description":"Every game category (Large-Group Games, Relay Races, Team-Building Challenges, Campfire Games) with\n    its game count. Use for \"what kinds of camp games do you have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"category_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/beginner_tips":{"post":{"operationId":"beginner_tips","summary":"A curated shortlist of practical tips for a first-time counselor or activity leader running","description":"A curated shortlist of practical tips for a first-time counselor or activity leader running\n    large-group camp games, ordered from most to least essential. Use for \"tips for running big group games\",\n    \"advice for a new camp counselor leading activities\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"count":{"default":5,"description":"How many tips to return.","maximum":12,"minimum":1,"title":"Count","type":"integer"}},"title":"beginner_tipsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}