GnistAI GnistAI
Log in

Riddles & Puzzles

Curated riddle and brain teaser database with 80 riddles across 5 categories (logic, wordplay, math, lateral-thinking, classic) — get random riddles, search, and reveal answers.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 5 tools tools 5 5 type: open dataset type type open dataset open dataset lifecycle: maintained lifecycle lifecycle maintained maintained Entertainment

Data source: In-memory curated collection

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/riddles/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (5)

get_random_riddle

Get a random riddle WITHOUT the answer.

Returns a brain teaser with question and hint. Use get_riddle_answer() with the riddle ID to reveal the answer.
Optionally filter by category and/or difficulty.

ParameterTypeRequiredDescription
categoryanyoptionalFilter by category (logic, wordplay, math, lateral-thinking, classic). Omit for any.
difficultyanyoptionalFilter by difficulty (easy, medium, hard). Omit for any.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_random_riddle",
    "arguments": {}
  }
}
get_riddle_answer

Reveal the answer to a specific riddle.

Takes a riddle ID (from get_random_riddle or search_riddles) and returns the full riddle including the answer.

ParameterTypeRequiredDescription
riddle_idintegerrequiredThe ID of the riddle to reveal the answer for.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_riddle_answer",
    "arguments": {
      "riddle_id": 1
    }
  }
}
search_riddles

Search for riddles by keyword.

Searches across question text, hints, and categories. Case-insensitive. Results do NOT include answers.

ParameterTypeRequiredDescription
querystringrequiredSearch keyword — matches question, hint, or category.
max_resultsanyoptionalMaximum number of results (default: 20, max: 100).
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_riddles",
    "arguments": {
      "query": "example"
    }
  }
}
list_riddle_categories

List all available riddle categories.

Returns the category names that can be used to filter random riddles.

JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_riddle_categories",
    "arguments": {}
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/riddles/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_riddle_answer", "arguments": {"riddle_id": 1}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/riddles/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_riddle_answer",
    "arguments": {
      "riddle_id": 1
    }
  }
},
)
print(resp.json())

Related Toolkits (Entertainment)

Resources