Fun Friday

Host online team-building games: list games, open rooms and share join links, report results.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
86%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,580トークン数(ツール定義)
~3.2 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.02%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "funfriday": {
      "url": "https://www.funfriday.work/mcp"
    }
  }
}

リモートエンドポイント

https://www.funfriday.work/mcpstreamable-http

できること

ツール一覧

ツール(7)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢funfriday_list_games(include_premium)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "include_premium": {
      "type": "boolean",
      "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.",
      "default": true
    }
  },
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "games": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "game_type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "requires_paid_plan": {
            "type": "boolean"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "game_type",
          "name",
          "description",
          "requires_paid_plan",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "count": {
      "type": "number"
    }
  },
  "required": [
    "games",
    "count"
  ],
  "additionalProperties": false
}
🔴funfriday_create_session(game_type)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "game_type": {
      "type": "string",
      "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",
        "pin_drop",
        "defuse",
        "black_box",
        "knowledge_pursuit"
      ]
    }
  },
  "required": [
    "game_type"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "room_code": {
      "type": "string"
    },
    "game_type": {
      "type": "string"
    },
    "game_name": {
      "type": "string"
    },
    "join_url": {
      "type": "string",
      "format": "uri"
    },
    "plan": {
      "type": "string"
    }
  },
  "required": [
    "room_code",
    "game_type",
    "game_name",
    "join_url",
    "plan"
  ],
  "additionalProperties": false
}
🟢funfriday_get_session(room_code)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "room_code": {
      "type": "string",
      "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."
    }
  },
  "required": [
    "room_code"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "room_code": {
      "type": "string"
    },
    "game_type": {
      "type": "string"
    },
    "game_name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "round_number": {
      "type": [
        "number",
        "null"
      ]
    },
    "host": {
      "type": [
        "string",
        "null"
      ]
    },
    "player_count": {
      "type": "number"
    },
    "players": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "is_host": {
            "type": "boolean"
          }
        },
        "required": [
          "display_name",
          "score",
          "is_host"
        ],
        "additionalProperties": false
      }
    },
    "join_url": {
      "type": "string",
      "format": "uri"
    },
    "started_at": {
      "type": "string",
      "format": "date-time"
    },
    "ended_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "required": [
    "room_code",
    "game_type",
    "game_name",
    "status",
    "round_number",
    "host",
    "player_count",
    "players",
    "join_url",
    "started_at",
    "ended_at"
  ],
  "additionalProperties": false
}
🟢funfriday_list_sessions(limit)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "How many sessions to return, newest first. 1–50, default 10.",
      "default": 10
    }
  },
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "sessions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "room_code": {
            "type": "string"
          },
          "game_type": {
            "type": "string"
          },
          "game_name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "played_at": {
            "type": "string",
            "format": "date-time"
          },
          "player_count": {
            "type": "number"
          },
          "winner": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "display_name": {
                "type": "string"
              },
              "score": {
                "type": "number"
              }
            },
            "required": [
              "display_name",
              "score"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "room_code",
          "game_type",
          "game_name",
          "status",
          "played_at",
          "player_count",
          "winner"
        ],
        "additionalProperties": false
      }
    },
    "count": {
      "type": "number"
    }
  },
  "required": [
    "sessions",
    "count"
  ],
  "additionalProperties": false
}
🟢funfriday_get_leaderboard(limit)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "How many ranked players to return. 1–100, default 20.",
      "default": 20
    }
  },
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "leaderboard": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "number"
          },
          "display_name": {
            "type": "string"
          },
          "total_score": {
            "type": "number"
          },
          "games_played": {
            "type": "number"
          }
        },
        "required": [
          "rank",
          "display_name",
          "total_score",
          "games_played"
        ],
        "additionalProperties": false
      }
    },
    "count": {
      "type": "number"
    },
    "total_players": {
      "type": "number"
    }
  },
  "required": [
    "leaderboard",
    "count",
    "total_players"
  ],
  "additionalProperties": false
}
🟢funfriday_get_team

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.

入力スキーマ

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

出力スキーマ

{
  "type": "object",
  "properties": {
    "team": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "member_count": {
          "type": "number"
        }
      },
      "required": [
        "name",
        "member_count"
      ],
      "additionalProperties": false
    },
    "plan": {
      "type": "string"
    },
    "games_used_this_week": {
      "type": "number"
    },
    "games_remaining_this_week": {
      "type": [
        "number",
        "null"
      ]
    },
    "max_games_per_week": {
      "type": [
        "number",
        "null"
      ]
    },
    "max_players": {
      "type": "number"
    },
    "week_resets_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "playable_game_types": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "custom_packs_used": {
      "type": "number"
    },
    "custom_packs_limit": {
      "type": [
        "number",
        "null"
      ],
      "description": "How many custom packs the team may keep: 0 when its plan has none, null when unlimited."
    }
  },
  "required": [
    "team",
    "plan",
    "games_remaining_this_week",
    "max_players"
  ],
  "additionalProperties": false
}
🟡funfriday_create_pack(pack_type, name, questions, words, phrases)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "pack_type": {
      "type": "string",
      "description": "Which game the pack is for: \"trivia\" (Trivia Blitz), \"faker\" (Imposter) or \"emoji_story\" (Emoji Story).",
      "enum": [
        "trivia",
        "faker",
        "emoji_story"
      ]
    },
    "name": {
      "type": "string",
      "description": "The pack's name as the team will see it in the lobby, e.g. \"Office trivia\". Up to 60 characters."
    },
    "questions": {
      "type": "array",
      "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": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The question."
          },
          "options": {
            "type": "array",
            "description": "Exactly four answer options.",
            "items": {
              "type": "string"
            },
            "minItems": 4,
            "maxItems": 4
          },
          "correct_index": {
            "type": "integer",
            "description": "Index (0–3) of the correct option in options.",
            "minimum": 0,
            "maximum": 3
          }
        },
        "required": [
          "text",
          "options",
          "correct_index"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 100
    },
    "words": {
      "type": "array",
      "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"
      },
      "minItems": 2,
      "maxItems": 500
    },
    "phrases": {
      "type": "array",
      "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"
      },
      "minItems": 1,
      "maxItems": 500
    }
  },
  "required": [
    "pack_type",
    "name"
  ],
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "pack_type": {
      "type": "string"
    },
    "game_type": {
      "type": "string"
    },
    "game_name": {
      "type": "string"
    },
    "item_count": {
      "type": "number"
    },
    "manage_url": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "name",
    "pack_type",
    "game_type",
    "game_name",
    "item_count",
    "manage_url"
  ],
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 7 件