Fun Friday

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
86%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,580Tokens (definiciones de herramientas)
~3.2 KBTamaño de respuesta típico
Impacto significativo en la atención (2.02% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas