Gives Claude the ability to capture screenshots of live URLs and render arbitrary HTML/CSS to images through three MCP tools: screenshot_one_liner for quick captures, screenshot with full control over viewport and selectors, and render for testing AI-generated markup. The render tool is the standout feature here, it closes the feedback loop so agents can write HTML, see what it looks like, then iterate without leaving the conversation. Uses streamable-http transport so you can add it without installing Playwright locally, though a local STDIO mode is available for paid tiers. Free tier gives you 10 screenshots and 10 renders per month, no API key required. Useful for deployment verification, visual regression checks, or any workflow where your agent needs to see what a page actually looks like.
Give your AI Agent eyes. One command, zero install.
# Claude Code
claude mcp add --transport streamable-http shotapi https://aiphotoshop.mynatapp.cc/mcp
# Or with npx
npx -y @anthropic-ai/claude-code@latest --mcp https://aiphotoshop.mynatapp.cc/mcp
For Claude Desktop / Cursor, add to your config:
{
"mcpServers": {
"shotapi": {
"type": "streamable-http",
"url": "https://aiphotoshop.mynatapp.cc/mcp"
}
}
}
Human: Build a landing page with a hero section, testimonials, and pricing grid.
Claude: [writes HTML/CSS code]
Claude: Let me check this with the render tool...
[Claude calls ShotAPI render tool with the HTML it wrote]
Claude: The pricing grid overlaps on mobile. Fixing responsive breakpoints...
Human: I just deployed. Check if it looks right.
Claude: [calls ShotAPI screenshot on https://yourapp.com]
Claude: Footer text is cut off — CSS overflow issue. Background image 404.
# Capture before/after screenshots and compare
curl -s "https://aiphotoshop.mynatapp.cc/v1/screenshot?url=https://staging.myapp.com" -o before.png
curl -s "https://aiphotoshop.mynatapp.cc/v1/screenshot?url=https://staging.myapp.com" -o after.png
| Tool | Description | Example |
|---|---|---|
screenshot_one_liner | One URL, one screenshot | screenshot_one_liner(url="https://github.com") |
screenshot | Full control: viewport, full-page, CSS selector, format | screenshot(url="https://github.com", selector="#hero") |
render | Render HTML/CSS to image — Agent writes code, sees result instantly | render(html="<h1>Hello</h1>") |
The render tool closes the feedback loop: write code → render → see → revise → render again.
curl -s "https://aiphotoshop.mynatapp.cc/v1/screenshot?url=https://github.com" -o shot.jpg
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 10+10/month (IP-based, no signup) |
| Starter | $4.90/mo | 5,000/month |
| Pro | $9.90/mo | 20,000/month |
Free tier: no API key needed. Paid: get key at pricing page.
For private deployments or paid-tier usage, run locally:
# Install dependencies
pip install -r requirements.txt
playwright install chromium
# Set env vars
export SHOTAPI_BASE_URL=https://aiphotoshop.mynatapp.cc
export SHOTAPI_KEY=your_key_here # optional for paid tiers
# Add to Claude Code
claude mcp add shotapi python mcp_stdio.py