MCP and agents
Give an AI agent a real browser. Shotlane runs a remote MCP server, keyless URLs any agent can fetch, and docs written for models.
The MCP server
https://shotlane.dev/mcp
Streamable HTTP. Clients that support OAuth (ChatGPT, Claude, Cursor, VS Code, Claude Code) only need that URL: they open a sign-in window where you log in or create an account. Other clients can send the API key as X-API-Key or Authorization: Bearer.
Tools
| Tool | What it does |
|---|---|
screenshot | A page as an image the model can look at, optionally on a device or the full page. Tall pages arrive as readable slices. In ChatGPT and Claude the image also appears in the chat. |
read_page | A page or PDF link as clean Markdown, JavaScript rendered. |
html_to_pdf | HTML or Markdown to a PDF with a download link; margins and page numbers. |
check_page | Screenshots on phone, tablet and desktop plus the layout and JavaScript problems on each. |
credits | Credits left on the account. Free. |
Each render costs 1 credit, as in the REST API.
Setup
Claude Code
claude mcp add --transport http shotlane https://shotlane.dev/mcp
Cursor (~/.cursor/mcp.json)
{ "mcpServers": { "shotlane": { "url": "https://shotlane.dev/mcp" } } }
VS Code
code --add-mcp '{"name":"shotlane","type":"http","url":"https://shotlane.dev/mcp"}'
ChatGPT and Claude.ai: add a custom connector with the URL above (ChatGPT: developer mode, then add an app; Claude: Settings → Connectors). Step by step for every client: integrations.
Keyless URLs
Anything that can fetch a URL can use these. Without a key they allow 5 requests a day per IP; with the key header there's no daily limit.
GET /md/<url> | The page as clean Markdown, e.g. https://shotlane.dev/md/https://react.dev/learn. |
GET /shot/<url> | A 1280×800 PNG with the cookie banner removed. |
The target's own query string is kept. Results are cached for 10 minutes.
Docs for models
- /llms.txt: a short summary with the quickstart; /llms-full.txt: every endpoint and parameter in one Markdown file.
- /SKILL.md: an agent skill with when to screenshot versus read, tips and error handling.
- /openapi.json: the OpenAPI spec.
- Pages of this site answer in Markdown when a client sends
Accept: text/markdown.
Agents that sign up on their own
An agent without a key can call POST /v1/signup with its user's email address and start right away with 10 credits. Errors say what to do next (get a key, top up, retry later), so an agent can recover without a person stepping in.
Why add this next to a fetch tool? Fetch returns text, which is right for reading. When the question is how a page looks (a layout on a phone, a chart, a page that rendered blank), the agent needs to see it. Guide with examples.