{"openapi":"3.1.0","info":{"title":"Xiangqi API","version":"0.1.0","description":"A fully local, hand-curated Xiangqi (Chinese chess) reference: how every piece moves (including the cannon's signature jump-capture and the horse/elephant blocking restrictions), the river and palace board geography, the flying-general and perpetual-check/chase rules, checkmate/stalemate rules, opening formations and strategy 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://xiangqi.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/xiangqi/docs"},"termsOfService":"https://connectorbay.com/xiangqi/terms"},"servers":[{"url":"https://xiangqi.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/xiangqi/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 Xiangqi piece: how it moves, its Chinese name/pinyin, notation abbreviation,","description":"Full detail for one Xiangqi piece: how it moves, its Chinese name/pinyin, notation abbreviation,\n    category, where it's restricted to (palace-only, or never crossing the river), any special rule (flying\n    general, cannon jump-capture, hobbled horse's leg, blocked elephant's eye), and its relative value. Use\n    for \"how does the horse move in xiangqi\", \"can the elephant cross the river\", \"how does the cannon\n    capture\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A piece's English name, Chinese name, pinyin, notation letter, or a common alias.","examples":["general","advisor","elephant","horse","chariot","cannon","soldier","炮"],"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 Xiangqi rule topic — board/setup, the river (河界), the palace (九宫), the","description":"In-depth explanation of one Xiangqi rule topic — board/setup, the river (河界), the palace (九宫), the\n    flying-general rule, the cannon's signature jump-capture, the horse/elephant blocking restrictions, check\n    and checkmate (and stalemate, which is a loss rather than a draw), or perpetual-check/perpetual-chase\n    repetition rules. Omit topic to list every available topic. Use for \"what's the flying general rule\",\n    \"how does the cannon actually capture\", \"is stalemate a draw in xiangqi\".","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":["the river","the palace","flying general rule","cannon capture","perpetual check","stalemate"],"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 Xiangqi terms — jiangjun (check), jiangsi (checkmate), kunbi (stalemate-loss),","description":"Definitions of common Xiangqi terms — jiangjun (check), jiangsi (checkmate), kunbi (stalemate-loss),\n    zhong pao (central cannon), pingfeng ma (screen horses), changjiang/changzhuo (perpetual check/chase),\n    and more, each with its Chinese spelling. Use for \"what does jiangjun mean\", \"what's kunbi\", \"what's the\n    difference between changjiang and changzhuo\".","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":["jiangjun","kunbi","zhong pao","changjiang","he jie"],"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 Xiangqi opening (Central Cannon, Screen Horses, Same-Direction Cannons, Three-Step","description":"Explains a named Xiangqi opening (Central Cannon, Screen Horses, Same-Direction Cannons, Three-Step\n    Tiger, ...) or the Advisor-Elephant Fortress defensive formation — what it is and its key idea. Omit name\n    to list all. Use for \"what's a Central Cannon opening\", \"what's the advisor-elephant fortress\", \"what\n    defense goes with central cannon\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"An opening or formation name; omit to list all.","examples":["Central Cannon","Screen Horses","Three-Step Tiger","Advisor-Elephant Fortress","Flying Elephant"],"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 Xiangqi strategic concept — keeping the fortress intact, valuing a cannon by its","description":"Explains a general Xiangqi strategic concept — keeping the fortress intact, valuing a cannon by its\n    available mounts, getting chariots onto open files, watching for hobbled horses, counting local attackers\n    vs defenders, avoiding perpetual-check patterns, and more — each with a short example. Omit name to list\n    all. Use for \"how do I get better at xiangqi\", \"why does my cannon need a mount\", \"what does counting\n    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":["fortress","cannon needs a mount","local superiority","flying general"],"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 Xiangqi moves are written down: board coordinates, WXF-style coordinate notation, traditional","description":"How Xiangqi moves are written down: board coordinates, WXF-style coordinate notation, traditional\n    Chinese notation, a worked example move, and a symbol summary table (advance, retreat, level move). Use\n    for \"how do you write down a xiangqi move\", \"what does C2=5 mean\", \"what does 平 mean in notation\".","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 Xiangqi player should know first, from","description":"A curated, ranked shortlist of the most essential things a new Xiangqi player should know first, from\n    most to least essential. Use for \"what should a beginner learn first\", \"give me xiangqi tips\", \"how do I\n    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, restrictions, special rules and relative value.","description":"Side-by-side comparison of two named pieces' movement, restrictions, special rules and relative value.\n    Use for \"chariot vs cannon, which is stronger\", \"horse vs elephant\", \"advisor vs soldier\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"piece_a":{"description":"First piece to compare.","examples":["chariot","cannon","horse"],"minLength":1,"title":"Piece A","type":"string"},"piece_b":{"description":"Second piece to compare.","examples":["cannon","elephant","soldier"],"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}}}}