{
  "markdown": "# mcp-turtle-noir\n\nMCP server for Turtle Soup (lateral thinking puzzles).\n\nThis package is a thin MCP layer over Turtle Noir backend APIs and is designed for `stdio` transport.\n\n[Homepage](https://turtlenoir.com/) | [中文文档](./README.zh-CN.md) | [日本語](./README.ja-JP.md)\n\n## Features\n\n- `start_session`: start a new puzzle session\n- `ask_question`: ask one question and receive a structured result\n- `give_up_and_reveal`: reveal the solution (subject to backend reveal policy)\n- Multilingual MCP output (`zh-CN`, `en-US`, `ja-JP`) via `language`\n- Keeps puzzle solutions on the backend during normal gameplay\n\n## Transport\n\n- Supported: `stdio`\n- Not included in this package: SSE/HTTP MCP transport\n\n## Requirements\n\n- Node.js 18+\n\n## Install and Run\n\n```bash\nnpx -y mcp-turtle-noir\n```\n\n## MCP Client Config\n\n```json\n{\n  \"mcpServers\": {\n    \"turtle-noir\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-turtle-noir\"\n      ]\n    }\n  }\n}\n```\n\nWith environment variables:\n\n```json\n{\n  \"mcpServers\": {\n    \"turtle-noir\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-turtle-noir\"\n      ],\n      \"env\": {\n        \"TURTLE_NOIR_API_BASE_URL\": \"https://turtlenoir.com/api/mcp\",\n        \"TURTLE_NOIR_API_TIMEOUT_MS\": \"10000\",\n        \"TURTLE_NOIR_API_KEY\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n## Tools\n\n### 1) `start_session`\n\nInput (all optional):\n\n```json\n{\n  \"region\": \"US\",\n  \"keyword\": \"island\",\n  \"language\": \"en-US\"\n}\n```\n\nOutput:\n\n```json\n{\n  \"session_id\": \"...\",\n  \"puzzle_id\": \"...\",\n  \"title\": \"...\",\n  \"content\": \"...\",\n  \"language\": \"en-US\",\n  \"instruction\": \"...\",\n  \"translation_instruction\": \"...\"\n}\n```\n\n### 2) `ask_question`\n\nInput:\n\n```json\n{\n  \"session_id\": \"...\",\n  \"question\": \"...\",\n  \"language\": \"en-US\"\n}\n```\n\nOutput:\n\n```json\n{\n  \"session_id\": \"...\",\n  \"language\": \"en-US\",\n  \"answer_key\": \"irrelevant\",\n  \"answer\": \"Irrelevant\",\n  \"answer_original\": \"...\",\n  \"short_reason\": \"...\",\n  \"solved\": false,\n  \"progress\": 35,\n  \"translation_instruction\": \"...\"\n}\n```\n\n### 3) `give_up_and_reveal`\n\nInput:\n\n```json\n{\n  \"session_id\": \"...\",\n  \"language\": \"en-US\"\n}\n```\n\nOutput:\n\n```json\n{\n  \"session_id\": \"...\",\n  \"language\": \"en-US\",\n  \"title\": \"...\",\n  \"solution\": \"...\",\n  \"cta_url\": \"https://turtlenoir.com\",\n  \"cta_text\": \"...\",\n  \"translation_instruction\": \"...\"\n}\n```\n\nNote: backend may reject reveal if progress is below a threshold (for example `progress < 60`).\n\n## Environment Variables\n\n- `TURTLE_NOIR_API_BASE_URL` (default: `https://turtlenoir.com/api/mcp`)\n- `TURTLE_NOIR_API_TIMEOUT_MS` (default: `10000`)\n- `TURTLE_NOIR_API_KEY` (optional Bearer token)\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnode dist/index.js\n```\n\n## Quick Start\n\nSee `QUICKSTART.md`.\n\n## Chinese Docs\n\nSee `README.zh-CN.md`.\n\n## License\n\nMIT. See `LICENSE`.\n\n## Acknowledgements\n\n- Official Website: [Turtle Noir](https://turtlenoir.com/)\n- Chinese Mirror: [出前一汤](https://haiguitang.net/)\n",
  "bytes": 2944,
  "sha": "1079ec159a7d8235cfb6862f6c37e8a961c6e72d1f5f69fab2f8af5ac798424a",
  "repo_slug": "yuikij/mcp-turtle-noir",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_yuikij_mcp_turtle_noir_e82bb540/readme"
}