Riddle MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Riddle MCP Server screenshot my homepage on an iPhone"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Riddle MCP Server
MCP server that wraps the Riddle API for Claude Code integration. Take screenshots, run browser automation, and capture console logs + network HAR data.
Installation
Clone this repo
Install dependencies:
npm installAdd to your Claude Code MCP settings (
~/.claude.jsonor project.claude/settings.json):
{
"mcpServers": {
"riddle": {
"command": "node",
"args": ["/path/to/riddle-mcp-server/index.js"],
"env": {
"RIDDLE_API_KEY": "rdc_live_your_key_here"
}
}
}
}Restart Claude Code
Available Tools
riddle_screenshot
Take a screenshot of any URL. Returns base64-encoded PNG.
riddle_screenshot(url: "https://example.com", device: "iphone")Options:
url(required): URL to screenshotdevice: "desktop" | "ipad" | "iphone"width,height: Custom viewport (if not using device preset)
riddle_batch_screenshot
Screenshot multiple URLs at once.
riddle_batch_screenshot(urls: ["https://site.com", "https://site.com/page2"], device: "desktop")riddle_automate
Run a Playwright script, wait for completion, and get all artifacts including console logs and network HAR.
riddle_automate(
url: "https://example.com",
script: "await page.click('button'); await page.screenshot({path: 'result.png'});",
device: "ipad"
)Returns:
Screenshots saved to
/tmp/Console logs (errors, warnings, last 20 log entries)
Network HAR summary (total requests, failed requests, last 10 requests)
riddle_run_script
Run a Playwright script asynchronously. Returns job_id to check later.
riddle_run_script(
url: "https://example.com",
script: "await page.click('button'); await page.screenshot({path: 'result.png'});"
)riddle_get_job
Check status and get artifacts of an async job.
riddle_get_job(job_id: "job_abc123")riddle_click_and_screenshot
Simple automation: load URL, click a selector, take screenshot.
riddle_click_and_screenshot(url: "https://example.com", click: "button.start", wait_ms: 2000)Device Presets
Device | Width | Height |
desktop | 1280 | 720 |
ipad | 820 | 1180 |
iphone | 390 | 844 |
Benefits
No permission prompts - tools are pre-approved in Claude Code
Direct image return - Claude can see screenshots immediately
Console + Network capture - Debug issues without manual browser inspection
Cleaner workflow - no bash/curl needed
License
MIT
Available Tools
6 toolsriddle_automateA
Run a Playwright script, wait for completion, and return all artifacts. Includes console logs and network HAR. Full sync automation - one call does everything.
Inputs: url (required), script (required), device, timeout_sec, +1 more.
riddle_batch_screenshotC
Screenshot multiple URLs. Returns array of base64 images.
Inputs: urls (required), device.
riddle_click_and_screenshotA
Simple automation: load URL, click a selector, take screenshot. Good for testing button clicks, game starts, etc. Uses force-click by default to handle animated buttons.
Inputs: url (required), click (required), wait_ms, device, +1 more.
riddle_get_jobC
Get status and artifacts of a Riddle job
Inputs: job_id (required).
riddle_run_scriptC
Run a Playwright script on a page (async). Returns job_id to check status later.
Inputs: url (required), script (required), width, height.
riddle_screenshotA
Take a screenshot of a URL using the Riddle API. Returns base64-encoded PNG image.
Inputs: url (required), width, height, device.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Most tools have distinct purposes: automate (full sync), batch_screenshot (multiple URLs), click_and_screenshot (interactive), get_job (status check), run_script (async execution), and screenshot (single capture). However, riddle_automate and riddle_run_script both involve running Playwright scripts, which could cause confusion about when to use each, though their sync vs. async nature helps differentiate them.
All tool names follow a consistent 'riddle_verb_noun' pattern with snake_case throughout, such as riddle_automate, riddle_batch_screenshot, and riddle_get_job. This predictability makes it easy for agents to understand and select tools without naming confusion.
With 6 tools, the server is well-scoped for its automation and screenshot domain. Each tool serves a clear, non-redundant function, from basic screenshots to complex script execution, making the count appropriate and manageable for agents.
The toolset covers core automation workflows: screenshotting (single, batch, interactive), script execution (sync and async), and job status checking. A minor gap is the lack of tools for more advanced automation tasks like form filling or data extraction, but the provided tools allow agents to handle most common scenarios effectively.
Related MCP Connectors
Launch, inspect, control, and share isolated cloud browsers for your agents.
Cloud browser, web extraction, screenshots, and remote CDP tools for AI agents.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.