Turtle Noir

MCP server for Turtle Soup (lateral thinking puzzles). Start sessions, ask questions, get 4-class judgments (Yes/No/Both/Irrelevant), and reveal the full story when allowed.

mcp-turtle-noir

MCP server for Turtle Soup (lateral thinking puzzles).

This package is a thin MCP layer over Turtle Noir backend APIs and is designed for stdio transport.

Homepage | 中文文档 | 日本語

Features

  • start_session: start a new puzzle session
  • ask_question: ask one question and receive a structured result
  • give_up_and_reveal: reveal the solution (subject to backend reveal policy)
  • Multilingual MCP output (zh-CN, en-US, ja-JP) via language
  • Keeps puzzle solutions on the backend during normal gameplay

Transport

  • Supported: stdio
  • Not included in this package: SSE/HTTP MCP transport

Requirements

  • Node.js 18+

Install and Run

npx -y mcp-turtle-noir

MCP Client Config

{
  "mcpServers": {
    "turtle-noir": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-turtle-noir"
      ]
    }
  }
}

With environment variables:

{
  "mcpServers": {
    "turtle-noir": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-turtle-noir"
      ],
      "env": {
        "TURTLE_NOIR_API_BASE_URL": "https://turtlenoir.com/api/mcp",
        "TURTLE_NOIR_API_TIMEOUT_MS": "10000",
        "TURTLE_NOIR_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Tools

1) start_session

Input (all optional):

{
  "region": "US",
  "keyword": "island",
  "language": "en-US"
}

Output:

{
  "session_id": "...",
  "puzzle_id": "...",
  "title": "...",
  "content": "...",
  "language": "en-US",
  "instruction": "...",
  "translation_instruction": "..."
}

2) ask_question

Input:

{
  "session_id": "...",
  "question": "...",
  "language": "en-US"
}

Output:

{
  "session_id": "...",
  "language": "en-US",
  "answer_key": "irrelevant",
  "answer": "Irrelevant",
  "answer_original": "...",
  "short_reason": "...",
  "solved": false,
  "progress": 35,
  "translation_instruction": "..."
}

3) give_up_and_reveal

Input:

{
  "session_id": "...",
  "language": "en-US"
}

Output:

{
  "session_id": "...",
  "language": "en-US",
  "title": "...",
  "solution": "...",
  "cta_url": "https://turtlenoir.com",
  "cta_text": "...",
  "translation_instruction": "..."
}

Note: backend may reject reveal if progress is below a threshold (for example progress < 60).

Environment Variables

  • TURTLE_NOIR_API_BASE_URL (default: https://turtlenoir.com/api/mcp)
  • TURTLE_NOIR_API_TIMEOUT_MS (default: 10000)
  • TURTLE_NOIR_API_KEY (optional Bearer token)

Development

npm install
npm run build
node dist/index.js

Quick Start

See QUICKSTART.md.

Chinese Docs

See README.zh-CN.md.

License

MIT. See LICENSE.

Acknowledgements

Serveurs connexes

NotebookLM Web Importer

Importez des pages web et des vidéos YouTube dans NotebookLM en un clic. Utilisé par plus de 200 000 utilisateurs.

Installer l'extension Chrome