{"openapi":"3.1.0","info":{"title":"Ancientgames API","version":"0.1.0","description":"A fully local, hand-curated historical/archaeological reference for seven ancient board games: Senet, the Royal Game of Ur, Petteia, Latrunculi, the Tafl games (Hnefatafl), Patolli, and Liubo. Covers rules and mechanics, region and era, and a term glossary, explicit throughout about what's archaeologically confirmed versus scholarly reconstruction or debate. Keyless; zero upstream API calls; nothing stored.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://ancientgames.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/ancientgames/docs"},"termsOfService":"https://connectorbay.com/ancientgames/terms"},"servers":[{"url":"https://ancientgames.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/ancientgames/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_info":{"post":{"operationId":"game_info","summary":"Full overview of one ancient board game: region, era/date range, player count, equipment, objective,","description":"Full overview of one ancient board game: region, era/date range, player count, equipment, objective,\n    a plain-language summary, and its overall archaeological status (how well its rules are actually\n    known). Use for \"what is senet\", \"tell me about the Royal Game of Ur\", \"what is liubo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"An ancient game's name or alias.","examples":["Senet","Royal Game of Ur","Petteia","Latrunculi","Hnefatafl","Patolli","Liubo"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"game_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 specific rule or mechanic within a named ancient game — movement, capture, special","description":"Explains one specific rule or mechanic within a named ancient game — movement, capture, special\n    squares, the randomizer, winning conditions, and more — each explicitly tagged with how certain it is:\n    confirmed by archaeology/text, scholarly reconstruction, or actively debated. Rules for several of\n    these games are only partially known, reconstructed from archaeology and scattered literary references\n    rather than a surviving rulebook — this tool says so explicitly per rule rather than presenting a\n    reconstruction as settled fact. Use for \"how does capture work in Latrunculi\", \"what's the movement\n    rule in the Royal Game of Ur\", \"is the tafl capture rule confirmed or guessed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"An ancient game's name or alias.","examples":["Senet","Royal Game of Ur","Hnefatafl"],"minLength":1,"title":"Game","type":"string"},"topic":{"description":"A rule or mechanic within that game to look up.","examples":["movement","capture","special squares","how to win","randomizer"],"minLength":1,"title":"Topic","type":"string"}},"required":["game","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":"Defines a term shared across these ancient games — custodian capture, race game, rosette square,","description":"Defines a term shared across these ancient games — custodian capture, race game, rosette square,\n    boustrophedon path, TLV pattern, dux, hnefatafl, tablut, macuilxochitl, provenance, and more — or lists\n    every term in the glossary when none is given. Use for \"what's a rosette square\", \"what does 'dux'\n    mean\", \"what's custodian capture\", \"list ancient game terms\".","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/games_by_region":{"post":{"operationId":"games_by_region","summary":"Every ancient game associated with a named region — Egypt, Mesopotamia, Greece, Rome, Scandinavia &","description":"Every ancient game associated with a named region — Egypt, Mesopotamia, Greece, Rome, Scandinavia &\n    Northern Europe, Mesoamerica, China, and their common regional aliases (e.g. Viking, Near East, Aztec\n    Empire). Use for \"what board games are from ancient Egypt\", \"any games from the Viking world\",\n    \"what's the Chinese game in this reference\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"A region or area to search for.","examples":["Egypt","Mesopotamia","Greece","Rome","Scandinavia","Mesoamerica","China"],"minLength":1,"title":"Region","type":"string"}},"required":["region"],"title":"games_by_regionArguments","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/games_by_era":{"post":{"operationId":"games_by_era","summary":"Every ancient game associated with a named era or historical period tag — Bronze Age, Classical","description":"Every ancient game associated with a named era or historical period tag — Bronze Age, Classical\n    Antiquity, Viking Age, Han Dynasty, Post-Classic Mesoamerica, and more. Use for \"what games are from\n    the Bronze Age\", \"any ancient games from the Viking Age\", \"what was played during the Han Dynasty\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"era":{"description":"An era or period to search for.","examples":["Bronze Age","Classical Antiquity","Viking Age","Han Dynasty","Post-Classic Mesoamerica"],"minLength":1,"title":"Era","type":"string"}},"required":["era"],"title":"games_by_eraArguments","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/reconstruction_note":{"post":{"operationId":"reconstruction_note","summary":"The honesty tool: for one named game, lays out exactly what's archaeologically confirmed (finds,","description":"The honesty tool: for one named game, lays out exactly what's archaeologically confirmed (finds,\n    dates, findspots) versus what's scholarly reconstruction or actively debated among historians, plus the\n    key evidence behind each. Use this before treating any 'how to play' ruleset as historically certain.\n    Use for \"what do we actually know about how senet was played\", \"is the tafl ruleset confirmed\", \"how\n    reliable is the Royal Game of Ur reconstruction\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"An ancient game's name or alias.","examples":["Senet","Royal Game of Ur","Liubo"],"minLength":1,"title":"Game","type":"string"}},"required":["game"],"title":"reconstruction_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/timeline_overview":{"post":{"operationId":"timeline_overview","summary":"Every game in this reference ordered from oldest to most recent attested evidence, each with its","description":"Every game in this reference ordered from oldest to most recent attested evidence, each with its\n    human-readable approximate date range (not a falsely precise single year), region, and archaeological\n    status. Use for \"what's the oldest board game here\", \"put these ancient games in chronological order\",\n    \"timeline of ancient board games\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"timeline_overviewArguments","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, ordered shortlist of tips for someone trying a named game's modern reconstructed rules","description":"A curated, ordered shortlist of tips for someone trying a named game's modern reconstructed rules\n    for the first time, from most to least essential. Use for \"give me tips for playing senet\",\n    \"how should a beginner approach hnefatafl\", \"tips for the Royal Game of Ur\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game":{"description":"An ancient game's name or alias.","examples":["Senet","Hnefatafl","Patolli"],"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}}}}