{"openapi":"3.1.0","info":{"title":"Meeple API","version":"0.1.0","description":"A fully local, hand-curated board & tabletop game finder and rules-overview reference: 50+ modern and classic games each with player-count range, typical duration, a 1-5 complexity rating, category tags, mechanisms and an original how-it-plays description, with keyword search, category browsing, group/game-night recommendation tools, a similar-games finder and a board-gaming glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://meeple.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/meeple/docs"},"termsOfService":"https://connectorbay.com/meeple/terms"},"servers":[{"url":"https://meeple.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/meeple/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 detail for one game: player-count range, typical duration, a 1-5 complexity rating with label,","description":"Full detail for one game: player-count range, typical duration, a 1-5 complexity rating with label,\n    category tags, mechanisms, and an original plain-language description of how it plays. Use for \"how does\n    Wingspan play\", \"how many people can play Codenames\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias.","examples":["Catan","Wingspan","Codenames"],"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/search_games":{"post":{"operationId":"search_games","summary":"Keyword search across every game's name, aliases, categories, mechanisms, theme and description. Use for","description":"Keyword search across every game's name, aliases, categories, mechanisms, theme and description. Use for\n    \"any games about space\", \"something with bluffing in it\", \"two-player abstract games\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword to search for.","examples":["deck building","space","bluffing","two player"],"minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"search_gamesArguments","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_category":{"post":{"operationId":"games_by_category","summary":"Every game tagged with one category. Use category_list to see valid category names. Use for \"list every","description":"Every game tagged with one category. Use category_list to see valid category names. Use for \"list every\n    cooperative game you have\", \"what party games do you know\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A category name.","examples":["Strategy","Party","Cooperative","Deck-Building"],"title":"Category","type":"string"}},"required":["category"],"title":"games_by_categoryArguments","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/category_list":{"post":{"operationId":"category_list","summary":"Every game category with how many games are tagged with it. Use for \"what categories of games do you","description":"Every game category with how many games are tagged with it. Use for \"what categories of games do you\n    cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"category_listArguments","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_game_for_group":{"post":{"operationId":"find_game_for_group","summary":"Suggests games that support the given player count, ranked by how well they also fit an optional target","description":"Suggests games that support the given player count, ranked by how well they also fit an optional target\n    duration and complexity level. Games that can't be played at that player count at all are excluded. Use for\n    \"what can 5 of us play in about 45 minutes\", \"light game for 2 players\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player_count":{"description":"How many people will play.","examples":[4],"maximum":20,"minimum":1,"title":"Player Count","type":"integer"},"duration_minutes":{"anyOf":[{"maximum":300,"minimum":5,"type":"integer"},{"type":"null"}],"default":null,"description":"Target session length in minutes, if you have one.","examples":[60],"title":"Duration Minutes"},"complexity":{"anyOf":[{"maximum":5,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Desired complexity level, 1 (very light) to 5 (very heavy), if you have a preference.","examples":[2],"title":"Complexity"}},"required":["player_count"],"title":"find_game_for_groupArguments","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/complexity_glossary":{"post":{"operationId":"complexity_glossary","summary":"Definitions of common board-gaming terms — weight, gateway game, eurogame, ameritrash, worker placement,","description":"Definitions of common board-gaming terms — weight, gateway game, eurogame, ameritrash, worker placement,\n    deck-building, engine-building, area control, drafting, push your luck, hidden role/social deduction, and\n    more — plus the 1-5 complexity scale this reference uses. Use for \"what does 'worker placement' mean\",\n    \"what's the difference between a eurogame and ameritrash\".","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 terms plus the complexity scale.","examples":["worker placement","eurogame"],"title":"Term"}},"title":"complexity_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/game_night_picker":{"post":{"operationId":"game_night_picker","summary":"A more opinionated pick for a specific game night: give it your player count and, optionally, the time","description":"A more opinionated pick for a specific game night: give it your player count and, optionally, the time\n    you have and a mood, and it returns a short ranked shortlist (default 3) with a one-line reason for each\n    pick. Use for \"pick something for game night, 6 people, an hour, feeling competitive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"player_count":{"description":"How many people will play.","examples":[6],"maximum":20,"minimum":1,"title":"Player Count","type":"integer"},"time_available":{"anyOf":[{"maximum":300,"minimum":5,"type":"integer"},{"type":"null"}],"default":null,"description":"Minutes available for the whole session, if known.","examples":[90],"title":"Time Available"},"mood":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The vibe you're going for, in plain language.","examples":["chill and easy","competitive and cutthroat","brainy strategy","silly party game","cooperative teamwork"],"title":"Mood"}},"required":["player_count"],"title":"game_night_pickerArguments","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/similar_games":{"post":{"operationId":"similar_games","summary":"Finds other games that share categories, mechanisms and a comparable complexity level with a named","description":"Finds other games that share categories, mechanisms and a comparable complexity level with a named\n    game. Use for \"something like Catan but shorter\", \"what else is like Pandemic\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A game's name or alias to find similar games to.","examples":["Catan","Pandemic"],"minLength":1,"title":"Name","type":"string"},"limit":{"default":5,"description":"Max number of similar games to return.","maximum":10,"minimum":1,"title":"Limit","type":"integer"}},"required":["name"],"title":"similar_gamesArguments","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}}}}