← WebMCP Directory

Tool tree

open-mercy.com

Media & PersonalTools verified
Website
Play Open Mercy free in your browser - the ruthless stacking card game. Real-time multiplayer with friends (2-20 players), vs AI mode, Draw 6, Draw 10, Skip Everyone, Color Roulette, hand swaps,…
Explore capabilities

    page: Every page

    scan_images_c2paAnswer

    Scan every <img> on the current page for C2PA Content Credentials (content provenance metadata) and return a per-image summary: whether a manifest is present, the claim generator (the tool that produced or edited the image), the title, and the signer name. Use this to find which images on a page carry provenance data. Note: provenance is decoded but NOT cryptographically verified.

    View tool JSON
    {
      "name": "scan_images_c2pa",
      "kind": "answer",
      "impl": "imperative",
      "description": "Scan every <img> on the current page for C2PA Content Credentials (content provenance metadata) and return a per-image summary: whether a manifest is present, the claim generator (the tool that produced or edited the image), the title, and the signer name. Use this to find which images on a page carry provenance data. Note: provenance is decoded but NOT cryptographically verified.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Maximum number of images to fetch and scan (default 25, max 100)."
          }
        },
        "required": []
      },
      "page": "/"
    }
    inspect_image_c2paAnswer

    Fetch a single image (by CSS selector or URL) and return its fully decoded C2PA manifest store: every manifest's claim, assertions (e.g. c2pa.actions edit history, schema.org authorship), and the COSE signature details (algorithm and signing-certificate identity). Provide exactly one of `selector` or `url`. Note: the signature is decoded but NOT cryptographically verified.

    View tool JSON
    {
      "name": "inspect_image_c2pa",
      "kind": "answer",
      "impl": "imperative",
      "description": "Fetch a single image (by CSS selector or URL) and return its fully decoded C2PA manifest store: every manifest's claim, assertions (e.g. c2pa.actions edit history, schema.org authorship), and the COSE signature details (algorithm and signing-certificate identity). Provide exactly one of `selector` or `url`. Note: the signature is decoded but NOT cryptographically verified.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "selector": {
            "type": "string",
            "maxLength": 8192,
            "description": "CSS selector for an <img> element on the page."
          },
          "url": {
            "type": "string",
            "maxLength": 8192,
            "description": "Same-origin image URL (absolute same-origin, or relative to the current page) to fetch and inspect. Cross-origin URLs are rejected."
          }
        },
        "required": []
      },
      "page": "/"
    }

    page: Home

    how_to_playAction

    Return a primer on Open Mercy rules, card types, and basic tactics.

    View tool JSON
    {
      "name": "how_to_play",
      "kind": "act",
      "impl": "imperative",
      "description": "Return a primer on Open Mercy rules, card types, and basic tactics.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    get_stateAnswer

    Snapshot of the current game from your seat: your hand, the public table state, whose turn it is, what action is required of you now, and the exact legal moves. Opponent hands are never revealed. Read this before every move.

    View tool JSON
    {
      "name": "get_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Snapshot of the current game from your seat: your hand, the public table state, whose turn it is, what action is required of you now, and the exact legal moves. Opponent hands are never revealed. Read this before every move.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    wait_for_turnAction

    Block until it is your turn or an action is required of you, then return the fresh state. Use this instead of polling. Resolves immediately if you can already act.

    View tool JSON
    {
      "name": "wait_for_turn",
      "kind": "act",
      "impl": "imperative",
      "description": "Block until it is your turn or an action is required of you, then return the fresh state. Use this instead of polling. Resolves immediately if you can already act.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "timeout_ms": {
            "type": "number",
            "description": "Max wait in ms (default 60000)."
          }
        }
      },
      "page": "/"
    }
    start_single_playerAction

    Start an offline game against the bot, exactly like the in-app vs-bot game: you versus one bot ("Terminator"). Deals hands and begins play.

    View tool JSON
    {
      "name": "start_single_player",
      "kind": "act",
      "impl": "imperative",
      "description": "Start an offline game against the bot, exactly like the in-app vs-bot game: you versus one bot (\"Terminator\"). Deals hands and begins play.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "stacking_mode": {
            "type": "string",
            "enum": [
              "official",
              "house",
              "casual"
            ]
          }
        }
      },
      "page": "/"
    }
    create_multiplayer_gameAction

    Create an online room and become the host. Returns the room code to share.

    View tool JSON
    {
      "name": "create_multiplayer_game",
      "kind": "act",
      "impl": "imperative",
      "description": "Create an online room and become the host. Returns the room code to share.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "stacking_mode": {
            "type": "string",
            "enum": [
              "official",
              "house",
              "casual"
            ]
          }
        }
      },
      "page": "/"
    }
    join_multiplayer_gameAction

    Join an online room by its 6-character room code.

    View tool JSON
    {
      "name": "join_multiplayer_game",
      "kind": "act",
      "impl": "imperative",
      "description": "Join an online room by its 6-character room code.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_code": {
            "type": "string"
          }
        },
        "required": [
          "room_code"
        ]
      },
      "page": "/"
    }
    start_multiplayer_gameAction

    Start the multiplayer game you host. Requires at least 2 players.

    View tool JSON
    {
      "name": "start_multiplayer_game",
      "kind": "act",
      "impl": "imperative",
      "description": "Start the multiplayer game you host. Requires at least 2 players.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    play_cardAction

    Play a card from your hand by id. For wild cards you must also pass a color. The move is rejected if it is not in your current legal moves.

    View tool JSON
    {
      "name": "play_card",
      "kind": "act",
      "impl": "imperative",
      "description": "Play a card from your hand by id. For wild cards you must also pass a color. The move is rejected if it is not in your current legal moves.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "card_id": {
            "type": "string"
          },
          "color": {
            "type": "string",
            "enum": [
              "red",
              "blue",
              "green",
              "yellow"
            ],
            "description": "Required for wild cards."
          }
        },
        "required": [
          "card_id"
        ]
      },
      "page": "/"
    }
    draw_cardAction

    Draw from the deck. If a draw stack is active you take the penalty; otherwise you draw until you find a playable card.

    View tool JSON
    {
      "name": "draw_card",
      "kind": "act",
      "impl": "imperative",
      "description": "Draw from the deck. If a draw stack is active you take the penalty; otherwise you draw until you find a playable card.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    pick_wild_colorAction

    Choose the color for a wild card you just drew and are about to play.

    View tool JSON
    {
      "name": "pick_wild_color",
      "kind": "act",
      "impl": "imperative",
      "description": "Choose the color for a wild card you just drew and are about to play.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "enum": [
              "red",
              "blue",
              "green",
              "yellow"
            ]
          }
        },
        "required": [
          "color"
        ]
      },
      "page": "/"
    }
    call_unoAction

    Call MERCY (the last-card call). Do this when you are about to be left with one card to avoid a penalty.

    View tool JSON
    {
      "name": "call_uno",
      "kind": "act",
      "impl": "imperative",
      "description": "Call MERCY (the last-card call). Do this when you are about to be left with one card to avoid a penalty.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    swap_handsAction

    After playing a number 7, swap your entire hand with the chosen opponent.

    View tool JSON
    {
      "name": "swap_hands",
      "kind": "act",
      "impl": "imperative",
      "description": "After playing a number 7, swap your entire hand with the chosen opponent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target_player_id": {
            "type": "string"
          }
        },
        "required": [
          "target_player_id"
        ]
      },
      "page": "/"
    }
    skip_swapAction

    Decline the number 7 swap and pass your turn.

    View tool JSON
    {
      "name": "skip_swap",
      "kind": "act",
      "impl": "imperative",
      "description": "Decline the number 7 swap and pass your turn.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    set_roulette_colorAction

    Choose the target color when you are the victim of a wild color roulette.

    View tool JSON
    {
      "name": "set_roulette_color",
      "kind": "act",
      "impl": "imperative",
      "description": "Choose the target color when you are the victim of a wild color roulette.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "enum": [
              "red",
              "blue",
              "green",
              "yellow"
            ]
          }
        },
        "required": [
          "color"
        ]
      },
      "page": "/"
    }
    select_discard_all_topAction

    After a discard-all, choose which of the discarded cards lands on top of the pile.

    View tool JSON
    {
      "name": "select_discard_all_top",
      "kind": "act",
      "impl": "imperative",
      "description": "After a discard-all, choose which of the discarded cards lands on top of the pile.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "card_id": {
            "type": "string"
          }
        },
        "required": [
          "card_id"
        ]
      },
      "page": "/"
    }
    leave_gameAction

    Leave the current game and return to the lobby.

    View tool JSON
    {
      "name": "leave_game",
      "kind": "act",
      "impl": "imperative",
      "description": "Leave the current game and return to the lobby.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }