{"openapi":"3.1.0","info":{"title":"Pegsolitaire API","version":"0.1.0","description":"A fully local, hand-curated peg solitaire reference: the English/European 33-hole cross board, the French/European 37-hole board, and the 15-hole triangular board, with rules, jump notation systems, genuine solvability math (coloring-argument parity proofs, the central-game result, jump-count identities), a term glossary, history and skill-level guidance.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://pegsolitaire.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/pegsolitaire/docs"},"termsOfService":"https://connectorbay.com/pegsolitaire/terms"},"servers":[{"url":"https://pegsolitaire.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/pegsolitaire/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/board_info":{"post":{"operationId":"board_info","summary":"Full detail for one peg solitaire board: hole count, shape, standard starting setup, legal jump","description":"Full detail for one peg solitaire board: hole count, shape, standard starting setup, legal jump\n    directions, and symmetry. Use for \"how many holes on the French board\", \"what's the starting setup for the\n    English board\", \"does the triangular board have diagonal jumps\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A board's name or alias.","examples":["English","French","triangular","33-hole","15-hole"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"board_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":"Explains one peg solitaire rules topic (objective, board setup, legal jumps, capturing, chained jumps, no","description":"Explains one peg solitaire rules topic (objective, board setup, legal jumps, capturing, chained jumps, no\n    legal jump available, winning conditions, informal scoring, the reverse \"building game\", changing the\n    starting vacancy, \"problem\" vs. just playing). Omit topic to list every topic with a one-line summary. Use\n    for \"can a peg jump diagonally\", \"what happens if I get stuck\", \"what's the reverse building game\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A rules topic to look up; omit to list every topic.","examples":["chained jumps","winning conditions","building game"],"title":"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/notation_reference":{"post":{"operationId":"notation_reference","summary":"Explains the ways peg solitaire moves and solutions are written down: sequential hole numbering,","description":"Explains the ways peg solitaire moves and solutions are written down: sequential hole numbering,\n    chess-style coordinate notation, explicit from/over/to notation, move-list recording of a full solution\n    (including how chained jumps are grouped), and before/after diagrams. Use for \"how do you write down a peg\n    solitaire move\", \"what does 'd2-d4' mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"notation_referenceArguments","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/solvability_fact":{"post":{"operationId":"solvability_fact","summary":"Genuine, well-documented solvability math and theory: the three-coloring/parity-invariant argument that","description":"Genuine, well-documented solvability math and theory: the three-coloring/parity-invariant argument that\n    proves some peg solitaire positions are mathematically impossible (not just unsolved), the exact identity\n    that clearing N pegs to one always takes exactly N-1 individual jumps, and board-specific results such as\n    the classic 33-hole central game finishing back in the center, or the fact that the 15-hole triangular\n    board is small enough to have been exhaustively checked by computer. Omit board (or pass \"general\") for\n    board-independent theory only. Use for \"can you actually prove a solitaire position is unsolvable\", \"what's\n    the coloring argument\", \"has the triangle board been fully solved by computer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"board":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A board name/alias, or omit (or pass 'general') for board-independent theory.","examples":["English","French","triangular","general"],"title":"Board"}},"title":"solvability_factArguments","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 peg solitaire vocabulary -- peg, hole, jump, capture, vacancy, central game,","description":"Definitions of common peg solitaire vocabulary -- peg, hole, jump, capture, vacancy, central game,\n    problem, move vs. jump, chained jumps, coloring argument, invariant, clearance, stuck position, isolated\n    peg, arm, symmetry, building game, and more. Use for \"what does 'vacancy' mean\", \"what's the difference\n    between a move and a jump\".","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/history_note":{"post":{"operationId":"history_note","summary":"A dated rundown of peg solitaire's documented history, from its disputed early-legend origins through","description":"A dated rundown of peg solitaire's documented history, from its disputed early-legend origins through\n    Ernest Bergholt's celebrated 1912 central-game solution, mid-20th-century mass-market plastic sets, the\n    recreational-mathematics literature that rigorously analyzed the game, and today's computer-verified\n    solutions. Use for \"when was peg solitaire invented\", \"who solved the classic center challenge\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"history_noteArguments","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_board_for_skill_level":{"post":{"operationId":"find_board_for_skill_level","summary":"Suggests a board, starting setup and goal fitted to a stated skill level (beginner, intermediate,","description":"Suggests a board, starting setup and goal fitted to a stated skill level (beginner, intermediate,\n    advanced, expert), with a short reason why it fits. Use for \"what board should a beginner start on\", \"give\n    me a harder solitaire challenge\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"level":{"description":"A skill level.","examples":["beginner","intermediate","advanced","expert"],"minLength":1,"title":"Level","type":"string"}},"required":["level"],"title":"find_board_for_skill_levelArguments","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 ranked shortlist of practical tips for someone new to peg solitaire, from picking a first board through","description":"A ranked shortlist of practical tips for someone new to peg solitaire, from picking a first board through\n    reading a stuck position. Use for \"give me tips for playing peg solitaire\", \"how do I avoid getting stuck\".","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}}}}