{"openapi":"3.1.0","info":{"title":"Wordchain API","version":"0.1.0","description":"A fully local, hand-curated verbal-word-game reference: original how-to-play rules and host instructions for Word Chain, Twenty Questions, Ghost, Hangman, I Went to the Market, Botticelli, a Scattergories-style category race, and a Balderdash-style bluffing-definitions game, plus easier/harder difficulty variants, word-list theme suggestions, a group-size/setting game finder, and a word-game glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://wordchain.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/wordchain/docs"},"termsOfService":"https://connectorbay.com/wordchain/terms"},"servers":[{"url":"https://wordchain.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/wordchain/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_rules":{"post":{"operationId":"game_rules","summary":"Full how-to-play detail for one verbal word game: aliases, ideal player count, materials needed,","description":"Full how-to-play detail for one verbal word game: aliases, ideal player count, materials needed,\n    objective, numbered setup and play steps, scoring, and known variants. Use for \"how do I play word\n    chain\", \"what are the rules for Ghost\", \"how does Botticelli work\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A word game's name or alias.","examples":["word chain","ghost","botticelli","twenty questions"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"game_rulesArguments","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/how_to_run":{"post":{"operationId":"how_to_run","summary":"Host/facilitator instructions for one word game: what to prep, how to explain it to new players, tips","description":"Host/facilitator instructions for one word game: what to prep, how to explain it to new players, tips\n    for keeping it running smoothly, common pitfalls to avoid, and how to wrap up. Use for \"how do I run a\n    game of Twenty Questions for kids\", \"tips for hosting a Scattergories-style category race\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A word game's name or alias.","examples":["word chain","hangman","bluff definitions"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"how_to_runArguments","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 short list of tips for someone playing a specific word game for the first time. Use for \"any tips","description":"A short list of tips for someone playing a specific word game for the first time. Use for \"any tips\n    for a first-time Hangman player\", \"how do I get better at Ghost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A word game's name or alias.","examples":["word chain","hangman"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"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}},"/v1/tools/difficulty_variant":{"post":{"operationId":"difficulty_variant","summary":"Concrete rule tweaks to make one word game easier (for beginners or young players) or harder (for an","description":"Concrete rule tweaks to make one word game easier (for beginners or young players) or harder (for an\n    experienced group), without changing the game's core mechanic. Use for \"how do I make Hangman harder\",\n    \"how can I simplify Botticelli for kids\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A word game's name or alias.","examples":["word chain","twenty questions","category dash"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"difficulty_variantArguments","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 common verbal-word-game terms — chain, stumped, forbidden word, indirect question,","description":"Definitions of common verbal-word-game terms — chain, stumped, forbidden word, indirect question,\n    unique answer scoring, alphabet round, and more. Use for \"what does 'unique answer scoring' mean\", \"what's\n    an indirect question in Botticelli\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific word-game 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/category_suggestion":{"post":{"operationId":"category_suggestion","summary":"Guidance for one word-list theme — like animals, countries, or occupations — with a short description,","description":"Guidance for one word-list theme — like animals, countries, or occupations — with a short description,\n    a difficulty tip, which games it suits well, and a handful of illustrative example words. This is\n    guidance for inventing your own prompts on the fly, not an exhaustive word list. Omit theme to see every\n    available theme. Use for \"give me some category ideas for a Scattergories-style game\", \"what's a good\n    theme for a themed Word Chain round\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"theme":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A word-list theme to look up, like 'animals' or 'countries'; omit to list all available themes.","examples":["animals","countries","occupations"],"title":"Theme"}},"title":"category_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/find_game_for_group":{"post":{"operationId":"find_game_for_group","summary":"Recommends verbal word games that fit a stated player count and, optionally, a stated setting like a","description":"Recommends verbal word games that fit a stated player count and, optionally, a stated setting like a\n    car ride, a classroom, or a party — best fit first. Use for \"what word game works for a long car ride\n    with 4 people\", \"best game for a classroom of 25 kids\", \"quiet word game for a waiting room\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player_count":{"description":"How many people will play.","examples":[4,12],"maximum":100,"minimum":1,"title":"Player Count","type":"integer"},"setting":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The setting or occasion, in plain language. Omit for no preference.","examples":["car ride","classroom","party","waiting room","dinner table"],"title":"Setting"}},"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/category_list":{"post":{"operationId":"category_list","summary":"Every word-game family covered (Chain & Memory Games, Guessing & Deduction Games, Category &","description":"Every word-game family covered (Chain & Memory Games, Guessing & Deduction Games, Category &\n    Word-List Games) with how many games are in each. Use for \"what kinds of word games do you cover\".","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}}}}