Mock Screenshots について
Mock Screenshots は、架空のチャット画像を作成し、Mock Screenshots のジェネレーターで開く MCP サーバーです。生成画像には透かしが入り、プレビュー、編集、ダウンロード用のリンクを返します。
主な機能
- 01対応メッセージングアプリ向けの会話作成
- 02透かし入り PNG プレビューの生成
- 03内容を入力済みの編集・ダウンロードリンク
- 04対応プラットフォームと端末フレームの一覧
- 05WhatsApp の会話への画像添付
活用シーン
- 01デザインモックアップ用の架空チャット画像の作成
- 02風刺や教育向けのチャット例の用意
- 03書き出し前の会話のプレビューと調整
MCP 対応
架空のチャット作成、対応プラットフォームと端末の一覧取得、レンダリング済みプレビューやジェネレーターリンクの取得に使うツールを提供します。画像には透かしが入り、架空の内容であることが明示されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| dark | boolean | いいえ | ダークモード。デフォルトは false です。 |
| device | enum | いいえ | デバイスフレーム。デフォルトは iphone-16-pro です。iphone-16-pro | iphone-16 | iphone-15-pro | iphone-15 | iphone-14 | iphone-13 | iphone-se | pixel-8-pro | pixel-8 | galaxy-s24-ultra | galaxy-s24 |
| format | enum | いいえ | インラインのプレビュー画像(デフォルト)またはリンクのみを返します。image | link |
| status | string | いいえ | ヘッダーのステータス行。例:"online"、"Active now"、"typing…"。 |
| contact | string | いいえ | ヘッダーに表示する連絡先名、ユーザー名、またはグループ名。 |
| messages | array | はい | 会話を順番に指定します。 |
| platform | enum | はい | 模倣するチャットアプリ。imessage | whatsapp | whatsapp-group | instagram | telegram | messenger | snapchat |
詳細
Mock Screenshots MCP サーバー
AI エージェントが偽のチャットを作成し、一致する Mock Screenshots ジェネレーターへのディープリンクを取得できる MCP サーバーです。あらかじめ入力されており、すぐにプレビューしてダウンロードできます。
出力には透かしが入り、明らかにフィクションであることが示されます。パロディ、教育、デザインモックアップ、フィクションを目的としています。人を欺く目的では使用できません。倫理ポリシーをご覧ください。
ツール
| ツール | 内容 |
|---|---|
generate_fake_chat | 会話(プラットフォーム、メッセージ、連絡先、ステータス、デバイス、ダークモード)を作成し、レンダリング済みの透かし入り PNG(インラインプレビューと、ダウンロード/共有用のホスト URL)に加えて、ジェネレーターへのディープリンクを返します。format: "image"(既定。プレビューと URL を返します)または "link"(URL のみをテキストで返します)に対応しています。 |
list_platforms | 対応するチャットアプリと、それぞれのジェネレーター URL を一覧表示します。 |
list_devices | iPhone/Android のデバイスフレームを一覧表示します。 |
generate_fake_chat の入力
{
"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 は任意で、whatsapp と
whatsapp-group のみでサポートされます。既存のテキストのみのリクエストには変更ありません。画像のみのメッセージにも対応しています。添付ファイルは、対応するファイルシグネチャを持つ自己完結型の PNG、JPEG、または WebP バイト列である必要があります。SVG、リモート URL、不正な base64、2 MB を超えるファイルは拒否されます。代替テキストは 160 文字までで、前後の空白は削除され、既定値は Attached image です。
サーバーは、メッセージ数が 100 件を超える場合、メッセージテキストが 4,000 文字を超える場合、ヘッダーメタデータが 256 文字を超える場合、および添付ファイルをデコードしたり JSON/base64url の重複状態を構築したりする前に、テキストと画像ソースデータの合計が 6,000 バイトを超える場合も拒否します。統合されたサイトのエンドポイントでは、base64url 状態全体が 8,000 文字に制限されるため、最終的なエンコード状態のチェックが引き続き最終的な判定基準となります。会話のメタデータを含めると、さらに小さい添付ファイルが必要になる場合があります。
添付ファイルのプライバシーと URL の取り扱い
機密情報を含まない合成データ、またはすでに公開されている添付ファイルのみを使用してください。 添付ファイルのバイト列は、ホストされた GET /api/render?...&s=<state> URL とジェネレーター編集用の ?s=<state> URL の両方で、base64url エンコードされた JSON 状態内のデータ URL として保存されます。base64url はエンコードであり、暗号化ではありません。どちらかの URL を入手した人やシステムは、添付ファイルを復元できます。
添付ファイルを含むレンダリング URL または編集 URL は、すべて機密情報として扱ってください。MCP のトランスクリプト、クライアントログ、ブラウザー履歴、プロキシ/CDN リクエストログ、アナリティクス/リファラー、キャッシュキーに保持される可能性があります。認証情報、ユーザーの個人データ、機密性の高いスクリーンショット、非公開のアップロードをテスト用データとして使用しないでください。この MCP のプレビューリクエストでは、多層防御として cache: "no-store" と referrerPolicy: "no-referrer" を使用していますが、これらのクライアント側リクエスト設定では、デプロイ済みのエンドポイント、中継システム、またはユーザーが開いた URL によって完全な GET URL がログに記録されたり、キャッシュされたりしないことを保証できません。この MCP サーバーは、添付ファイルや URL のログ記録を追加しません。
この残存リスクは、現在デプロイされている URL 状態の仕様に内在しています。添付ファイルのサポートを元に戻すには、添付ファイルのコミットを取り消してください。または、messages[].image を使用しないでください。既存のテキストのみのリクエストには引き続き互換性があり、変更はありません。将来、期限付きの不透明なサーバー側状態トークンを導入するには、サイト/API の仕様を別途定める必要があるため、ここでは意図的に導入していません。
スクリーンショット
サイトの GET /api/render エンドポイント(Cloudflare Browser Rendering)を介して、サーバー側でレンダリング済みのウォーターマーク入りスクリーンショットを返します。デフォルトの出力(format: "image")には、以下が含まれます。
- インラインプレビュー画像(縮小表示、ウォーターマーク入り。すぐに表示されます)
- フル解像度のPNG画像のホストURL(ダウンロード/DMでの共有用。常にウォーターマーク入りで、明確にフィクションであることが示されます)
- ジェネレーターへの詳細編集リンク(会話があらかじめ入力されています)
または、format: "link" を指定すると、テキストのみの出力(画像プレビューなしでURLのみ)を使用できます。
常にウォーターマーク入りです。 スクリーンショットには目立つ「FAKE」ウォーターマークが付き、無効にすることはできません。これにより、パロディ、教育、デザインモックアップ、フィクションのためのものであり、誤解を招くものではないことが明確になります。詳しくは倫理ポリシーをご覧ください。
また、次のようなURLも返します。
https://mockscreenshots.com/fake-whatsapp-chat-generator?s=<state> を開くと、会話が読み込まれた状態でジェネレーターが表示されます(最終出力の前にプレビューや調整ができます)。
実行
npm install
npm start # stdio server
Claude Desktop/Claude Codeで使用する
// claude_desktop_config.json (or: claude mcp add)
{
"mcpServers": {
"mockscreenshots": {
"command": "node",
"args": ["/absolute/path/to/mcp/server.mjs"]
}
}
}
npm に公開した後は、代わりに npx -y mockscreenshots-mcp を使用できます。
公開/配布
mockscreenshots-mcpパッケージをnpm publishします。server.jsonを使用してregistry.modelcontextprotocol.ioに登録します。- mcp.so、Smithery、PulseMCP、Glama に提出し、
awesome-mcp-serversにプルリクエストを送信します。
各掲載先は、正規の dofollow 開発者ドメインリンクであり、エージェントの発見につながります。競合のない配布チャネルです。
仕組み
MCP サーバー自体は小規模でステートレスなままです。URL を作成し、会話をコンパクトでURLセーフな ?s= パラメーターにエンコードします(ジェネレーターの読み込み時にも src/lib/share.ts で読み取られます)。その後、サイトの /api/render エンドポイントからプレビューを取得します。このエンドポイントが、Cloudflare Browser Rendering を介して実際のサーバー側レンダリング(常にウォーターマーク入り)を行います。これによりサーバーの依存関係を少なく保ちながら、人がプレビューや調整、出力を行えるようにしています。
サーバーが、呼び出し元から指定された添付ファイルURLを取得することはありません。プレビューのレスポンスとして受け付けるのは、固定の Mock Screenshots エンドポイントからのPNGデータのみです。レスポンス本文は、ストリーミング中のサイズ上限を10 MBとして読み込まれ、この上限を超えると、Content-Length が存在しない場合や不正確な場合でも、読み取りは直ちにキャンセルされます。エンドポイントエラー、無効なレスポンス、タイムアウトが発生した場合は、安全にホスト画像リンクと編集リンクへフォールバックします。その際も、ウォーターマーク、倫理に関する警告、および(添付ファイルがある場合は)添付ファイルのプライバシーに関する警告は維持されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。