Zovo Place Card Maker MCP
A community MCP server that converts guest lists into print-ready tent-fold place cards, flat escort cards, and table plans. It supports names in multiple scripts, handles folding layouts with crop marks, and allows sorting by table or name.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://place-cards.zovo.one/mcpWhat its tools do
2 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Generate printable tent place cards from a guest list
- Create flat escort cards with meal choices
- Produce a table plan list grouped by table
Source and maintenance
Protocol and capabilities
- Server
- place-cards 1.0.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 2 advertised
- Resources
- 1 advertised
- Resource templates
- 1 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
2 advertised
generate_place_cards — Generate tent place cards
Use this when the user wants place cards printable from a guest list, a place card template, or table name cards for a wedding, dinner or Thanksgiving. Convert the user's guest list, spreadsheet or a photo of a seating chart into guests (name, table, meal); use text only as a fallback. Makes tent-fold cards, 3.5 x 2 in folded (or 105 x 74 mm A7 on A4), 4 per page or 6 per Letter landscape page, with the name on both faces (back face rotated 180°), dashed fold lines, crop marks, an optional event line, table number and meal tag, sorted by table or name. Long names shrink then wrap to 2 lines. Also returns a table plan PDF. Up to 300 guests. Does not seat guests or design invitations.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"size": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Card size: \"3.5x2\" (default, US 3.5 x 2 in folded) or \"a7\" (105 x 74 mm folded, 4 per A4 sheet)."
},
"sort": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "table (default when tables are given: by table, then name), alpha (by full name), last (by last name) or given (list order)."
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 20000
},
{
"type": "null"
}
],
"description": "Fallback only: a pasted guest list, one guest per line, e.g. \"Ana Kowalska, 1, Fish\" or CSV with a Name,Table,Meal header. Prefer guests."
},
"paper": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "letter (default) or A4."
},
"guests": {
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"meal": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"description": "Meal choice shown as a small tag, e.g. Vegetarian."
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"description": "Guest name as it should print, e.g. Maria Nguyễn. Up to 120 characters print; longer names are shortened."
},
"table": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "Table number or name, e.g. 3 or \"Head table\"."
}
},
"additionalProperties": {}
},
{
"type": "string",
"maxLength": 300
}
]
},
"maxItems": 300
},
{
"type": "string",
"maxLength": 20000
}
]
},
{
"type": "null"
}
],
"description": "The guest list as objects. Convert a pasted list, a spreadsheet or a photo of a seating chart into these fields. Example: [{\"name\":\"Ana Kowalska\",\"table\":1,\"meal\":\"Fish\"},{\"name\":\"王芳\",\"table\":2}]. Up to 300 guests."
},
"per_page": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "4 (default, portrait) or 6 per page (landscape, US size on Letter only)."
},
"show_meal": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Print the meal choice as a small tag. Default true when meals are given."
},
"show_table": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Print the table number on the card. Default true when tables are given."
},
"event_title": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"description": "Optional small line on each card, e.g. \"Emma & Liam · 12 June 2027\" or \"Thanksgiving 2026\"."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"layout",
"counts",
"tables",
"preview",
"meals",
"assumptions",
"flags",
"downloads"
],
"properties": {
"kind": {
"type": "string"
},
"flags": {
"type": "array",
"items": {
"type": "string"
}
},
"meals": {
"type": "array",
"items": {
"type": "object",
"required": [
"meal",
"count"
],
"properties": {
"meal": {
"type": "string"
},
"count": {
"type": "number"
}
},
"additionalProperties": false
}
},
"title": {
"type": "string"
},
"counts": {
"type": "object",
"required": [
"guests",
"tables",
"with_meal",
"shrunk",
"wrapped"
],
"properties": {
"guests": {
"type": "number"
},
"shrunk": {
"type": "number"
},
"tables": {
"type": "number"
},
"wrapped": {
"type": "number"
},
"with_meal": {
"type": "number"
}
},
"additionalProperties": false
},
"layout": {
"type": "object",
"required": [
"card",
"per_page",
"paper",
"orientation",
"pages",
"fold"
],
"properties": {
"card": {
"type": "string"
},
"fold": {
"type": "string"
},
"pages": {
"type": "number"
},
"paper": {
"type": "string"
},
"per_page": {
"type": "number"
},
"orientation": {
"type": "string"
}
},
"additionalProperties": false
},
"tables": {
"type": "array",
"items": {
"type": "object",
"required": [
"table",
"guests"
],
"properties": {
"table": {
"type": "string"
},
"guests": {
"type": "number"
}
},
"additionalProperties": false
}
},
"preview": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"table",
"meal",
"font_pt",
"lines"
],
"properties": {
"meal": {
"type": "string"
},
"name": {
"type": "string"
},
"lines": {
"type": "number"
},
"table": {
"type": "string"
},
"font_pt": {
"type": "number"
}
},
"additionalProperties": false
}
},
"downloads": {
"type": "object",
"required": [
"cards",
"table_plan"
],
"properties": {
"cards": {
"type": "string"
},
"table_plan": {
"type": "string"
}
},
"additionalProperties": false
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"flags_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"meals_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"tables_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"preview_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Generate tent place cards",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}generate_escort_cards — Generate escort cards and table plan
Use this when the user wants escort cards (flat cards that tell each guest their table, often with meal choice) or a printable table plan list from a guest list. Convert the guest list into guests (name, table, meal). Returns flat 3.5 x 2 in cards, 10 per Letter or A4 page (or 105 x 74 mm, 8 per A4), with crop marks, plus a table plan PDF grouped by table with meal counts. Up to 300 guests. Does not choose seats for guests.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"size": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Card size: \"3.5x2\" (default, US 3.5 x 2 in flat) or \"a7\" (105 x 74 mm flat, 8 per A4 page)."
},
"sort": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "table (default when tables are given: by table, then name), alpha (by full name), last (by last name) or given (list order)."
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 20000
},
{
"type": "null"
}
],
"description": "Fallback only: a pasted guest list, one guest per line, e.g. \"Ana Kowalska, 1, Fish\" or CSV with a Name,Table,Meal header. Prefer guests."
},
"paper": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "letter (default) or A4."
},
"guests": {
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"meal": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"description": "Meal choice shown as a small tag, e.g. Vegetarian."
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"description": "Guest name as it should print, e.g. Maria Nguyễn. Up to 120 characters print; longer names are shortened."
},
"table": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "Table number or name, e.g. 3 or \"Head table\"."
}
},
"additionalProperties": {}
},
{
"type": "string",
"maxLength": 300
}
]
},
"maxItems": 300
},
{
"type": "string",
"maxLength": 20000
}
]
},
{
"type": "null"
}
],
"description": "The guest list as objects. Convert a pasted list, a spreadsheet or a photo of a seating chart into these fields. Example: [{\"name\":\"Ana Kowalska\",\"table\":1,\"meal\":\"Fish\"},{\"name\":\"王芳\",\"table\":2}]. Up to 300 guests."
},
"show_meal": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Print the meal choice as a small tag. Default true when meals are given."
},
"show_table": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 10
}
]
},
{
"type": "null"
}
],
"description": "Print the table number on the card. Default true when tables are given."
},
"event_title": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"description": "Optional small line on each card, e.g. \"Emma & Liam · 12 June 2027\" or \"Thanksgiving 2026\"."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"layout",
"counts",
"tables",
"preview",
"meals",
"assumptions",
"flags",
"downloads"
],
"properties": {
"kind": {
"type": "string"
},
"flags": {
"type": "array",
"items": {
"type": "string"
}
},
"meals": {
"type": "array",
"items": {
"type": "object",
"required": [
"meal",
"count"
],
"properties": {
"meal": {
"type": "string"
},
"count": {
"type": "number"
}
},
"additionalProperties": false
}
},
"title": {
"type": "string"
},
"counts": {
"type": "object",
"required": [
"guests",
"tables",
"with_meal",
"shrunk",
"wrapped"
],
"properties": {
"guests": {
"type": "number"
},
"shrunk": {
"type": "number"
},
"tables": {
"type": "number"
},
"wrapped": {
"type": "number"
},
"with_meal": {
"type": "number"
}
},
"additionalProperties": false
},
"layout": {
"type": "object",
"required": [
"card",
"per_page",
"paper",
"orientation",
"pages",
"fold"
],
"properties": {
"card": {
"type": "string"
},
"fold": {
"type": "string"
},
"pages": {
"type": "number"
},
"paper": {
"type": "string"
},
"per_page": {
"type": "number"
},
"orientation": {
"type": "string"
}
},
"additionalProperties": false
},
"tables": {
"type": "array",
"items": {
"type": "object",
"required": [
"table",
"guests"
],
"properties": {
"table": {
"type": "string"
},
"guests": {
"type": "number"
}
},
"additionalProperties": false
}
},
"preview": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"table",
"meal",
"font_pt",
"lines"
],
"properties": {
"meal": {
"type": "string"
},
"name": {
"type": "string"
},
"lines": {
"type": "number"
},
"table": {
"type": "string"
},
"font_pt": {
"type": "number"
}
},
"additionalProperties": false
}
},
"downloads": {
"type": "object",
"required": [
"cards",
"table_plan"
],
"properties": {
"cards": {
"type": "string"
},
"table_plan": {
"type": "string"
}
},
"additionalProperties": false
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"flags_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"meals_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"tables_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
},
"preview_count": {
"type": "object",
"required": [
"shown",
"total"
],
"properties": {
"shown": {
"type": "number"
},
"total": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Generate escort cards and table plan",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
place-cards-widget — Zovo Place Card Maker view
Interactive view for Zovo Place Card Maker.
ui://widget/place-cards-v1-1.0.1-81d4a2ecef6fbec2319552e321c7109e56e77c16478f363b6ce1704134ac3f93.htmlplace-cards-widget-legacy — Zovo Place Card Maker view (previous versions)
ui://widget/place-cards-{version}.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 916 ms
- 95th percentile latency
- 916 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 916 ms · metadata changed · 2 tool(s), 1 resource(s), 1 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http zovo-place-card-maker-mcp https://place-cards.zovo.one/mcpCodex
codex mcp add zovo-place-card-maker-mcp --url https://place-cards.zovo.one/mcpCursor
{
"mcpServers": {
"zovo-place-card-maker-mcp": {
"url": "https://place-cards.zovo.one/mcp"
}
}
}Cline
{
"mcpServers": {
"zovo-place-card-maker-mcp": {
"type": "streamableHttp",
"url": "https://place-cards.zovo.one/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"zovo-place-card-maker-mcp": {
"type": "http",
"url": "https://place-cards.zovo.one/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http zovo-place-card-maker-mcp https://place-cards.zovo.one/mcpClaude Desktop
https://place-cards.zovo.one/mcpWindsurf
{
"mcpServers": {
"zovo-place-card-maker-mcp": {
"serverUrl": "https://place-cards.zovo.one/mcp"
}
}
}Let your agent find its tools
Find servers like Zovo Place Card Maker MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.