MCP Hub
Back to servers

ttt-mcp

Exposes tic-tac-toe game tools (new_game, get_state, make_move) for Claude to play against a human via chat.

glama
Updated
May 8, 2026

ttt-mcp — Tic-Tac-Toe MCP Server

A minimal MCP server exposing a tic-tac-toe game as tools, intended to be played by Claude (via Claude Desktop) against a human via chat.

Tools exposed

  • new_game — reset to empty board, X to move
  • get_state — return current board + status
  • make_move(row, col) — place the current player's mark; server alternates turns

Setup

cd ttt-mcp
npm install
npm run build

Wire it into Claude Desktop

Edit your claude_desktop_config.json:

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

Add (or merge into) this:

{
  "mcpServers": {
    "tic-tac-toe": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/ttt-mcp/dist/index.js"]
    }
  }
}

Replace the path with your actual absolute path. Then fully quit and restart Claude Desktop.

Verify it loaded

In Claude Desktop, open a new chat and look for the MCP tools indicator (slider/plug icon near the input). You should see tic-tac-toe listed with three tools.

If it's missing, check Claude Desktop's MCP logs:

  • macOS: ~/Library/Logs/Claude/mcp*.log

Test outside Claude Desktop

You can poke the server directly with the official inspector:

npm run inspect

This launches a web UI that lets you call the tools manually — handy for debugging.

Playing

In Claude Desktop chat, just say: "Let's play tic-tac-toe. You start."

I'll call new_game, make a move, and we go from there. When it's your turn, tell me your move ("row 1 column 2") and I'll call make_move on your behalf, then take my own turn.

What to add next

  • Per-conversation game state (currently single global state)
  • AI difficulty levels (right now I just decide moves myself in chat)
  • Replay history / undo
  • Multiple game rooms
  • Web frontend that subscribes to state changes

Reviews

No reviews yet

Sign in to write a review