{"openapi":"3.1.0","info":{"title":"Shogi API","version":"0.1.0","description":"A fully local, hand-curated Shogi (Japanese chess) reference: how every piece and its promoted form moves, the drop rule that lets a captured piece rejoin play for its capturer, promotion-zone and checkmate/endgame rules, opening formations and king castles, strategic concepts, notation, and beginner tips.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://shogi.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/shogi/docs"},"termsOfService":"https://connectorbay.com/shogi/terms"},"servers":[{"url":"https://shogi.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/shogi/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/piece_info":{"post":{"operationId":"piece_info","summary":"Full detail for one Shogi piece (or its promoted form): how it moves, its Japanese name/romaji, notation","description":"Full detail for one Shogi piece (or its promoted form): how it moves, its Japanese name/romaji, notation\n    abbreviation, category, whether and into what it promotes, and its relative value. Use for \"how does a knight\n    move in shogi\", \"what is a dragon king\", \"how strong is the gold general\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A piece's English name, Japanese name, romaji, notation letter, or a common alias.","examples":["king","gold general","dragon king","P","歩兵","uma"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"piece_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":"In-depth explanation of one Shogi rule topic — board/setup, drops (mochigoma, the signature rule letting a","description":"In-depth explanation of one Shogi rule topic — board/setup, drops (mochigoma, the signature rule letting a\n    captured piece rejoin play for its capturer), the nifu/uchifuzume drop restrictions, the promotion zone, check\n    and checkmate, or how games end. Omit topic to list every available topic. Use for \"what's the drop rule\",\n    \"why can't I drop a pawn on the last rank\", \"what happens if the same position repeats four times\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A rule topic to explain; omit to list every topic.","examples":["drops","promotion zone","checkmate","nifu","sennichite"],"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/term_glossary":{"post":{"operationId":"term_glossary","summary":"Definitions of common Shogi terms — sente/gote, mochigoma, kifu, tesuji, jōseki, kakoi (castle),","description":"Definitions of common Shogi terms — sente/gote, mochigoma, kifu, tesuji, jōseki, kakoi (castle),\n    aigoma, and more, each with its Japanese spelling. Use for \"what does sente mean\", \"what's a tesuji\", \"what's\n    the difference between ibisha and furibisha\".","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.","examples":["sente","tesuji","kakoi","aigoma"],"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/opening_concept":{"post":{"operationId":"opening_concept","summary":"Explains a named Shogi opening strategy family (Static Rook, Ranging Rook and its named variants like","description":"Explains a named Shogi opening strategy family (Static Rook, Ranging Rook and its named variants like\n    Fourth File Rook) or a king castle (Yagura, Mino, Anaguma, Boat Castle) — what it is and its key idea. Omit\n    name to list all. Use for \"what's a Mino castle\", \"what's the difference between static rook and ranging\n    rook\", \"what castle goes with fourth file rook\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A strategic family or castle name; omit to list all.","examples":["Static Rook","Ranging Rook","Yagura","Mino","Anaguma","Fourth File Rook"],"title":"Name"}},"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/strategy_concept":{"post":{"operationId":"strategy_concept","summary":"Explains a general Shogi strategic concept — keeping the initiative, castling before attacking, counting","description":"Explains a general Shogi strategic concept — keeping the initiative, castling before attacking, counting\n    local attackers vs defenders, valuing pieces in hand, when to promote, edge attacks, and more — each with a\n    short example. Omit name to list all. Use for \"how do I get better at shogi\", \"when should I promote a\n    piece\", \"what does counting attackers and defenders mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A strategic concept name; omit to list all.","examples":["initiative","king safety","local superiority","promotion timing"],"title":"Name"}},"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/notation_reference":{"post":{"operationId":"notation_reference","summary":"How Shogi moves are written down: board coordinates, Western letter/square notation, Japanese kifu","description":"How Shogi moves are written down: board coordinates, Western letter/square notation, Japanese kifu\n    notation, a worked example move, and a symbol summary table (promote, decline promotion, drop, same-square\n    recapture). Use for \"how do you write down a shogi move\", \"what does 2f mean\", \"what's uchifuzume notation\n    look like\".","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/beginner_tips":{"post":{"operationId":"beginner_tips","summary":"A curated, ranked shortlist of the most essential things a new Shogi player should know first, from most to","description":"A curated, ranked shortlist of the most essential things a new Shogi player should know first, from most to\n    least essential. Use for \"what should a beginner learn first\", \"give me shogi tips\", \"how do I get started\".","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}},"/v1/tools/piece_comparison":{"post":{"operationId":"piece_comparison","summary":"Side-by-side comparison of two named pieces' movement, promotion, and relative value. Use for \"rook vs","description":"Side-by-side comparison of two named pieces' movement, promotion, and relative value. Use for \"rook vs\n    bishop, which is stronger\", \"silver general vs gold general\", \"pawn vs tokin\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"piece_a":{"description":"First piece to compare.","examples":["rook","silver general","pawn"],"minLength":1,"title":"Piece A","type":"string"},"piece_b":{"description":"Second piece to compare.","examples":["dragon king","gold general","tokin"],"minLength":1,"title":"Piece B","type":"string"}},"required":["piece_a","piece_b"],"title":"piece_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}}}}