Lineup
Turn one sentence into an event pack: event card, identity badges, QR codes, and .ics.
我該用這個嗎
品質與安全性
發現項目(4)
- HIGH
- LOW在 generate-lineup 中
- LOW在 render-badge-png 中
- INFO在 generate-lineup 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"lineup": {
"url": "https://lineup-bf157e35.alpic.live"
}
}
}遠端端點
https://lineup-bf157e35.alpic.livestreamable-httphttps://lineup-bf157e35.alpic.livesse它能做什麼
工具清單
工具(2)
🟢generate-lineup(title, dateISO, venue, accentHex, rsvpUrl, ...)
Generate an event pack: a Luma-style event card with .ics + RSVP QR, and an identity badge per attendee with a deterministic avatar and vCard-encoded QR. Use when the user describes an event and the people attending (meetup, conference, wedding, hackathon, dinner) and wants shareable cards. Do NOT use to render a single downloadable PNG of one badge — use render-badge-png for that. Output is deterministic: the same attendee name + style always yields the same avatar.
輸入結構描述
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Event title"
},
"dateISO": {
"type": "string",
"description": "Event start time as ISO 8601 string (UTC or with offset)"
},
"venue": {
"description": "Venue / location text",
"type": "string"
},
"accentHex": {
"description": "Hex color for accent (e.g. '#ef4444'). Defaults to indigo.",
"type": "string"
},
"rsvpUrl": {
"description": "URL to encode in the event RSVP QR code",
"type": "string"
},
"durationHours": {
"description": "Event duration in hours (default 3)",
"type": "number"
},
"avatarStyle": {
"description": "Avatar style for the whole crew. 'notionists' = Notion-style sketch (default, friendly meetups), 'lorelei' = monochrome line art (calm/professional), 'bottts' = colorful robots (hackathons / playful trading-card vibe), 'shapes' = abstract geometric (anonymous voting / ballots).",
"type": "string",
"enum": [
"notionists",
"lorelei",
"bottts",
"shapes"
]
},
"attendees": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Attendee full name"
},
"role": {
"description": "Short role label (e.g. 'Host', 'Judge', 'Hacker')",
"type": "string"
},
"gender": {
"description": "Optional gender hint to make the avatar read more clearly: 'm' (no earrings, may have a beard), 'f' (no beard, may have earrings), or 'x'/omit for neutral. Only affects the lorelei & notionists styles. Infer from the name when the user clearly implies it, otherwise omit.",
"type": "string",
"enum": [
"m",
"f",
"x"
]
},
"email": {
"description": "Email address, e.g. '[email protected]'",
"type": "string"
},
"phone": {
"description": "Phone number, e.g. '+49 30 1234567'",
"type": "string"
},
"company": {
"description": "Company / organization name",
"type": "string"
},
"website": {
"description": "Personal or company website, e.g. 'acme.io'",
"type": "string"
},
"linkedin": {
"description": "LinkedIn profile, e.g. 'linkedin.com/in/lenabauer'",
"type": "string"
},
"address": {
"description": "Postal/contact address as freeform text",
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"description": "Attendees to generate identity badges for"
}
},
"required": [
"title",
"dateISO",
"attendees"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"event": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"dateISO": {
"type": "string"
},
"venue": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"accentHex": {
"type": "string"
},
"rsvpUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"avatarStyle": {
"type": "string"
},
"icsString": {
"type": "string"
},
"qrSvg": {
"type": "string"
}
},
"required": [
"title",
"dateISO",
"venue",
"accentHex",
"rsvpUrl",
"avatarStyle",
"icsString",
"qrSvg"
],
"additionalProperties": false,
"description": "Event card data (title, date, venue, accent, RSVP QR, .ics)"
},
"badges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"role": {
"type": "string"
},
"gender": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"company": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"website": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"linkedin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"avatarSvg": {
"type": "string"
},
"vcardQrSvg": {
"type": "string"
}
},
"required": [
"name",
"role",
"gender",
"email",
"phone",
"company",
"website",
"linkedin",
"address",
"avatarSvg",
"vcardQrSvg"
],
"additionalProperties": false
},
"description": "One identity badge per attendee"
}
},
"required": [
"event",
"badges"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢render-badge-png(name, role, accentHex, eventTitle, avatarStyle, ...)
Render a single identity badge as a shareable PNG (avatar + name + role + vCard QR) composed with Satori. Use when the user clicks download on one badge, or asks for a single saveable/printable badge image. Do NOT use to build the whole event view — use generate-lineup for that. Match avatarStyle/gender/accentHex to the badge shown in the Lineup so the PNG looks identical.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Attendee full name"
},
"role": {
"description": "Role label",
"type": "string"
},
"accentHex": {
"description": "Accent hex color",
"type": "string"
},
"eventTitle": {
"description": "Event title (printed on the badge)",
"type": "string"
},
"avatarStyle": {
"description": "Avatar style (same options as generate-lineup). Match the event's style.",
"type": "string",
"enum": [
"notionists",
"lorelei",
"bottts",
"shapes"
]
},
"seed": {
"description": "Avatar seed override (defaults to name). Used when the user re-rolled this face.",
"type": "string"
},
"gender": {
"description": "Gender hint (same as generate-lineup). Match the badge.",
"type": "string",
"enum": [
"m",
"f",
"x"
]
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"pngDataUrl": {
"type": "string",
"description": "The rendered badge as a base64 PNG data URL"
}
},
"required": [
"pngDataUrl"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}社群
證據