
Shotpipe — Screenshots & OG Images
io.github.podop29Published by GitHub account podop29v0.1.1Updated Oct 25, 2026
Screenshot any URL and see it, or mint a social card — hosted, SSRF-safe, cached. No Chrome to run.
Overview
A local MCP server that lets an assistant screenshot any URL and see the image, or build signed Open Graph social-card URLs, using the hosted Shotpipe service.
- What you can do
- Capture a URL as an image (png, jpeg or pdf) with options for size, full page, selector, dark mode, ad and banner blocking, and return the image plus a shareable signed URL, optionally bypassing the cache for a fresh render. Build a signed social-card URL from a hosted template with title, author, tag, accent and logo, returning the URL only or a preview image when rendering is requested.
- When to use it
- Useful when an assistant needs to look at a web page as an image, or generate Open Graph images for pages, without running a headless browser locally. Suited to agents that screenshot URLs supplied by users, since rendering is hosted and private or metadata hosts are refused.
- Requirements
- Runs locally via npx (Node.js). Requires a Shotpipe API key id in SHOTPIPE_KEY and an HMAC signing secret in SHOTPIPE_SECRET; a free key is available at signup. Network access to the Shotpipe service is needed, and SHOTPIPE_BASE_URL can point at a self-hosted instance.
Installation
In SourceWeft
- Open Shotpipe — Screenshots & OG Images in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
shotpipe-mcp
Hosted, SSRF-safe, cached screenshots and Open Graph images for AI agents — no headless Chrome to run.
An MCP server that lets an agent screenshot any URL and see the result, or mint a social-card image, by calling Shotpipe. It's the thing a local browser tool can't be:
- No Chrome in your agent's sandbox. Rendering happens on Shotpipe's infrastructure. Nothing to install, no memory to babysit, no OOM at 2am.
- Safe on untrusted URLs. Agents point at URLs their users typed. Shotpipe resolves DNS itself, pins the IP, re-checks every redirect, and refuses private / loopback / cloud-metadata hosts — so a hostile link can't turn your renderer into an SSRF hole.
- Cached. The first capture renders; every identical one after is served from the edge in milliseconds and costs nothing.
Ad and cookie-consent banners are stripped by default.
Install
Get a free key at shotpipe.io/signup (no card) or run npx shotpipe-init. Self-hosting Shotpipe? Set SHOTPIPE_BASE_URL.
Tools
screenshot
Screenshot a URL and return the image (so the model can see it) plus a permanent, shareable signed URL.
url (required) · format png|jpeg|pdf · width · height · dpr · full_page · selector · dark · omit_background · block_ads · block_banners · wait_for · delay · quality · fresh
og_image
Build a signed social-card URL from a hosted template. Returns the URL only by default and renders nothing — the image renders lazily on the first crawler hit, so agent/build time stays fast. Drop it into <meta property="og:image">. Pass render: true to also get a preview image.
title (required) · template · author · tag · accent · logo · width · height · dpr · render
How it works
The signing secret never leaves the process — every request is HMAC-signed locally, exactly like Shotpipe's other clients. The server just builds a signed URL and (for screenshot) fetches the bytes.
MIT · shotpipe.io
Source: README.md at commit a4b1695
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts