Nothing is kept on the client: start_session hands back a session_id, and both ask_question and give_up_and_reveal work only against it, so a puzzle survives a chat client that forgets everything between turns. What the tool list does not offer is a way to check a guess or close a session as solved — give_up_and_reveal is the documented exit and it is framed as giving up, so a player who works the story out has no call that says so.
A Turtle Soup puzzle server with 3 tools — one to open a session with a chosen difficulty, keyword and region, one to put a question to the session that is open, and one to end it and reveal the full story.
- A puzzle you can steer before it begins: start_session takes difficulty, keyword and region, so the story can be pinned to a theme or a locale rather than drawn blind.
- Questions addressed to a specific game: ask_question carries a session_id alongside the question, so a client holding more than one puzzle open keeps them apart.
- An ending that pays out: give_up_and_reveal closes the session named by session_id and returns the full story, rather than leaving the puzzle unresolved.
- Language chosen per call rather than per install: start_session, ask_question and give_up_and_reveal each take a language parameter documented as zh-CN, en-US or ja-JP, so the same puzzle can be answered in whichever one the player is speaking.
No account and no key. What has to be carried between calls is the session_id that start_session returns — ask_question and give_up_and_reveal both address a game by it — along with a language value from zh-CN, en-US or ja-JP on every call.
One command — npx -y mcp-turtle-noir
