Magic Envelope
Create and send invitations and letters in a sealed envelope, one personal link per guest.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"invitations": {
"url": "https://magic-envelope.com/api/mcp"
}
}
}Remote-Endpunkte
https://magic-envelope.com/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢get_catalog
Styles, occasion presets, block types (with examples), envelope slots, stamps and seal options. Call this first to compose a letter.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴create_letter(lang, style, preset, blocks, custom, ...)
Create and publish an invitation or letter. Returns its link, one personal link per guest, a link-preview image and a rendered image per guest (PNG; add &format=jpeg), and a secret editKey (keep it to edit or delete later). Use {name} in texts to address each guest. Dates are local: "2026-11-14" (whole day) or "2026-11-14T18:00".
Eingabe-Schema
{
"type": "object",
"properties": {
"lang": {
"default": "en",
"type": "string",
"enum": [
"es",
"en",
"fr",
"pt",
"it",
"de"
],
"description": "Language guests read the letter in"
},
"style": {
"default": "parchment",
"type": "string",
"enum": [
"parchment",
"midnight",
"romance",
"botanical",
"notebook",
"minimal",
"launch",
"groovy",
"deco",
"ivory",
"brutal",
"bubblegum",
"confetti",
"typewriter",
"pocket"
],
"description": "Look of the letter and envelope (see catalog.styles)"
},
"preset": {
"type": "string",
"enum": [
"birthday",
"wedding",
"party",
"baby",
"dinner",
"graduation",
"event",
"letter"
],
"description": "Start from an occasion preset (pre-filled blocks). On update it only changes the occasion."
},
"blocks": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "heading"
},
"text": {
"type": "string",
"maxLength": 200
},
"size": {
"default": "xl",
"type": "string",
"enum": [
"md",
"lg",
"xl"
]
},
"italic": {
"default": false,
"type": "boolean"
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "text"
},
"text": {
"type": "string",
"maxLength": 50000
},
"align": {
"default": "center",
"type": "string",
"enum": [
"left",
"center"
]
},
"italic": {
"default": false,
"type": "boolean"
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "image"
},
"src": {
"type": "string",
"maxLength": 2048
},
"shape": {
"default": "wide",
"type": "string",
"enum": [
"wide",
"square",
"round"
]
}
},
"required": [
"id",
"type",
"src"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "date"
},
"start": {
"type": "string",
"maxLength": 40
},
"end": {
"type": "string",
"maxLength": 40
},
"title": {
"type": "string",
"maxLength": 200
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"start"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "place"
},
"name": {
"type": "string",
"maxLength": 200
},
"address": {
"type": "string",
"maxLength": 200
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"name",
"address"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "countdown"
},
"to": {
"default": "",
"type": "string",
"maxLength": 40
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "link"
},
"label": {
"type": "string",
"maxLength": 200
},
"href": {
"type": "string",
"maxLength": 2048
},
"icon": {
"default": "link",
"type": "string",
"enum": [
"link",
"gift",
"music",
"video",
"map",
"camera"
]
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"label",
"href"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "qr"
},
"data": {
"type": "string",
"maxLength": 2048
},
"caption": {
"type": "string",
"maxLength": 200
}
},
"required": [
"id",
"type",
"data"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "rsvp"
},
"channel": {
"type": "string",
"enum": [
"whatsapp",
"sms",
"email"
]
},
"contacts": {
"type": "object",
"properties": {
"whatsapp": {
"default": "",
"type": "string",
"maxLength": 200
},
"sms": {
"default": "",
"type": "string",
"maxLength": 200
},
"email": {
"default": "",
"type": "string",
"maxLength": 200
}
}
},
"deadline": {
"type": "string",
"maxLength": 40
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"channel",
"contacts"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "agenda"
},
"items": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"time": {
"type": "string",
"maxLength": 10
},
"what": {
"type": "string",
"maxLength": 200
}
},
"required": [
"time",
"what"
]
}
}
},
"required": [
"id",
"type",
"items"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "dress"
},
"text": {
"type": "string",
"maxLength": 200
},
"board": {
"default": [],
"maxItems": 12,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "color"
},
"value": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
}
},
"required": [
"kind",
"value"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "emoji"
},
"value": {
"type": "string",
"maxLength": 16
}
},
"required": [
"kind",
"value"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "text"
},
"value": {
"type": "string",
"maxLength": 60
}
},
"required": [
"kind",
"value"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "image"
},
"value": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"kind",
"value"
]
}
]
}
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "gift"
},
"text": {
"type": "string",
"maxLength": 200
},
"iban": {
"type": "string",
"maxLength": 200
},
"href": {
"type": "string",
"maxLength": 2048
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "signature"
},
"text": {
"type": "string",
"maxLength": 200
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "divider"
},
"style": {
"default": "flourish",
"type": "string",
"enum": [
"flourish",
"stars",
"line"
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "music"
},
"href": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"id",
"type",
"href"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "stamp"
},
"stamp": {
"anyOf": [
{
"type": "string",
"enum": [
"love",
"rose",
"dove",
"castle",
"moon",
"cake",
"sunflower",
"shell",
"butterfly",
"star",
"key",
"rocket",
"disco",
"invader"
]
},
{
"type": "string",
"const": ""
}
]
}
},
"required": [
"id",
"type",
"stamp"
]
}
]
},
"description": "Letter blocks, top to bottom. Replaces all blocks. Use {name} in text to address each guest."
},
"custom": {
"type": "object",
"properties": {
"accent": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"paper": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"ink": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"envelope": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"head": {
"type": "string",
"enum": [
"medieval",
"fell",
"playfair",
"kalam",
"inter",
"grotesk",
"monoton",
"righteous",
"pixel",
"vt323",
"cinzel",
"fredoka",
"courier",
"bebas"
]
},
"body": {
"type": "string",
"enum": [
"medieval",
"fell",
"playfair",
"kalam",
"inter",
"grotesk",
"monoton",
"righteous",
"pixel",
"vt323",
"cinzel",
"fredoka",
"courier",
"bebas"
]
},
"frame": {
"type": "string",
"enum": [
"none",
"rule",
"ornate"
]
}
},
"description": "Overrides on top of the style: accent/paper/ink/envelope colours, head/body fonts"
},
"seal": {
"type": "string",
"maxLength": 16,
"description": "Wax seal mark: \"\" none, \"_\" plain, \"icon:<id>\", \"ini:ABC\", \"duo:A|J\""
},
"sealShape": {
"type": "string",
"enum": [
"scallop",
"round",
"flower",
"octagon"
]
},
"envelope": {
"type": "object",
"properties": {
"blocks": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"front-center",
"front-tl",
"front-tr",
"front-bl",
"back-center"
]
},
"additionalProperties": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "heading"
},
"text": {
"type": "string",
"maxLength": 200
},
"size": {
"default": "xl",
"type": "string",
"enum": [
"md",
"lg",
"xl"
]
},
"italic": {
"default": false,
"type": "boolean"
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "text"
},
"text": {
"type": "string",
"maxLength": 50000
},
"align": {
"default": "center",
"type": "string",
"enum": [
"left",
"center"
]
},
"italic": {
"default": false,
"type": "boolean"
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "image"
},
"src": {
"type": "string",
"maxLength": 2048
},
"shape": {
"default": "wide",
"type": "string",
"enum": [
"wide",
"square",
"round"
]
}
},
"required": [
"id",
"type",
"src"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "date"
},
"start": {
"type": "string",
"maxLength": 40
},
"end": {
"type": "string",
"maxLength": 40
},
"title": {
"type": "string",
"maxLength": 200
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"start"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "place"
},
"name": {
"type": "string",
"maxLength": 200
},
"address": {
"type": "string",
"maxLength": 200
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"name",
"address"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "countdown"
},
"to": {
"default": "",
"type": "string",
"maxLength": 40
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "link"
},
"label": {
"type": "string",
"maxLength": 200
},
"href": {
"type": "string",
"maxLength": 2048
},
"icon": {
"default": "link",
"type": "string",
"enum": [
"link",
"gift",
"music",
"video",
"map",
"camera"
]
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"label",
"href"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "qr"
},
"data": {
"type": "string",
"maxLength": 2048
},
"caption": {
"type": "string",
"maxLength": 200
}
},
"required": [
"id",
"type",
"data"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "rsvp"
},
"channel": {
"type": "string",
"enum": [
"whatsapp",
"sms",
"email"
]
},
"contacts": {
"type": "object",
"properties": {
"whatsapp": {
"default": "",
"type": "string",
"maxLength": 200
},
"sms": {
"default": "",
"type": "string",
"maxLength": 200
},
"email": {
"default": "",
"type": "string",
"maxLength": 200
}
}
},
"deadline": {
"type": "string",
"maxLength": 40
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"channel",
"contacts"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "agenda"
},
"items": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"time": {
"type": "string",
"maxLength": 10
},
"what": {
"type": "string",
"maxLength": 200
}
},
"required": [
"time",
"what"
]
}
}
},
"required": [
"id",
"type",
"items"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "dress"
},
"text": {
"type": "string",
"maxLength": 200
},
"board": {
"default": [],
"maxItems": 12,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "color"
},
"value": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
}
},
"required": [
"kind",
"value"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "emoji"
},
"value": {
"type": "string",
"maxLength": 16
}
},
"required": [
"kind",
"value"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "text"
},
"value": {
"type": "string",
"maxLength": 60
}
},
"required": [
"kind",
"value"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "image"
},
"value": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"kind",
"value"
]
}
]
}
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "gift"
},
"text": {
"type": "string",
"maxLength": 200
},
"iban": {
"type": "string",
"maxLength": 200
},
"href": {
"type": "string",
"maxLength": 2048
},
"interactive": {
"default": true,
"type": "boolean"
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "signature"
},
"text": {
"type": "string",
"maxLength": 200
}
},
"required": [
"id",
"type",
"text"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "divider"
},
"style": {
"default": "flourish",
"type": "string",
"enum": [
"flourish",
"stars",
"line"
]
}
},
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "music"
},
"href": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"id",
"type",
"href"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"type": {
"type": "string",
"const": "stamp"
},
"stamp": {
"anyOf": [
{
"type": "string",
"enum": [
"love",
"rose",
"dove",
"castle",
"moon",
"cake",
"sunflower",
"shell",
"butterfly",
"star",
"key",
"rocket",
"disco",
"invader"
]
},
{
"type": "string",
"const": ""
}
]
}
},
"required": [
"id",
"type",
"stamp"
]
}
]
}
}
},
"required": [
"blocks"
],
"description": "Envelope slot blocks, partial like letter blocks (see catalog.envelope for each slot's block type)"
},
"nameFallback": {
"type": "string",
"maxLength": 60,
"description": "What {name} reads as without a guest (default: \"Dear Guest\" in the letter language)"
},
"guests": {
"default": [],
"description": "Each guest gets their own addressed link",
"maxItems": 1000,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"name"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_letter(id, editKey)
Read a letter you created (needs its editKey): its content, links, images, and the guests' RSVP answers (yes / maybe / no, plus who hasn't answered).
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"editKey": {
"type": "string"
}
},
"required": [
"id",
"editKey"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡update_letter(id, editKey)
Change a letter. Only the fields you send change (lang, style… are kept). Links keep working. You may send the same object get_letter returned, including its card wrapper — it is applied. A body with no letter fields is an error, not a silent success. `guests` replaces the list but keeps each existing guest's id and link (matched by id, then by name); `addGuests` appends without touching anyone else. Image URLs are copied at full size. Text has no character limit; italic: true (or fontStyle: "italic"); custom.frame is none | rule | ornate.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"editKey": {
"type": "string"
}
},
"required": [
"id",
"editKey"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🔴delete_letter(id, editKey)
Delete a letter for good (needs its editKey): its links stop working, and guest names, RSVP answers and images are erased.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"editKey": {
"type": "string"
}
},
"required": [
"id",
"editKey"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis