Mock Screenshots

io.github.gamercc-appsPublished by GitHub account gamercc-appsv0.1.6Updated Oct 24, 2026

Deep links to pixel-perfect fake chat & screenshot generators (iMessage, WhatsApp & more).

VerifiedSTDIODesktop onlyProductivity & WorkflowMedia & Design

Overview

AI-generated overview

Lets an assistant compose fictional chat conversations and get watermarked mock screenshots plus deep links to a chat generator.

What you can do
The server exposes tools to build a fake chat (platform, contact, status, device, dark mode, messages) and return a rendered, watermarked PNG preview with a hosted download URL and a deep link to the generator. It also lists supported chat platforms and iPhone/Android device frames. Rendering happens server-side through the site's render endpoint; the local server itself only builds URLs and encodes the conversation into a URL-safe state parameter.
When to use it
Useful for parody, education, design mockups and fiction where a clearly fictional chat screenshot is needed. It is not intended for deception, and every output carries a non-removable watermark.
Requirements
Runs locally as a stdio process, installed from the npm package or started with node. No accounts, API keys, environment variables or headers are declared. Network access is needed to reach the hosted render endpoint for image output.
Before you install
Attachment bytes are embedded as base64url state in the render and edit URLs, which is encoding rather than encryption, so anyone with the URL can recover them; such URLs may be retained in transcripts, logs, browser history and caches. Use only non-sensitive synthetic or public attachments, never credentials or private data. The server sends conversation data to a third-party hosted endpoint, and the hosted full-resolution image URL is shareable.

Installation

In SourceWeft

  1. Open Mock Screenshots in the dashboard and add it to a workspace.
  2. 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

Mock Screenshots MCP server

An MCP server that lets an AI agent compose a fake chat and get a deep link to the matching Mock Screenshots generator — pre-filled and ready to preview and download.

Output is watermarked and clearly fictional, intended for parody, education, design mockups and fiction. It is not for deception — see the ethics policy.

Tools

ToolWhat it does
generate_fake_chatCompose a conversation (platform, messages, contact, status, device, dark) → returns a rendered, watermarked PNG (inline preview + hosted URL for download/share) plus a deep link to the generator. Supports format: "image" (default, returns preview+URL) or "link" (text-only URLs).
list_platformsLists supported chat apps and their generator URLs.
list_devicesLists the iPhone/Android device frames.

generate_fake_chat input

jsonc
{  "platform": "whatsapp",            // imessage | whatsapp | whatsapp-group | instagram | telegram | messenger | snapchat  "contact": "Mom",                  // header name / username / group name  "status": "typing…",               // header status line (optional)  "device": "galaxy-s24",            // see list_devices (default iphone-16-pro)  "dark": true,                      // dark mode (optional)  "format": "image",                 // "image" (default) | "link" — see Screenshots section  "messages": [    {      "text": "you home?",      "sender": "them",      "time": "19:01",      "image": {        "data": "<base64 PNG, JPEG, or WebP bytes>",        "mimeType": "image/png",        "alt": "A synthetic design mockup"      }    },    { "text": "5 mins!", "sender": "me", "time": "19:02", "ticks": "read" }  ]}

messages[].image is optional and supported only for whatsapp and whatsapp-group, so existing text-only requests remain unchanged. Image-only messages are also supported. Attachments must be self-contained PNG, JPEG, or WebP bytes with a matching file signature; SVG, remote URLs, malformed base64, and files over 2 MB are rejected. Alternative text is limited to 160 characters, trimmed, and defaults to Attached image. The server also rejects more than 100 messages, message text over 4,000 characters, header metadata over 256 characters, and aggregate text/image source data over 6,000 bytes before it decodes attachments or builds duplicate JSON/base64url state. The merged site endpoint limits the complete base64url state to 8,000 characters, so the final encoded-state check remains authoritative and a smaller attachment may still be required after conversation metadata is included.

Attachment privacy and URL handling

Use only non-sensitive synthetic or already-public attachments. Attachment bytes are stored as a data URL inside the base64url-encoded JSON state in both the hosted GET /api/render?...&s=<state> URL and the generator edit ?s=<state> URL. Base64url is encoding, not encryption: anyone or any system with either URL can recover the attachment.

Treat every attachment-bearing render or edit URL as sensitive. It may be retained in MCP transcripts, client logs, browser history, proxy/CDN request logs, analytics/referrers, and cache keys. Do not use credentials, private user data, confidential screenshots, or private uploads as fixtures. The MCP's own preview request uses cache: "no-store" and referrerPolicy: "no-referrer" as defense in depth, but those client-side request settings cannot guarantee that the deployed endpoint, intermediaries, or a user-opened URL will not log or cache the full GET URL. No attachment or URL logging is added by this MCP server.

This residual exposure is inherent in the currently deployed URL-state contract. Roll back attachment support by reverting the attachment commit, or avoid messages[].image; existing text-only requests remain compatible and unchanged. A future opaque, expiring server-side state token would require a separate site/API contract and is intentionally not invented here.

Screenshots

Returns a rendered, watermarked screenshot server-side via the site's GET /api/render endpoint (Cloudflare Browser Rendering). Default output (format: "image") includes:

  • Inline preview image (scaled, watermarked — displays immediately)
  • Hosted full-res PNG URL (download / share in DMs, always watermarked and clearly fictional)
  • Deep edit link to the generator, pre-filled with your conversation

Alternately, use format: "link" for text-only output (just the URLs, no image preview).

Always watermarked: Screenshots include a prominent "FAKE" watermark and cannot be disabled. This ensures they remain clearly fictional and non-deceptive for parody, education, design mockups and fiction — see the ethics policy.

Also returns a URL like https://mockscreenshots.com/fake-whatsapp-chat-generator?s=<state> that opens the generator with the conversation loaded (for preview/tweaking before final export).

Run

bash
npm installnpm start           # stdio server

Use with Claude Desktop / Claude Code

jsonc
// claude_desktop_config.json  (or: claude mcp add){  "mcpServers": {    "mockscreenshots": {      "command": "node",      "args": ["/absolute/path/to/mcp/server.mjs"]    }  }}

Once published to npm you can instead use npx -y mockscreenshots-mcp.

Publishing / distribution

  1. npm publish the mockscreenshots-mcp package.
  2. Register on registry.modelcontextprotocol.io using server.json.
  3. Submit to mcp.so, Smithery, PulseMCP, Glama, and open a PR to awesome-mcp-servers.

Each listing is a genuine dofollow dev-domain link + agent discovery — the uncontested distribution channel

How it works

The MCP server itself stays tiny and stateless: it builds URLs and encodes the conversation into a compact, URL-safe ?s= parameter (also read by the generator on load, src/lib/share.ts), then fetches a preview from the site's /api/render endpoint, which does the actual (always-watermarked) server-side rendering via Cloudflare Browser Rendering. This keeps the server dependency-light and keeps the human in the loop to preview, tweak and export.

The server never fetches a caller-supplied attachment URL. Preview responses are accepted only when they are PNG data from the fixed Mock Screenshots endpoint. The response body is consumed with a 10 MB streaming cap and the reader is cancelled immediately when that cap is crossed, even when Content-Length is absent or inaccurate. Endpoint errors, invalid responses, and timeouts safely fall back to the hosted image/edit links while retaining the watermark, ethics warning, and (when an attachment is present) attachment privacy warning.

Source: README.md at commit 5a0f7b6

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.6LatestSep 16, 2026

Score

40% 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

    Declare a license in the repository or the registry entry.