{"openapi":"3.1.0","info":{"title":"Crokinole API","version":"0.1.0","description":"A fully local, hand-curated disc-flicking board game reference: rules, equipment specs, scoring, named variants and a shared glossary for Crokinole (Canada), Carrom (South Asia), Pichenotte/Pitchnut (Québec) and Tiddlywinks (England), plus player-count based game recommendations and beginner tips.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://crokinole.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/crokinole/docs"},"termsOfService":"https://connectorbay.com/crokinole/terms"},"servers":[{"url":"https://crokinole.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/crokinole/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 profile for one disc-flicking game: origin, player count, objective, setup, a numbered","description":"Full profile for one disc-flicking game: origin, player count, objective, setup, a numbered\n    how-to-play sequence, equipment, scoring and history. Use for \"how do I play Crokinole\", \"what is\n    Carrom\", \"tell me about Pichenotte\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["Crokinole","Carrom","Pichenotte","Tiddlywinks"],"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/rule_lookup":{"post":{"operationId":"rule_lookup","summary":"Answers one specific rules question for one game — e.g. Crokinole's scoring rings, the twenty","description":"Answers one specific rules question for one game — e.g. Crokinole's scoring rings, the twenty\n    hole, foul shots or must-hit rule; Carrom's queen-covering rule, due lines or fouls; Tiddlywinks'\n    squopping or boondocking; or Pichenotte's house-rule variation. Use for \"what's a line fault in\n    Crokinole\", \"how do you cover the queen in Carrom\", \"what does squopping mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"A game's name or alias.","examples":["Crokinole","Carrom"],"minLength":1,"title":"Game","type":"string"},"topic":{"description":"A rules topic to look up.","examples":["scoring rings","the twenty ring","foul shots","covering the queen","squopping"],"minLength":1,"title":"Topic","type":"string"}},"required":["game","topic"],"title":"rule_lookupArguments","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":"Defines a term from any of the four games — the twenty, ditch, must-hit rule, the queen, due","description":"Defines a term from any of the four games — the twenty, ditch, must-hit rule, the queen, due\n    line, board powder, squop, boondocking, house rules, and more — or lists every term in the glossary\n    when none is given. Use for \"what's a squop\", \"what does 'the twenty' mean\", \"list your terms\".","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/equipment_info":{"post":{"operationId":"equipment_info","summary":"A game's equipment: board dimensions, piece/disc sizes, and other gear (powder, mats, posts,","description":"A game's equipment: board dimensions, piece/disc sizes, and other gear (powder, mats, posts,\n    pots). Use for \"what size is a Crokinole board\", \"how big are carrom men\", \"what's a squidger\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["Crokinole","Carrom","Tiddlywinks"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"equipment_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/scoring_summary":{"post":{"operationId":"scoring_summary","summary":"How one game is scored: the method, when points are counted, a typical target score, and a","description":"How one game is scored: the method, when points are counted, a typical target score, and a\n    worked example. Use for \"how is Crokinole scored\", \"how many points is the queen worth in Carrom\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["Crokinole","Carrom","Tiddlywinks"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"scoring_summaryArguments","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/variant_info":{"post":{"operationId":"variant_info","summary":"Looks up a named play format or variant, such as Crokinole Doubles, Crokinole Tournament Rules,","description":"Looks up a named play format or variant, such as Crokinole Doubles, Crokinole Tournament Rules,\n    Carrom Points Play, or Tiddlywinks Pairs. Use for \"what's Crokinole doubles\", \"how does carrom\n    doubles work\", \"what's the difference between tiddlywinks singles and pairs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A named variant/format.","examples":["Crokinole Doubles","Carrom Doubles","Tiddlywinks Pairs"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"variant_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_group":{"post":{"operationId":"find_game_for_group","summary":"Recommends which of the four games suits a group of a given size, with the closest-fit games","description":"Recommends which of the four games suits a group of a given size, with the closest-fit games\n    ranked first rather than just every game that technically supports that many players. Use for \"what\n    game works for 4 players\", \"best game for just the two of us\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player_count":{"description":"Number of players in the group.","maximum":12,"minimum":1,"title":"Player Count","type":"integer"}},"required":["player_count"],"title":"find_game_for_groupArguments","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, ordered shortlist of tips for a new player of one specific game, from most to least","description":"A curated, ordered shortlist of tips for a new player of one specific game, from most to least\n    essential. Use for \"give me Crokinole tips for a beginner\", \"what should a new Carrom player focus\n    on\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"A game's name or alias.","examples":["Crokinole","Carrom"],"minLength":1,"title":"Game","type":"string"},"count":{"default":5,"description":"How many tips to return.","maximum":10,"minimum":1,"title":"Count","type":"integer"}},"required":["game"],"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}}}}