Turtle Noir

Servidor MCP para Turtle Soup (acertijos de pensamiento lateral). Inicia sesiones, haz preguntas, obtén juicios de 4 clases (Sí/No/Ambos/Irrelevante) y revela la historia completa cuando esté permitido.

Documentación

mcp-turtle-noir

Servidor MCP para Turtle Soup (acertijos de pensamiento lateral).

Este paquete es una capa MCP delgada sobre las API de backend de Turtle Noir y está diseñado para el transporte stdio.

Página principal | Documentación en chino | Japonés

Características

  • start_session: iniciar una nueva sesión de acertijos
  • ask_question: hacer una pregunta y recibir un resultado estructurado
  • give_up_and_reveal: revelar la solución (sujeto a la política de revelación del backend)
  • Salida MCP multilingüe (zh-CN, en-US, ja-JP) mediante language
  • Mantiene las soluciones de los acertijos en el backend durante el juego normal

Transporte

  • Soportado: stdio
  • No incluido en este paquete: transporte MCP SSE/HTTP

Requisitos

  • Node.js 18+

Instalación y Ejecución

npx -y mcp-turtle-noir

Configuración del Cliente MCP

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

Con variables de entorno:

{
  "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"
      }
    }
  }
}

Herramientas

1) start_session

Entrada (todo opcional):

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

Salida:

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

2) ask_question

Entrada:

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

Salida:

{
  "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

Entrada:

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

Salida:

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

Nota: el backend puede rechazar la revelación si el progreso está por debajo de un umbral (por ejemplo, progress < 60).

Variables de Entorno

  • TURTLE_NOIR_API_BASE_URL (por defecto: https://turtlenoir.com/api/mcp)
  • TURTLE_NOIR_API_TIMEOUT_MS (por defecto: 10000)
  • TURTLE_NOIR_API_KEY (token Bearer opcional)

Desarrollo

npm install
npm run build
node dist/index.js

Inicio Rápido

Ver QUICKSTART.md.

Documentación en Chino

Ver README.zh-CN.md.

Licencia

MIT. Ver LICENSE.

Agradecimientos