{"openapi":"3.1.0","info":{"title":"Disc API","version":"0.1.0","description":"A fully local, hand-curated rules and strategy reference for two classic disc/counter abstract strategy games: the 8x8 flip-and-capture disc game known as Othello or Reversi, and the vertical drop-and-connect game known as Connect Four. Rules by topic, a shared terms glossary, named strategy concepts, opening concepts, real published variants, a side-by-side game comparison, curated beginner tips, and board-size guidance.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://disc.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/disc/docs"},"termsOfService":"https://connectorbay.com/disc/terms"},"servers":[{"url":"https://disc.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/disc/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/rule_lookup":{"post":{"operationId":"rule_lookup","summary":"Full detail for one rule topic of a named game: a summary, numbered explanation points, and concrete","description":"Full detail for one rule topic of a named game: a summary, numbered explanation points, and concrete\n    examples. Omit `topic` to list every rule topic covered for that game. Covers setup, legal moves,\n    flipping/capturing, passing, game end, scoring and turn order for the flip-and-capture disc game\n    (Othello/Reversi); setup, dropping, the win condition, draws, turn order and full columns for the\n    drop-and-connect game (Connect Four). Use for \"what's the flipping rule\", \"how does passing work\",\n    \"what counts as a win in Connect Four\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"Which game, by name or alias.","examples":["othello","reversi","connect four","connect 4"],"minLength":1,"title":"Game","type":"string"},"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A rule topic for that game, by name or alias; omit to list every topic covered.","examples":["setup","legal move","flipping","passing","scoring","win condition","draw"],"title":"Topic"}},"required":["game"],"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":"Definitions of shared and game-specific vocabulary across both games — corner, edge, X-square,","description":"Definitions of shared and game-specific vocabulary across both games — corner, edge, X-square,\n    C-square, frontier disc, stable disc, mobility, parity, threat, odd/even threat, double threat (fork),\n    zugzwang, center column, solved game, branching factor, and more. Omit `term` to list the full glossary.\n    Use for \"what's an X-square\", \"what does zugzwang mean here\", \"what's a double threat\".","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/strategy_concept":{"post":{"operationId":"strategy_concept","summary":"Explains one named strategy concept for a game, in detail. For the flip-and-capture disc game","description":"Explains one named strategy concept for a game, in detail. For the flip-and-capture disc game\n    (Othello/Reversi): corners, edges/X-squares/C-squares, mobility, endgame parity, and frontier/disc-count\n    restraint. For the drop-and-connect game (Connect Four): center-column control, odd/even threats, double\n    threats (forks), blocking/forced responses, and tempo/waiting play. Omit `name` to list every concept\n    for that game. Use for \"why are corners important\", \"what's a double threat\", \"what is parity in the\n    endgame\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"Which game, by name or alias.","examples":["othello","reversi","connect four"],"minLength":1,"title":"Game","type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A strategy concept's name or alias for that game; omit to list every concept for it.","examples":["corners","mobility","parity","center column control","odd/even threats","double threats"],"title":"Name"}},"required":["game"],"title":"strategy_conceptArguments","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/opening_concept":{"post":{"operationId":"opening_concept","summary":"Explains one named early-game/opening idea for a game. For the flip-and-capture disc game: diagonal,","description":"Explains one named early-game/opening idea for a game. For the flip-and-capture disc game: diagonal,\n    perpendicular and parallel openings, and center-minimizing restraint. For the drop-and-connect game:\n    center-column start, mirroring response, building toward a double threat, and claiming column parity.\n    Omit `name` to list every opening concept for that game. Use for \"what is a diagonal opening in\n    Othello\", \"what's the best first move in Connect Four\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"Which game, by name or alias.","examples":["othello","connect four"],"minLength":1,"title":"Game","type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"An opening concept's name or alias for that game; omit to list every concept for it.","examples":["diagonal opening","perpendicular opening","center-column start","mirroring response","claiming column parity"],"title":"Name"}},"required":["game"],"title":"opening_conceptArguments","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":"Explains one named variant of either game — real published variants (Pop Out, Power Up) and informal","description":"Explains one named variant of either game — real published variants (Pop Out, Power Up) and informal\n    ones (large/rectangular boards, a fewest-discs-wins misère version, non-standard starting positions and\n    timed play for the flip-and-capture disc game; wider grids, a five-in-a-row drop version, and a\n    three-dimensional stacking version for the drop-and-connect game). Use for \"what is the Pop Out\n    variant\", \"is there a bigger board version of Othello\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A variant's name or alias, for either game.","examples":["large-board","misere","pop out","power up","five-in-a-row drop","3D stacking"],"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/game_comparison":{"post":{"operationId":"game_comparison","summary":"A side-by-side comparison of both games: board, pieces, objective, and solved-game status for each,","description":"A side-by-side comparison of both games: board, pieces, objective, and solved-game status for each,\n    plus their shared traits and key mechanical differences (placement vs. dropping, capturing vs. never\n    changing existing discs, majority-count vs. instant four-in-a-row). Use for \"compare Othello and\n    Connect Four\", \"how are these two games different\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"game_comparisonArguments","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, importance-ordered shortlist of tips for a player new to a named game. Use for \"what","description":"A curated, importance-ordered shortlist of tips for a player new to a named game. Use for \"what\n    should a beginner focus on in Othello\", \"tips for a new Connect Four player\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"Which game, by name or alias.","examples":["othello","connect four"],"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}},"/v1/tools/board_size_info":{"post":{"operationId":"board_size_info","summary":"Describes a game's standard board size (dimensions and cell count) plus other sizes sometimes seen","description":"Describes a game's standard board size (dimensions and cell count) plus other sizes sometimes seen\n    for it, informally or in specific published variants. Use for \"what size is a standard Othello board\",\n    \"are there bigger Connect Four boards\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"Which game, by name or alias.","examples":["othello","connect four"],"minLength":1,"title":"Game","type":"string"}},"required":["game"],"title":"board_size_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}}}}