wordle-solver

wordle-solver

An MCP server that gives AI assistants access to an entropy-based Wordle solver, providing game stats and ranked guess recommendations with expected information gain to help agents play and explain Wordle optimally.

Category
Visit Server

README

Wordle Solver MCP Server

An MCP (Model Context Protocol) server that gives AI assistants governed access to a production analytics microservice: the entropy-based Wordle solver that powers the interactive demo on courtneyperigo.com.

This repo is the companion demo for the article "Your Analytics Microservices Have a New Customer" — a sequel to Get More Out of Your Data with Analytics Microservices (Towards Data Science, 2022). The 2022 argument: put your analytics behind independently deployable, domain-bound services. The 2026 payoff: the highest-volume consumer of a well-built analytics service is now an AI agent — and MCP is the standardized communication layer that article said was the pattern's biggest cost.

                       2022                                2026
┌──────────┐    ┌──────────────────┐      ┌───────────┐    ┌──────────────────┐
│ Web UI   │───▶│  Solver API      │      │ AI agent  │───▶│  MCP server      │
│ (Vue)    │    │  (FastAPI on     │      │ (Claude,  │    │  (this repo)     │
└──────────┘    │   App Engine)    │      │  etc.)    │    └────────┬─────────┘
                └──────────────────┘      └───────────┘             │
                                                                    ▼
                                                          ┌──────────────────┐
                                                          │  Same solver API │
                                                          │  — unchanged     │
                                                          └──────────────────┘

The microservice didn't change. It gained a new kind of customer.

What the solver does

The upstream service ranks every legal Wordle guess by expected information gain (measured in bits) against the words still consistent with the game's feedback. It knows the official NYT allowed-guess and answer lists, and reports game state as uncertainty in bits. It's a FastAPI app on Google App Engine with Cloud Build CI/CD — a small but real production analytics service, built originally for a website UI, long before agents.

Tools

Tool When the agent should call it
get_game_stats At the start of a game — dictionary size, answer count, starting uncertainty, and suggested opening words
recommend_guesses After each guess — pass the full guess history with color feedback (g/y/x per letter); returns ranked recommendations, best eligible answers, and updated game state

Resources

Resource Contents
wordle://methodology How the ranking works (lower bits = better), what the two ranked lists mean, how to read uncertainty — so the assistant explains recommendations correctly instead of guessing

Design notes (the part that generalizes beyond Wordle)

  1. Tools accept the agent's representation, not the API's. The upstream API wants position-wise constraint lists (green_letters, per-position yellow exclusions, duplicate caps). Agents think in guesses: "I played CRANE and got gray-yellow-gray-green-gray." The translation — including the subtle duplicate-letter rules — lives in constraints.py, tested in test_constraints.py. Don't make the model do bookkeeping code can do.
  2. Tool descriptions say when to call, not just what. The descriptions steer the agent away from a known-expensive call path (scoring the full dictionary with no constraints) and toward the cheap one.
  3. Responses are shaped for context economy. The API returns 100 recommendations; the tool returns 10 plus the answer-eligible shortlist. An agent's context window is a cost center.
  4. Documentation is served, not linked. The methodology resource travels with the tools, so the assistant's explanations are grounded in how the solver actually works.

Install & run

Requires Python 3.10+ and uv (or plain pip).

git clone https://github.com/agentdanger/wordle-mcp-server.git
cd wordle-mcp-server
uv sync          # or: pip install -e .
uv run server.py # starts the server on stdio

Claude Code

claude mcp add wordle-solver -- uv --directory /path/to/wordle-mcp-server run server.py

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "wordle-solver": {
      "command": "uv",
      "args": ["--directory", "/path/to/wordle-mcp-server", "run", "server.py"]
    }
  }
}

Point at a different deployment of the solver with WORDLE_API_BASE.

Try it

Ask your assistant:

I'm playing Wordle. I opened with CRANE and got: C gray, R yellow, A gray, N green, E gray. What should I play next?

The assistant calls recommend_guesses(words=["crane"], feedback=["xyxgx"]) and reasons over ranked, real solver output instead of guessing.

Tests

uv run pytest

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured