lu.ma events MCP server with draft+confirm safety, audit logging, and prompt-injection scrubbing.β¦
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
lu.ma events MCP server. Create events, set ticket prices, issue coupon codes, list RSVPs, and email attendees. All writes go through draft+confirm so nothing posts to Luma until you explicitly approve. Built on the official Luma public API.
Reads (call API directly):
luma_health β auth check + draft store sizeluma_get_event β fetch one event by IDluma_list_events β paginated calendar listingluma_list_event_guests β RSVPs filtered by statusluma_list_coupons β calendar or event-scopedWrites (draft+confirm pairs):
luma_create_event_draft / luma_create_event_confirmluma_update_event_draft / luma_update_event_confirmluma_create_ticket_type_draft / luma_create_ticket_type_confirmluma_create_coupon_draft / luma_create_coupon_confirmluma_send_event_email_draft / luma_send_event_email_confirmPlus:
luma_cancel_draft β cancel an unconfirmed draft (idempotent)14 tools total.
draft_id; nothing hits Luma until the matching confirm tool is called. Drafts expire after 1 hour and can only be confirmed once.ts, tool, action, args (redacted), status, latency_ms. Path: ~/.claude/luma-mcp/audit.log.api_key, token, cookie, secret, are masked before logging.unicodedata.normalize("NFKC"), stripped of zero-width characters, and have role-spoof prefixes / fake fences wrapped in backticks (preserving operator visibility, neutralizing model effect on downstream reads).Open Claude Code, paste:
Two prerequisites for the server to authenticate:
https://lu.ma/settings/api, dropped into ~/.claude/luma-mcp/.env as LUMA_API_KEY=....After both steps, restart Claude Code. Tools appear under mcp__luma__*.
See SETUP.md for the manual .mcp.json registration path. The plugin install above replaces it.
Then in a Claude Code session: mcp__luma__luma_health() β {ok: true, user: {...}}.
Luma's public API caps at 200 requests / minute / calendar. The client does not auto-retry on 429; it surfaces the error and lets the operator pace.
Same author, same architecture pattern (FastMCP, draft+confirm on writes, vault auto-export where applicable):
This plugin sends a single anonymous install signal to myceliumai.co the first time it loads in a Claude Code session on a given machine.
What is sent:
slack-mcp)0.1.0)What is NOT sent:
Why: Helps the maintainer know which plugins people actually install, so attention goes to the ones that get used.
Opt out: Set the environment variable MYCELIUM_NO_PING=1 before launching Claude Code. The hook will skip the network call entirely. Already-pinged installs leave a sentinel at ~/.mycelium/onboarded-<plugin> β delete it if you want to reset state.
MIT. See LICENSE.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/lu)<a href="https://allmcps.com/mcp/lu"><img src="https://allmcps.com/api/badge/lu?style=directory" alt="Lu on AllMCPs" /></a>