Mock Screenshots

io.github.gamercc-apps由 GitHub 账号 gamercc-apps 发布v0.1.6更新于 Oct 24, 2026

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

已验证STDIO仅桌面效率与工作流媒体与设计

概览

AI 生成的概览

让助手编造虚构聊天对话,并获取带水印的模拟截图以及聊天生成器的深度链接。

可以做什么
该服务器提供工具来构建虚假聊天(平台、联系人、状态、设备、深色模式、消息),并返回带水印的 PNG 预览、可下载的托管图片链接以及生成器的深度链接。它还能列出支持的聊天平台和 iPhone/Android 设备边框。渲染在服务端通过站点的渲染端点完成;本地服务器本身只负责构建 URL 并把对话编码进 URL 安全的状态参数。
适用场景
适用于恶搞、教学、设计样稿和虚构创作等需要明显虚构聊天截图的场景。它不用于欺骗,所有输出都带有无法关闭的水印。
运行要求
以 stdio 进程在本地运行,可从 npm 包安装或用 node 启动。未声明任何账号、API 密钥、环境变量或请求头。输出图片需要网络访问托管渲染端点。
安装前请注意
附件字节会以 base64url 状态嵌入渲染和编辑 URL,这只是编码而非加密,任何拿到该 URL 的人都能还原附件;这类 URL 可能被记录在对话记录、日志、浏览器历史和缓存中。只使用非敏感的合成或公开附件,切勿使用凭据或私人数据。服务器会把对话数据发送到第三方托管端点,托管的全分辨率图片链接可被分享。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mock Screenshots,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:README.md,提交 5a0f7b6

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.6最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。