~moorkh/TwoTruthsAndATwist - A trivia game with an AI quiz master. The world's first MCP game. - sourcehut git

4 min read Original article ↗

Two Truths and a Twist: The world's first Model Context Protocol (MCP) game

#Rules

Two Truths and a Twist is an innovative trivia game played entirely within an AI language model, using the Model Context Protocol (MCP) for state management. Each round, the AI presents three statements—two true and one cleverly twisted—and you must identify the twist.

#Why AI?

A human quizmaster could not replicate this game's flexibility and real-time content generation. An AI quizmaster:

  • Can scan current news and creates questions based on real-time events.
  • Has access to any piece of trivia. From chocolate trivia to programming languages to historical events, an AI isn't limited by predefined categories.
  • Knows all sufficiently common languages, making the game accessible globally.

#Examples of gameplay

#Topical trivia

Two Truths and a Twist can create trivia about today’s news. Here’s a round generated about this week's major tariff announcements—something traditional trivia games can't do! (This was written on April 3, 2025, the day after the Trump administration rolled out reciprocal tariffs on US imports.)

Trivia about tariffs

The reveal to the question about tariffs (I was wrong)

#Chocolate trivia

I know nothing about chocolate, but I got this one right through the application of logic.

Trivia about chocolate

The reveal to the question about chocolate

#Trivia in Hindi

Two Truths and a Twist can generate a quiz in any language your AI speaks.

Trivia in Hindi

#Niche topics

Two Truths and a Twist can create a quiz even about very niche topics, like Hacker News.

Trivia about Hacker News

The reveal to the trivia about Hacker News

#More about the game design

You can find more details in the Game design document

#Installation

#Requirements

  • Python 3.13 or higher
  • MCP-compatible LLM (like Claude 3)

You can install the game directly from PyPI:

Or if you prefer using uv:

#Usage

#Installation

To connect an MCP-compatible LLM to the game server, you'll need to configure the MCP connection.

We recommend using uv for installation, as it provides faster and more reliable package management:

  1. First, install uv if you don't have it already:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Create a configuration file (e.g., claude_desktop_config.json) with the following content:

{
  "mcpServers": {
    "TwoTruthsAndATwist": {
      "command": "uvx",
      "args": ["-U", "ttaat", "serve"]
    }
  }
}

NOTE: you may have to replace uvx with the full path to your uvx binary (e.g. /Users/$(whoami)/.local/bin/uvx on a Mac, not that the $(whoami) substitution will work in your MCP config JSON file).

For Claude Desktop, place this file in:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
#Installation with pip

If you prefer using the traditional approach after installing with pip:

{
  "mcpServers": {
    "TwoTruthsAndATwist": {
      "command": "ttaat",
      "args": ["serve"]
    }
  }
}

NOTE: you may have to replace ttaat with the full path to your ttaat executable.

For Claude Desktop, place this file in:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

#Development commands

#Initialize the Database

First, initialize the game database:

#Start the Game Server

To start the MCP server:

This will start the Two Truths and a Twist MCP server, which LLMs can connect to for playing the game.

#View Game Statistics

To see game statistics:

#Game Mechanics

Two Truths and a Twist is a trivia game where:

  1. The AI creates a round with three statements about a topic - two truths and one "twist" (a playful, false statement)
  2. Players try to identify which statement is the twist
  3. The AI reveals the answer with entertaining explanations

The game leverages the MCP protocol to provide a fun, interactive trivia experience where AI models both generate the content and facilitate gameplay.

#Example Prompts

Once connected to an MCP-enabled LLM, you can start a game with prompts like:

Let's play Two Truths and a Twist! Create a round about space exploration.
Create a game round about ancient civilizations.

#For Developers

This package implements an MCP server that provides custom game tools:

  • create_round: Creates a new game round with a question and three statements
  • submit_guess: Lets players submit their guess for which statement is the twist
  • reveal_twist: Reveals the answer with explanations for each statement
  • get_round: Retrieves details for a specific round
  • get_last_round: Gets details of the most recent round
  • get_stats: Retrieves game statistics