mcpField
M
Magic Envelope

Magic Envelope

リモート
magic-envelope.comコミュニケーション0今日更新
リポジトリ公式サイト

Magic Envelope について

Magic Envelope はテンプレートとモジュール式ブロックで招待状や手紙を作成し、ゲストごとのリンクまたは画像ファイルとして共有できます。Web アプリとネイティブシェルは MCP と REST API 経由のエージェント利用に対応します。

主な機能

  1. 01テンプレートとモジュール式ブロックで手紙を作成
  2. 02スタイル、色、フォント、封蝋、封筒をカスタマイズ
  3. 03ゲストリストを管理しリンクを個別化
  4. 04招待状を送信して送信状況を記録
  5. 05ゲスト別 PNG、ZIP、印刷用/PDF にエクスポート
  6. 06RSVP、カレンダー、道順、カウントダウンを追加

活用シーン

  1. 01ゲストリストに個別の招待状を送る
  2. 02RSVP とイベント詳細を含む手紙を作る
  3. 03リンクの共有や印刷用招待画像の配布
  4. 04エージェントから手紙を作成または更新

MCP 対応

https://magic-envelope.com/api/mcp はカタログ取得と、手紙の作成・取得・更新を提供します。MCP サーバーは REST API およびエディターと同じサービスレイヤーと検証スキーマを使用します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://magic-envelope.com/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

6

このツールにパラメーターはありません。

詳細

✉ Magic Envelope

無料の招待状や手紙を作成できます。誕生日、結婚式、パーティー、ディナー、手紙などに対応しています… 用意されたテンプレートを選ぶか、入力式のブロックを組み合わせて作成できます。リンクを送ると、ゲストが封筒を開きます。

これはエディターではありません。すべて入力式で、モジュール化されています。

実行

pnpm install
pnpm dev          # http://localhost:3000

キーなしでローカル実行できます。公開したカードとアップロードした画像は .data/ に保存されます。キーが必要なのはAI画像だけです。

エージェント向け

アプリの機能はすべて、ブラウザーを使わずに利用できます。

  • MCP — https://magic-envelope.com/api/mcp(ツール:get_catalog、create_letter、get_letter、update_letter)
  • REST — POST /api/v1/letters、GET|PATCH /api/v1/letters/:id(Authorization: Bearer <editKey>)、GET /api/v1/catalog
  • 仕様 — /api/v1/openapi.json、/api/v1/schema、/llms.txt、ドキュメントは /developers

REST アダプターと MCP アダプターは同じサービスレイヤー(src/lib/api.server.ts)を共有し、エディターと同じ Zod スキーマで検証します。

ネイティブアプリ(Capacitor 8)

iOS/Android アプリは、ホストされたウェブアプリを囲む薄いシェルです(API ルートが必要なため、静的エクスポートはできません)。 capacitor.config.ts は WebView の接続先を CAP_SERVER_URL に設定します(デフォルトは https://magic-envelope.com)。native-shell/ はオフラインページ専用です。

pnpm dev:lan                                   # dev server reachable from your phone
CAP_SERVER_URL=http://192.168.1.20:3000 pnpm cap:android   # or cap:ios (opens Android Studio / Xcode)

src/lib/native.ts が唯一のブリッジです。各関数は、アプリでは Capacitor プラグインを、ブラウザーではウェブ API を使用します。

関数ネイティブブラウザー
share()システムの共有シートWeb Share。利用できない場合はリンクをコピー
haptic()Taptic/バイブレーションnavigator.vibrate
copy()ネイティブのクリップボードClipboard API
pickPhoto()カメラ/フォトライブラリファイル入力(capture を指定すると、モバイルではカメラが開きます)
saveFile()キャッシュに書き込んでから共有(Files、Calendar など)ダウンロード
onBack()Android の戻るボタンでシート/ウィザードのステップを閉じる–
ディープリンクappUrlOpen で /c/… をアプリ内で開く–

環境変数

変数用途
AI_GATEWAY_API_KEYVercel AI Gateway 経由のAI画像生成(Vercel 上では OIDC が機能するため不要です)
BLOB_READ_WRITE_TOKEN公開カード(非公開)と画像(公開)用の Vercel Blob ストア
NEXT_PUBLIC_SITE_URL正規 URL。例:https://magic-envelope.com(QR コード、OG 画像)
IMAGE_MODEL任意の上書き設定。デフォルトは bfl/flux-2-klein-4b(低コストで高速)

アーキテクチャ

src/lib/model.ts        Zod schemas: Card, 15 Block types, kinds, themes, languages
src/lib/blocks.ts       block registry (icons, palette, factories) + 24 templates (8 kinds × 3)
src/lib/ui.ts           app UI copy (always English)
src/lib/styles.ts       letter styles = design-system tokens (fonts, colors, background, frame, control shape, envelope) + per-letter overrides
src/lib/i18n.ts         letter languages es · en · fr · pt · it · de (guest-facing copy + presets)
src/lib/fields.ts       field kinds (phone, email, url, date…): one validator for editor + renderer
src/lib/craft.ts        seal shapes/marks & envelope geometry/palettes (shared by app and OG image)
src/lib/color.ts        opaque shading helpers
src/lib/themes.ts       6 themes (parchment, midnight, rose, forest, sky, ink)
src/lib/actions.ts      calendar (.ics / Google), maps, RSVP deep links, music embeds
src/lib/drafts.ts       drafts in localStorage (no account needed)
src/lib/store.server.ts Vercel Blob storage, or .data/ in local dev

src/components/sketch.tsx         Excalidraw-style rough.js frames and buttons
src/components/card/blocks.tsx    renderer per block type
src/components/craft.tsx          wax seal, envelope art, envelope opener
src/components/editor/            tap-a-block editor, "+" palette, theme, share sheet
src/components/wizard.tsx         language → kind → template

/                 home (drafts)
/new              wizard (?kind=wedding jumps to templates)
/edit/[id]        editor (local draft)
/c/[id]           public envelope (+ OG image for WhatsApp/iMessage previews)
/e/[id]#key       "edit on another device": imports the card into local drafts
/api/publish      save/overwrite a card (id + secret edit key)
/api/upload       image upload (resized client-side)
/api/imagine      AI image → stored → URL
/api/card/[id]    card JSON for holders of the edit key

src/lib/personalize.ts            {name} token: resolution and fallbacks
src/lib/mail.ts                   envelope slots (fixed block types), stamps, per-style envelope defaults
src/components/editor/envelope-editor.tsx  envelope canvas + slot/seal editors
src/components/export-stage.tsx   flat PNG/ZIP rendering (fonts embedded per style)
src/components/editor/guests-panel.tsx, send-panel.tsx
ブロックタイプの追加
  1. lib/model.ts にスキーマを追加し、Block 共用体に含めます(既存の形状を変更する場合は、ここにマイグレーションも追加します)。
  2. lib/blocks.ts にアイコン、パレット項目、ファクトリーを追加し、lib/ui.ts にラベルを追加します。
  3. components/card/blocks.tsx にレンダラーのケースと isEmpty のルールを追加します。
  4. Field に適切なフィールド種別を指定して、components/editor/block-editor.tsx にエディターのケースを追加します。
  5. ゲストに表示する文言を lib/i18n.ts に追加します。

TypeScript の網羅性チェックにより、対応漏れのある手順がすべて検出されます。

機能

  • ウィザード:手紙の言語 → スタイル(15種類:クラシック、エレガント、モダン、遊び心のある、レトロ) → 空白の手紙(デフォルト)またはイベント用プリセット
  • エディターのスタイルパネル:スタイルの切り替え、アクセント・紙・文字の色とタイトル・本文のフォント、封蝋(シンボル、イニシャル、またはなし)、封筒に書くテキスト(ゲストの名前に対応)をカスタマイズ
  • プレビューページには、エディターのリンク/画像の選択と「次のゲストとしてプレビュー」が反映され、そこから直接送信できます
  • アプリのUIは英語です。各手紙にはそれぞれ言語があり(スタイルパネルから変更可能)
  • 15種類のブロック:タイトル、テキスト、画像、日付、場所+地図、カウントダウン、出欠確認(WhatsApp/SMS/メール)、QR、リンク、スケジュール、ドレスコードのムードボード(色、絵文字、単語、写真)、ギフト(IBANのコピー/ギフト登録リスト)、音楽(Spotify/YouTube/SoundCloud)、署名、区切り線
  • 4種類のスタイル(絵本風、中世風、スケッチ、写真風)のAI画像と写真のアップロード
  • 6種類のテーマ、カスタムの封蝋用グリフ、「宛先:…」と記された封筒
  • ゲストリスト:ゲストを追加、リストを貼り付け(「名前、電話番号/メール」)、または連絡先から選択。テキスト内の {name} は各ゲストの名前に置き換わります
    • すべてのゲストに個別のリンク(/c/<id>?g=<guest>)が割り当てられます。各ゲスト自身の名前だけが、そのゲストのブラウザーに送信されます
    • 各ゲストの連絡手段(WhatsApp/メール/共有シート)で個別に送信し、送信済みの相手を追跡できます。すべてのリンクのコピーやCSV出力も可能です
    • 出欠確認の返信にはゲストの名前が含まれ、封筒の宛名もゲストに合わせて表示されます
  • 封筒(リンク形式の手紙):実際のブロックを配置する固定スロット——タイトル(宛先)、テキスト(差出人、封蝋の下に添えるメモ)、スタンプ(郵便料金、ミシン目入りのスタンプ14種類)。手紙と同じエディター、プレースホルダー、ルールで編集できます。封蝋は4種類の形(スカラップ、丸形、花形、八角形)から選べ、ベクターマーク(12種類のアイコン、1〜3文字のイニシャル、「A ♥ J」のようなカップル名、文字のみ、またはなし)を入れられます。どの色の封蝋でも常に読みやすく表示されます。各スタイルには専用の封筒(縁取り+スタンプ)が付属します。ゲストには封筒の表面が届き、タップして裏返し、もう一度タップして開くと、実際の手紙が滑り出てきます。
  • プレビューにはゲストが受け取る内容がそのまま表示されます。リンクの場合は再生できる封筒、画像の場合は実際にエクスポートされるPNGです。
  • 1通の手紙から2種類の形式を出力できます:インタラクティブなリンク、または静止画像(ゲストごとのPNG、全員分のZIP、印刷/PDF)。 操作機能を持つブロックは画像では自動的に静止表示になり、リンクでも各ブロックのボタンをオフにできます。
  • 共有:リンク、ネイティブの共有シート、WhatsApp、ダウンロード可能なQR、印刷/PDF
  • ゲストは「カレンダーに追加」、経路案内、リアルタイムのカウントダウン、ワンタップでの出欠回答を利用できます
  • インストール可能なPWA(iOS/Androidのホーム画面)、ダークモードのブラウザーUI、動きを抑える設定に対応
  • 公開されたリンクには noindex が設定されます。各カードは、作成したデバイスから再公開できます

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。