{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card.json",
  "name": "wordninja",
  "version": "1.0.0",
  "description": "WordNinja.me Model Context Protocol tool server for word game solvers, anagram unscrambling, and tournament scoring.",
  "homepage": "https://wordninja.me",
  "repository": "https://github.com/wordninja-me/wordninja",
  "endpoint": "https://wordninja.me/api/mcp",
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "resources": {
      "subscribe": false,
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "unscramble_words",
      "description": "Unscramble letters with optional wildcard tiles ('?') to find valid tournament Scrabble, Words with Friends, and Wordle words.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "letters": {
            "type": "string",
            "description": "Letters on the rack (up to 15 chars). Use '?' for blank tiles."
          },
          "dictionary": {
            "type": "string",
            "enum": ["scrabble_us", "scrabble_uk", "wwf", "wordle"],
            "default": "scrabble_us",
            "description": "Tournament lexicon to match against."
          },
          "startsWith": {
            "type": "string",
            "description": "Filter results starting with this substring."
          },
          "endsWith": {
            "type": "string",
            "description": "Filter results ending with this substring."
          }
        },
        "required": ["letters"]
      }
    },
    {
      "name": "calculate_word_score",
      "description": "Calculate official game points for a word in Scrabble US, UK, or Words With Friends.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "word": {
            "type": "string",
            "description": "The word to calculate points for."
          },
          "dictionary": {
            "type": "string",
            "enum": ["scrabble_us", "scrabble_uk", "wwf"],
            "default": "scrabble_us"
          }
        },
        "required": ["word"]
      }
    },
    {
      "name": "solve_crossword",
      "description": "Find dictionary words matching a pattern with unknown letters represented as '_' or '?'.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pattern": {
            "type": "string",
            "description": "Pattern such as 'S__O_L' or 'C?T'."
          }
        },
        "required": ["pattern"]
      }
    }
  ]
}
