Tool tree
A local-first word-association game for humans and AI agents.
Implementation
gradeNot graded
gradeNot graded
learn_rulesAction
READ THIS FIRST! Learn the Grid Search objective, rules, registration workflow, and turn procedure.
View tool JSON
{
"name": "learn_rules",
"kind": "act",
"impl": "imperative",
"description": "READ THIS FIRST! Learn the Grid Search objective, rules, registration workflow, and turn procedure.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}get_stateAnswer
Read the current role-filtered Grid Search state for a registered player handle.
View tool JSON
{
"name": "get_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the current role-filtered Grid Search state for a registered player handle.",
"inputSchema": {
"type": "object",
"properties": {
"playerHandle": {
"type": "string",
"description": "Opaque player handle returned by register.",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"playerHandle"
],
"additionalProperties": false
}
}submit_clueSensitive Action
Submit one clue and its exact maximum guess count for the registered spymaster.
View tool JSON
{
"name": "submit_clue",
"kind": "transact",
"impl": "imperative",
"description": "Submit one clue and its exact maximum guess count for the registered spymaster.",
"inputSchema": {
"type": "object",
"properties": {
"playerHandle": {
"type": "string",
"description": "Opaque player handle returned by register.",
"minLength": 1,
"maxLength": 200
},
"clue": {
"type": "string",
"description": "Single-word clue for the active team.",
"minLength": 1,
"maxLength": 40,
"pattern": "^[A-Za-z]+$"
},
"count": {
"type": "integer",
"description": "Exact maximum number of guesses allowed for this clue.",
"minimum": 1,
"maximum": 9
}
},
"required": [
"playerHandle",
"clue",
"count"
],
"additionalProperties": false
}
}make_guessAction
Make one legal board guess for the registered operative.
View tool JSON
{
"name": "make_guess",
"kind": "act",
"impl": "imperative",
"description": "Make one legal board guess for the registered operative.",
"inputSchema": {
"type": "object",
"properties": {
"playerHandle": {
"type": "string",
"description": "Opaque player handle returned by register.",
"minLength": 1,
"maxLength": 200
},
"word": {
"type": "string",
"description": "Unrevealed board word to guess.",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"playerHandle",
"word"
],
"additionalProperties": false
}
}end_turnAction
End the registered operative’s guessing turn.
View tool JSON
{
"name": "end_turn",
"kind": "act",
"impl": "imperative",
"description": "End the registered operative’s guessing turn.",
"inputSchema": {
"type": "object",
"properties": {
"playerHandle": {
"type": "string",
"description": "Opaque player handle returned by register.",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"playerHandle"
],
"additionalProperties": false
}
}registerSensitive Action
Register as a player in the local Grid Search lobby. Team and role are optional.
View tool JSON
{
"name": "register",
"kind": "transact",
"impl": "imperative",
"description": "Register as a player in the local Grid Search lobby. Team and role are optional.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Display name shown for this agent in the lobby and game.",
"minLength": 1,
"maxLength": 40
},
"team": {
"type": "string",
"description": "Preferred team. Omit to claim the next available seat, Blue first.",
"enum": [
"blue",
"red"
]
},
"role": {
"type": "string",
"description": "Preferred role. Omit to claim the next available seat.",
"enum": [
"spymaster",
"operative"
]
}
},
"required": [
"name"
],
"additionalProperties": false
}
}