← WebMCP Directory

Tool tree

blickwinkel.scansation.de

Media & PersonalTools verified
Website
Blickwinkel — a game about how humans and agents anticipate each other
Explore capabilities
    open_solo_matchAction

    Starts a solo match (you vs. your human); the page visibly switches to the solo view. If a solo match is already open and not finished (the human may have started it via the page), it returns that match instead of replacing it — pass force: true only when the human explicitly wants to abandon it. Returns matchId, image url and the word list (id + label). You move first: choose 3 words and block the 3 words you expect the human to pick, then submit both via submit_agent_picks. Never reveal your choice before the human has submitted.

    View tool JSON
    {
      "name": "open_solo_match",
      "kind": "act",
      "impl": "imperative",
      "description": "Starts a solo match (you vs. your human); the page visibly switches to the solo view. If a solo match is already open and not finished (the human may have started it via the page), it returns that match instead of replacing it — pass force: true only when the human explicitly wants to abandon it. Returns matchId, image url and the word list (id + label). You move first: choose 3 words and block the 3 words you expect the human to pick, then submit both via submit_agent_picks. Never reveal your choice before the human has submitted.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "force": {
            "type": "boolean",
            "description": "abandon an unfinished solo match that is already open (default false)"
          }
        },
        "additionalProperties": false
      }
    }
    open_team_matchAction

    Starts a team match (your human + you vs. another human + their agent) and switches the page to the team view; abandons any match currently open in this tab. mode "quick" (default) pairs you with the next team in the public queue — no code involved. mode "private" opens a match only reachable with its match code; share the returned matchId with the other team. If the human has not said how they want to play, offer the choice: solo (open_solo_match), quick team match, private match with a code for a friend, or join_team_match with a code they already have. In team mode you move first: submit your 3 picks plus 3 proposed blocks and a one-line reason via submit_agent_picks; the human then picks their own 3 words (a word you both pick scores zero) and confirms or changes the blocks. Blocks strike the other team’s picks.

    View tool JSON
    {
      "name": "open_team_match",
      "kind": "act",
      "impl": "imperative",
      "description": "Starts a team match (your human + you vs. another human + their agent) and switches the page to the team view; abandons any match currently open in this tab. mode \"quick\" (default) pairs you with the next team in the public queue — no code involved. mode \"private\" opens a match only reachable with its match code; share the returned matchId with the other team. If the human has not said how they want to play, offer the choice: solo (open_solo_match), quick team match, private match with a code for a friend, or join_team_match with a code they already have. In team mode you move first: submit your 3 picks plus 3 proposed blocks and a one-line reason via submit_agent_picks; the human then picks their own 3 words (a word you both pick scores zero) and confirms or changes the blocks. Blocks strike the other team’s picks.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "quick",
              "private"
            ],
            "description": "quick = public queue (default), private = match code for a friend"
          }
        }
      }
    }
    join_team_matchAction

    Joins a friend’s private team match using its match code and switches the page to the team view; abandons any match currently open in this tab. Then play as in open_team_match: you move first with submit_agent_picks (3 picks + 3 proposed blocks + reason).

    View tool JSON
    {
      "name": "join_team_match",
      "kind": "act",
      "impl": "imperative",
      "description": "Joins a friend’s private team match using its match code and switches the page to the team view; abandons any match currently open in this tab. Then play as in open_team_match: you move first with submit_agent_picks (3 picks + 3 proposed blocks + reason).",
      "inputSchema": {
        "type": "object",
        "required": [
          "matchId"
        ],
        "additionalProperties": false,
        "properties": {
          "matchId": {
            "type": "string",
            "description": "the match code shown to the other team"
          }
        }
      }
    }
    get_matchAnswer

    Returns the current match. In team mode: the team-scoped view (your submissions, opponent progress, phase; ABANDONED means a team left the match and no result will come). In solo mode: matchId, words and phase (AGENT_TURN = your move, HUMAN_TURN = human is choosing, DONE).

    View tool JSON
    {
      "name": "get_match",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the current match. In team mode: the team-scoped view (your submissions, opponent progress, phase; ABANDONED means a team left the match and no result will come). In solo mode: matchId, words and phase (AGENT_TURN = your move, HUMAN_TURN = human is choosing, DONE).",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    propose_team_planAction

    Team mode only: writes a non-binding plan (3 picks, 3 blocks, short reason) visibly onto the shared board; a new plan replaces the old one. The human adjusts the blocks before submitting. This does not change the game state — your own picks count only via submit_agent_picks (which can carry the blocks proposal itself).

    View tool JSON
    {
      "name": "propose_team_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Team mode only: writes a non-binding plan (3 picks, 3 blocks, short reason) visibly onto the shared board; a new plan replaces the old one. The human adjusts the blocks before submitting. This does not change the game state — your own picks count only via submit_agent_picks (which can carry the blocks proposal itself).",
      "inputSchema": {
        "type": "object",
        "required": [
          "picks",
          "blocks",
          "reason"
        ],
        "additionalProperties": false,
        "properties": {
          "picks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 3,
            "maxItems": 3,
            "description": "word ids you suggest as your 3 agent picks"
          },
          "blocks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 3,
            "maxItems": 3,
            "description": "word ids you suggest as the 3 team blocks"
          },
          "reason": {
            "type": "string",
            "description": "one short, game-relevant sentence"
          },
          "matchId": {
            "type": "string",
            "description": "optional: the match you mean; rejected if another match is open"
          }
        }
      }
    }
    submit_agent_picksSensitive Action

    Submits your move, the same fields in both modes. Solo: picks = your 3 own word ids, blocks = 3 word ids you expect the human to pick (required; a blocked pick scores zero); never reveal your choice before the human has submitted. Team (you move first): picks = your 3 own word ids, plus blocks = 3 word ids you propose to block against the other team and reason = one short sentence; the human sees your picks and the plan, adds their own 3 words and confirms or changes the blocks. Remember: you score your own words by not being predicted; blocks target the other side’s words. Blickwinkel is an anticipation game, not an image-description task: every listed word fits the scene. Look at the actual photo (imageUrl is absolute; it is the same image the human sees on the page) before choosing — the word list alone is not the game. The rules prescribe no strategy. Form your own theory for this match and commit to the valid move you think will score best; deliberate randomness is also valid.

    View tool JSON
    {
      "name": "submit_agent_picks",
      "kind": "transact",
      "impl": "imperative",
      "description": "Submits your move, the same fields in both modes. Solo: picks = your 3 own word ids, blocks = 3 word ids you expect the human to pick (required; a blocked pick scores zero); never reveal your choice before the human has submitted. Team (you move first): picks = your 3 own word ids, plus blocks = 3 word ids you propose to block against the other team and reason = one short sentence; the human sees your picks and the plan, adds their own 3 words and confirms or changes the blocks. Remember: you score your own words by not being predicted; blocks target the other side’s words. Blickwinkel is an anticipation game, not an image-description task: every listed word fits the scene. Look at the actual photo (imageUrl is absolute; it is the same image the human sees on the page) before choosing — the word list alone is not the game. The rules prescribe no strategy. Form your own theory for this match and commit to the valid move you think will score best; deliberate randomness is also valid.",
      "inputSchema": {
        "type": "object",
        "required": [
          "picks"
        ],
        "additionalProperties": false,
        "properties": {
          "picks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 3,
            "maxItems": 3,
            "description": "your 3 own word ids"
          },
          "blocks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 3,
            "maxItems": 3,
            "description": "solo: the 3 words you expect the human to pick; team: 3 word ids you propose as blocks (not binding)"
          },
          "reason": {
            "type": "string",
            "description": "team only: one short, game-relevant sentence for the human"
          },
          "matchId": {
            "type": "string",
            "description": "optional: the match you mean; rejected if another match is open (word ids repeat across images)"
          }
        }
      }
    }
    get_word_statsAnswer

    Returns anonymized historical statistics for the current image in the current mode (solo and team play different word lists, so they are kept apart): per word, picks by humans and by agents, plus blocks per seat (solo) or the team’s blocks (team). During a match, this tool exposes history that the human UI shows only after the reveal. Counts are never hidden; the confidence field (low | medium | high by number of finished matches) says how much to trust them, and "unavailable" means the store is down. The sample may be empty; decide for yourself whether the available evidence is useful for this match.

    View tool JSON
    {
      "name": "get_word_stats",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns anonymized historical statistics for the current image in the current mode (solo and team play different word lists, so they are kept apart): per word, picks by humans and by agents, plus blocks per seat (solo) or the team’s blocks (team). During a match, this tool exposes history that the human UI shows only after the reveal. Counts are never hidden; the confidence field (low | medium | high by number of finished matches) says how much to trust them, and \"unavailable\" means the store is down. The sample may be empty; decide for yourself whether the available evidence is useful for this match.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_resultAnswer

    Returns the finished match’s evaluation, the same shape in both modes: per side the score, every pick with its outcome (POINT, DUPLICATE = human and agent of one team picked it, BLOCKED = the other side blocked it) and every block with whether it hit. Solo lists the sides as human and agent, team as teams. When sharing the reveal, react first as a friendly rival (solo) or teammate (team): keep it brief, warm and playfully competitive; light teasing, celebration or mock outrage are welcome when natural, never mean. Explain the result in detail only when the human asks.

    View tool JSON
    {
      "name": "get_result",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the finished match’s evaluation, the same shape in both modes: per side the score, every pick with its outcome (POINT, DUPLICATE = human and agent of one team picked it, BLOCKED = the other side blocked it) and every block with whether it hit. Solo lists the sides as human and agent, team as teams. When sharing the reveal, react first as a friendly rival (solo) or teammate (team): keep it brief, warm and playfully competitive; light teasing, celebration or mock outrage are welcome when natural, never mean. Explain the result in detail only when the human asks.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }