Lineup

Turn one sentence into an event pack: event card, identity badges, QR codes, and .ics.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
100%
命名质量
70%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(4)

  • HIGHTool poisoning patterns detected
  • LOWTool 'generate-lineup' doesn't follow camelCase/snake_case在 generate-lineup 中
  • LOWTool 'render-badge-png' doesn't follow camelCase/snake_case在 render-badge-png 中
  • INFOTool description contains placeholder or incomplete text在 generate-lineup 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,413token 数(工具定义)
~6.7 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.10%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "lineup": {
      "url": "https://lineup-bf157e35.alpic.live"
    }
  }
}

远程端点

https://lineup-bf157e35.alpic.livestreamable-http
https://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
}

社区

评价此服务器

证据

最近观测

已验证未记录版本2 个工具
已验证未记录版本2 个工具
观测失败未记录版本—
观测失败未记录版本—