Turtle Noir

Servidor MCP para Turtle Soup (quebra-cabeças de pensamento lateral). Inicie sessões, faça perguntas, obtenha julgamentos de 4 classes (Sim/Não/Ambos/Irrelevante) e revele a história completa quando permitido.

Documentação

mcp-turtle-noir

Servidor MCP para Turtle Soup (quebra-cabeças de pensamento lateral).

Este pacote é uma camada MCP leve sobre as APIs de backend do Turtle Noir e foi projetado para transporte stdio.

Página inicial | 中文文档 | 日本語

Recursos

  • start_session: iniciar uma nova sessão de quebra-cabeça
  • ask_question: fazer uma pergunta e receber um resultado estruturado
  • give_up_and_reveal: revelar a solução (sujeito à política de revelação do backend)
  • Saída MCP multilíngue (zh-CN, en-US, ja-JP) via language
  • Mantém as soluções dos quebra-cabeças no backend durante o jogo normal

Transporte

  • Suportado: stdio
  • Não incluído neste pacote: transporte MCP SSE/HTTP

Requisitos

  • Node.js 18+

Instalação e Execução

npx -y mcp-turtle-noir

Configuração do Cliente MCP

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

Com variáveis de ambiente:

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

Ferramentas

1) start_session

Entrada (todas opcionais):

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

Saída:

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

2) ask_question

Entrada:

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

Saída:

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

Saída:

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

Observação: o backend pode rejeitar a revelação se o progresso estiver abaixo de um limite (por exemplo, progress < 60).

Variáveis de Ambiente

  • TURTLE_NOIR_API_BASE_URL (padrão: https://turtlenoir.com/api/mcp)
  • TURTLE_NOIR_API_TIMEOUT_MS (padrão: 10000)
  • TURTLE_NOIR_API_KEY (token Bearer opcional)

Desenvolvimento

npm install
npm run build
node dist/index.js

Início Rápido

Consulte QUICKSTART.md.

Documentação em Chinês

Consulte README.zh-CN.md.

Licença

MIT. Consulte LICENSE.

Agradecimentos