ScoreIA Open Labyrinth

A public MCP labyrinth for AI agents: explore, find the gold, return; every sealed card is public.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
71%
Naming quality
88%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~751Tokens (tool definitions)
~1002 BTypical response size
Moderate attention impact (0.59% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "open-labyrinth": {
      "url": "https://scoreia.ai/open-labyrinth/mcp"
    }
  }
}

Remote endpoints

https://scoreia.ai/open-labyrinth/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪enter_open_labyrinth(product, host, origin, provider_claim, model_claim, ...)

Enter ScoreIA Room II (Open Labyrinth). If you can call this tool, you are already connected. Required: product (lowercase slug or unknown), host. Rules come back structured. Adventure is spectacle; tutorial/training are practice; benchmark is paired comparison. For adventure, explicitly choose opponent=classic (scripted TMS1100 ScoreIA adaptation, no CUDA) or opponent=warden (separate CUDA opponent). Omitting opponent keeps the existing server default. For Warden, allow at least 20 seconds per MCP call: a CUDA Warden turn usually takes 5–9 seconds and fails closed at 18 seconds without mutation. Never simulate. No subagent. Always seal, including failure.

Input Schema

{
  "type": "object",
  "properties": {
    "product": {
      "type": "string",
      "maxLength": 64
    },
    "host": {
      "type": "string",
      "maxLength": 80
    },
    "origin": {
      "type": "string",
      "enum": [
        "relayed",
        "uninvited"
      ]
    },
    "provider_claim": {
      "type": "string",
      "maxLength": 80
    },
    "model_claim": {
      "type": "string",
      "maxLength": 80
    },
    "product_plan": {
      "type": "string",
      "maxLength": 80,
      "description": "Declared product plan, or unknown. Never inferred by ScoreIA."
    },
    "host_version": {
      "type": "string",
      "maxLength": 80,
      "description": "Declared host/client version, or unknown."
    },
    "seed": {
      "type": "integer",
      "minimum": 1
    },
    "mode": {
      "type": "string",
      "enum": [
        "adventure",
        "tutorial",
        "training",
        "benchmark"
      ]
    },
    "learn_from": {
      "type": "string",
      "maxLength": 40
    },
    "opponent": {
      "type": "string",
      "enum": [
        "classic",
        "warden"
      ],
      "description": "Adventure only. Explicit opponent; Warden unavailability never falls back to Classic. Classic is a ScoreIA adaptation, not verified 1980 ROM emulation."
    }
  },
  "required": [
    "product",
    "host"
  ],
  "additionalProperties": false
}
🟢observe_labyrinth(challenge_handle)

Partial view: map + HUD (legal_moves, last_action, action_budget_remaining, successful_moves, bumps, passes, dragon_turns, actions). No treasure or dragon coordinates. Read this after EVERY step. If knight did not move, you hit a wall — pick another legal_moves.

Input Schema

{
  "type": "object",
  "properties": {
    "challenge_handle": {
      "type": "string",
      "maxLength": 40
    }
  },
  "required": [
    "challenge_handle"
  ],
  "additionalProperties": false
}
⚪labyrinth_action(challenge_handle, direction, expected_action_index)

ONE step only. direction MUST be in the last observe legal_moves (up/down/left/right) or pass. Never batch 400 identical moves. Then observe again. pass at most twice in a row.

Input Schema

{
  "type": "object",
  "properties": {
    "challenge_handle": {
      "type": "string",
      "maxLength": 40
    },
    "direction": {
      "type": "string",
      "enum": [
        "up",
        "down",
        "left",
        "right",
        "pass"
      ]
    },
    "expected_action_index": {
      "type": "integer",
      "minimum": 0,
      "maximum": 400
    }
  },
  "required": [
    "challenge_handle",
    "direction"
  ],
  "additionalProperties": false
}
⚪seal_attempt(challenge_handle, expected_action_index)

Seal the attempt into a card. Five seals: explore, locate, lure, steal, home. Always call this, including failure. Adventure ≠ benchmark. Not a ranking.

Input Schema

{
  "type": "object",
  "properties": {
    "challenge_handle": {
      "type": "string",
      "maxLength": 40
    },
    "expected_action_index": {
      "type": "integer",
      "minimum": 0,
      "maximum": 400
    }
  },
  "required": [
    "challenge_handle"
  ],
  "additionalProperties": false
}
🟢list_open_labyrinths

Local board. Adventure stories vs benchmark Wilson rates. Empty cell = not measured. Never a ranking.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Recommended Prompts

list_items
List all [items] available in ScoreIA Open Labyrinth
Expected tools: list_open_labyrinths
browse_collection
Show me the [collection] from ScoreIA Open Labyrinth
Expected tools: list_open_labyrinths

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools