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개