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.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Lu.
luma_healthauth check + draft store size
luma_get_eventfetch one event by ID
luma_list_eventspaginated calendar listing
luma_list_event_guestsRSVPs filtered by status
luma_list_couponscalendar or event-scoped
luma_cancel_draftcancel an unconfirmed draft (idempotent)
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.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
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>