Luma MCP server
Luma in any MCP client, through Memtro: Luma does not publish this server. Memtro's Luma connector reads Luma through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Luma events: the calendar's upcoming and past events, an event's details and guest counts, its guest list with registration and check-in status, ticket types, and the calendar's contacts with how many events they attended. Can create, update or cancel an event, add guests, send invitations, approve, decline or waitlist a guest, approve or reject a submitted event, and tag or import contacts. Nobody is emailed unless the request says so, except by an invitation.
Reads
luma_eventsEvents on the Luma calendar, by start time: name, start and end, timezone, link, visibility, city and venue, tags.luma_eventOne Luma event: details, where it is, whether registration is open, waitlist, hosts by name, and guest counts (approved, pending, waitlist, invited…luma_guestsGuests of one Luma event: name, email, status (approved, pending_approval, waitlist, invited, declined), when they registered, when they checked in…luma_ticket_typesTicket types for one Luma event: name, free or paid with the price, capacity, whether approval is required, hidden or not, and when it is on sale.luma_contactsPeople on the Luma calendar's contact list: name, email, when added, how many events they were approved for and checked in to, and tags.
Acts, when you ask
These change something in Luma. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
luma_create_eventCreate an event on the Luma calendar.luma_update_eventChange a Luma event's name, time, timezone, description, place, capacity, registration, waitlist or visibility.luma_cancel_eventCancel a Luma event.luma_add_guestsAdd up to 50 people to a Luma event as guests: going (approved, the default), pending approval or on the waitlist…luma_send_invitesEmail Luma invitations to an event to up to 50 people (and an SMS where their phone is linked to a Luma account)…luma_update_guest_statusSet one Luma guest's status: approved (going), declined, pending_approval or waitlist.luma_approve_event_submissionApprove an event someone submitted to the Luma calendar: it becomes visible on the calendar and Luma notifies the submitter.luma_reject_event_submissionReject an event someone submitted to the Luma calendar, so it is not listed.luma_create_contact_tagCreate a tag for the Luma calendar's contacts (e.g. vip, speaker).luma_tag_contactsApply a contact tag (id or name) to up to 100 existing Luma calendar contacts, by email or user id.luma_import_contactsImport up to 100 people into the Luma calendar's contacts (email and optional name), optionally tagging them.
Connect it
First connect Luma on Dashboard → Connections, then add Memtro to your client once. The Luma tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Luma connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › How many are registered for our next event?
- › Who checked in to last Thursday's meetup?
- › Who is still on the waitlist for the product launch?
- › Which ticket types are still on sale for the summit?
- › Invite the BigCo buying team to the customer evening on the 14th.
Questions
- Is this an official Luma MCP server?
- No. It is Memtro's MCP server with Memtro's Luma connector behind it: the connector reads Luma through its API with the credentials you connect on Dashboard → Connections, and Luma publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Luma?
- Only when you ask, and only what it has been granted: create a Luma event; update a Luma event; cancel a Luma event (permanent, notifies every guest); add guests to a Luma event; email Luma invitations to an event; approve, decline, waitlist or un-approve a Luma guest; approve an event submitted to the Luma calendar; reject an event submitted to the Luma calendar; create a Luma contact tag; tag Luma contacts; import contacts into the Luma calendar. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.