addrbookFor publishers
← The evidence ledger

Evidence row 383512

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint af45d5ab-dd12-4648-af1d-578d8c96c3ce
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
bbbef55cbdecaeceaf5b0adc1b76e86bc52864070b38e02ca60dd70c8ec3fbb7
Leaf
0x8789087b13b01e9f7bc86c9489acb4dce22efd96b298043497f6f59953d28cfb

What was observed

{
  "count": 7,
  "tools": [
    {
      "description": "Create a custom content pack for the user's Fun Friday team, so the team plays their own material: Trivia Blitz questions (pack_type \"trivia\"), Imposter word lists (pack_type \"faker\") or Emoji Story phrases (pack_type \"emoji_story\"). A custom pack replaces the game's built-in content with the team's own — in-jokes, company trivia, a theme for the week. Only these three games take custom packs; for any other game, say so rather than calling this. Send the content in the one list that matches pack_type, and write it to play well (see each list's description). The host picks the pack in the lobby before pressing Start. Custom packs need a Pro or Business plan, which caps how many a team can keep — call funfriday_get_team first if unsure.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "The pack's name as the team will see it in the lobby, e.g. \"Office trivia\". Up to 60 characters.",
            "type": "string"
          },
          "pack_type": {
            "description": "Which game the pack is for: \"trivia\" (Trivia Blitz), \"faker\" (Imposter) or \"emoji_story\" (Emoji Story).",
            "enum": [
              "trivia",
              "faker",
              "emoji_story"
            ],
            "type": "string"
          },
          "phrases": {
            "description": "For pack_type \"emoji_story\" only: 1–500 phrases for players to tell in emoji — film titles, sayings, team in-jokes (up to 200 characters each). Choose phrases a player could tell with a handful of emoji and the room could guess; avoid abstract or very long ones.",
            "items": {
              "type": "string"
            },
            "maxItems": 500,
            "minItems": 1,
            "type": "array"
          },
          "questions": {
            "description": "For pack_type \"trivia\" only: the questions, 100 at most. Each has text (up to 300 characters), exactly four options (up to 100 characters each) and correct_index, the 0-based index of the right option. Make the three wrong options plausible, keep options similar in length, and vary which position is correct. Ten to twenty questions makes a good game.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "correct_index": {
                  "description": "Index (0–3) of the correct option in options.",
                  "maximum": 3,
                  "minimum": 0,
                  "type": "integer"
                },
                "options": {
                  "description": "Exactly four answer options.",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 4,
                  "minItems": 4,
                  "type": "array"
                },
                "text": {
                  "description": "The question.",
                  "type": "string"
                }
              },
              "required": [
                "text",
                "options",
                "correct_index"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "words": {
            "description": "For pack_type \"faker\" only: 2–500 related words or short phrases (up to 100 characters each). Each round pairs two of them — one for the group, a near miss for the imposter — so they should all belong to one theme. Pick words close enough that the imposter can bluff (e.g. \"latte\", \"espresso\", \"cappuccino\"), not opposites or unrelated words. Ten or more gives variety across rounds.",
            "items": {
              "type": "string"
            },
            "maxItems": 500,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "pack_type",
          "name"
        ],
        "type": "object"
      },
      "name": "funfriday_create_pack"
    },
    {
      "description": "Start a new Fun Friday game session and get back the room code and join link to share with the team. This opens a real room that people can join immediately, and uses one of the team's games for the week — confirm with the user before calling it.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "game_type": {
            "description": "Which game to host. Call funfriday_list_games first if unsure; this is the internal key, not the display name (Imposter is \"faker\", Colour Clue is \"hues_cues\").",
            "enum": [
              "trivia_blitz",
              "faker",
              "emoji_story",
              "two_truths",
              "caption_this",
              "hot_takes",
              "timeline",
              "drawing_blind",
              "bid_bluff",
              "hues_cues",
              "majority_rules",
              "typing_sprint",
              "odd_one_out",
              "guess_who",
              "ballpark",
              "zoomed_in",
              "plot_twist",
              "top_rank",
              "phrase_wheel",
              "bluff_trivia",
              "code_clues",
              "defuse"
            ],
            "type": "string"
          }
        },
        "required": [
          "game_type"
        ],
        "type": "object"
      },
      "name": "funfriday_create_session"
    },
    {
      "description": "Get the all-time Fun Friday leaderboard for the user's team — every player's total score, games played and rank across all sessions. Use this for \"who is top of the leaderboard?\" or to write up a standings summary.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 20,
            "description": "How many ranked players to return. 1–100, default 20.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "funfriday_get_leaderboard"
    },
    {
      "description": "Check what is happening in a Fun Friday session right now: whether it is still in the lobby or being played, who has joined, and the current scores. Use this to answer \"has everyone joined yet?\" or \"who is winning?\" without opening the browser.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "room_code": {
            "description": "The six-character room code for the session, e.g. \"K7PQ2M\". Case-insensitive. Room codes never contain the letters I or O, or the digits 0 or 1.",
            "type": "string"
          }
        },
        "required": [
          "room_code"
        ],
        "type": "object"
      },
      "name": "funfriday_get_session"
    },
    {
      "description": "Get the user's Fun Friday team: its name, how many members it has, which plan it is on, how many of this week's games remain, and how many custom packs it has and may keep. Use this before hosting to check the team has a game left, before funfriday_create_pack to check there is room for a pack, or to answer questions about the plan and its limits.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "funfriday_get_team"
    },
    {
      "description": "List the team-building games available to play on Fun Friday (funfriday.work), with each game's name, description, ideal group size and whether it needs a paid plan. Use this to answer \"what could we play?\" or to pick a game_type before calling funfriday_create_session.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "include_premium": {
            "default": true,
            "description": "Include games that require a paid plan. Default true — those games are listed and flagged as needing one, so an assistant can say which of them the team cannot currently play rather than pretending they do not exist.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "funfriday_list_games"
    },
    {
      "description": "List the Fun Friday sessions this team has played recently, most recent first, with the game played, when it happened, how many people took part and who won. Use this for \"when did we last do a Fun Friday?\" or to summarise the last few weeks.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 10,
            "description": "How many sessions to return, newest first. 1–50, default 10.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "funfriday_list_sessions"
    }
  ]
}

What the leaf hashes

{"body":"bbbef55cbdecaeceaf5b0adc1b76e86bc52864070b38e02ca60dd70c8ec3fbb7","id":383512,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793060002292524,"prev":null,"subject":"af45d5ab-dd12-4648-af1d-578d8c96c3ce","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0x8788ea0a00036baa6f39be03824024a02423201c0f4800549e02634738b51f75
  2. 0x8cf297535ec6c39fda2667a2c2af13fb22684cb016d686df53f94ec682e46a92
  3. 0x6531504fa71bfd726574d30e6ce1ae1696526754a2c79d8901fa5726d8798a74
  4. 0x7c9707eb650c041d4a29fe2c9af1159c00a00dc457693401a5d4c6111964785b
  5. 0x5afc9dd4980a2712c83d64d782ce2397148f27dec99f3c87892504f6c298318a
  6. 0xbc687b1b02b13a02a65208823f2bd1e3cf3c5645fb1dc48c4fa54117620ab4f0
  7. 0x7dc30e901a4e5c5af981cfde2f3e176f2e5e395181338512d13f135f4112e290
  8. 0x4d668837707249f9495aec030437c745adc30d93331ea6b71d51104aef07b19e
  9. 0x4861721e114e2f2f342bf5cf33a2ca3760578f27c7d69c10754c63118b754b09
  10. 0x9dc25a7fda1522dda5d2072e86165df16f49960ad44e48a53e9d50481f9174bc
  11. 0x75376c2d4b66495f3289538d2a16eac6d0471b87780b054af7810e758374d02a
  12. 0x470f6acef0d823e6f9e5fa35684563c8f27c3d338b165b457171afc3d44d4d86
  13. 0x6251e2be57e8d16b82579481d181c265d75096882014489550b74a728741f2f1
  14. 0x4964f0806efde5ed25f60da2b45d78cd2e0f07d67e64aad2822f6016ad973c47
  15. 0x3c500ec3d3edf0c74b87a6ca8fcd77656bfbe03db3d478bd0c184d0c88839c6b
  16. 0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
Not published on a chain yet

How to check it · This row as JSON