← All WebMCP sites

crossword-desk-studio.openai.chatgpt.site

demo
Media & Personalhttps://crossword-desk-studio.openai.chatgpt.site/listed as of 2026-08-26
The Crossword Desk
Run a live auditWe load the site in a real browser and score the tools it gives an agent.

Tools

get_puzzle_stateanswerimperative
View the crossword, word pool, clues, validation, and current size limits.
Input schema
{
  "type": "object",
  "properties": {
    "since_revision": {
      "type": "integer",
      "minimum": 0,
      "description": "Include changes made after this puzzle revision."
    }
  },
  "additionalProperties": false
}
set_puzzle_titleactimperative
Change the crossword title.
Input schema
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1
    },
    "expected_revision": {
      "type": "integer",
      "minimum": 0,
      "description": "Puzzle revision being edited. A newer revision prevents the change from being applied."
    }
  },
  "required": [
    "title",
    "expected_revision"
  ],
  "additionalProperties": false
}
upsert_word_candidatesactimperative
Add or update answers, clues, and theme labels. Mixed batches keep valid entries and report rejected entries separately. Key theme words are kept; other theme words are alternatives.
Input schema
{
  "type": "object",
  "properties": {
    "candidates": {
      "type": "array",
      "minItems": 1,
      "description": "For a new theme, about 12–16 related answers of varied lengths, including some 3–5-letter alternatives, give the crossword more ways to fit. These are alternatives, not a placement target; only a compatible subset needs to appear. Small updates can contain fewer words.",
      "items": {
        "type": "object",
        "properties": {
          "word": {
            "type": "string",
            "minLength": 2,
            "description": "Answer letters, within get_puzzle_state.constraints.max_answer_length. Auto size accepts up to 18 letters; fixed sizes and locked answers limit new words to the current dimensions. New oversized answers are skipped without discarding valid entries in the batch."
          },
          "clue": {
            "type": "string"
          },
          "theme": {
            "type": "boolean",
            "description": "Whether this answer is part of the theme. New answers are themed by default; existing labels stay unchanged when omitted."
          },
          "theme_anchor": {
            "type": "boolean",
            "description": "An optional must-include theme answer. Zero or one anchor is usually enough; a short, distinctive answer of 3–7 letters gives more layout choices. Long phrases or multiple anchors make construction harder. The puzzle title need not be an answer. Also marks the word as themed."
          },
          "replaces_candidate_id": {
            "type": "string",
            "description": "ID of the word being replaced; an adjustment note is required."
          }
        },
        "required": [
          "word"
        ],
        "additionalProperties": false
      }
    },
    "expected_revision": {
      "type": "integer",
      "minimum": 0,
      "description": "Puzzle revision being edited. A newer revision prevents the change from being applied."
    }
  },
  "required": [
    "candidates",
    "expected_revision"
  ],
  "additionalProperties": false
}
construct_crosswordactimperative
Build a crossword from a compatible subset of theme candidates, keeping key theme words and adding ordinary crossing fill. Auto size finds a fitting grid; a fixed size or locked answers keep the current dimensions. A successful construction has met the theme requirements for its grid size. After success, finish missing clues. Do not resize or rebuild solely to increase theme density unless the user asks.
Input schema
{
  "type": "object",
  "properties": {
    "expected_revision": {
      "type": "integer",
      "minimum": 0,
      "description": "Puzzle revision being edited. A newer revision prevents the change from being applied."
    }
  },
  "required": [
    "expected_revision"
  ],
  "additionalProperties": false
}
update_cluesactimperative
Edit clues for placed answers without changing their words or positions.
Input schema
{
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "properties": {
          "entry_id": {
            "type": "string"
          },
          "clue": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "entry_id",
          "clue"
        ],
        "additionalProperties": false
      }
    },
    "expected_revision": {
      "type": "integer",
      "minimum": 0,
      "description": "Puzzle revision being edited. A newer revision prevents the change from being applied."
    }
  },
  "required": [
    "entries",
    "expected_revision"
  ],
  "additionalProperties": false
}
Listings are sourced from public community registries and shown as reported.