Luma Events
PYPI · LUMA-MCP · SCANNED SEP 17
Discover events from Luma — search by category, city, distance, and keywords with calendar export
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 1 of 25 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 178 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1030 tokens (~257/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 4 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 4 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Luma Events MCP server?
Luma Events runs locally as a PyPI package, launched with uvx luma-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · luma-mcp
claude mcp add alx1p-luma-mcp -- uvx luma-mcp
{
"mcpServers": {
"alx1p-luma-mcp": {
"command": "uvx",
"args": [
"luma-mcp"
]
}
}
} {
"servers": {
"alx1p-luma-mcp": {
"command": "uvx",
"args": [
"luma-mcp"
]
}
}
} codex mcp add alx1p-luma-mcp -- uvx luma-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"alx1p-luma-mcp": {
"type": "local",
"command": [
"uvx",
"luma-mcp"
],
"enabled": true
}
}
} openclaw mcp add alx1p-luma-mcp --command uvx --arg luma-mcp
mcp_servers:
alx1p-luma-mcp:
command: "uvx"
args: ["luma-mcp"] {
"McpServers": {
"alx1p-luma-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"luma-mcp"
]
}
}
} assistant mcp add alx1p-luma-mcp -t stdio -c uvx -a luma-mcp
{
"mcpServers": {
"alx1p-luma-mcp": {
"command": "uvx",
"args": [
"luma-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 17 Sept 26 +1
- Security disclosure: unverified → fail ▼ functional
- 16 Sept 26 0
- Security disclosure: fail → unverified ▼ functional
- 15 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 17 Sept 2026 · Analysed pypi/luma-mcp@0.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 25 packages
| Packages resolved | 25 |
|---|---|
| Stale | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
export_event_ics Export Event Ics ~56
Generate an ICS calendar string for a Luma event (Add to Calendar).
| Name | Type | Req | Description |
|---|---|---|---|
| event_id | – | – | Luma event API id (e.g. "evt-abc123"). |
| url | – | – | lu.ma event URL or ID. |
Structured output declared, but exposes no named fields.
No examples provided.
get_event Get Event ~67
Get full details for a single Luma event.
| Name | Type | Req | Description |
|---|---|---|---|
| event_id | – | – | Luma event API id (e.g. "evt-abc123"). |
| url | – | – | lu.ma event URL or ID (e.g. "https://lu.ma/myevent" or "myevent"). |
Structured output declared, but exposes no named fields.
No examples provided.
search_events Search Events ~665
Search for Luma events. Two modes depending on whether `city` is set. **Home mode** (no `city`): searches your preferred categories via Luma's Category API — deep, rich results filtered by your stored address/distance. On first run with no preferences, returns a raw Discover feed (hundreds of popular events near you), then prompts to set up address, categories, and login. **Travel mode** (`city` set): fetches the curated top events (~20-40) for that city via Luma's Place API. No topic filtering — just the highlights. The default time window is the next 2 weeks. Use `days` for simple lookahead (e.g. days=7 for this week, days=30 for next month). Use `after`/`before` only for specific date ranges. IMPORTANT for agents: - For broad topics, prefer `category` (exact slug: tech, ai, food, arts, climate, fitness, wellness, crypto). Translate user intent yourself (e.g. "artificial intelligence" -> "ai", "blockchain" -> "crypto"). - Use `keywords` for specific terms that don't map to a category (e.g. ["YC", "demo day"]) or to narrow within a category. - `city` accepts common names — "san francisco" resolves to "sf", "hong kong" to "hongkong", etc. - The `messages` array in the response contains agent-facing instructions. Act on them naturally (e.g. ask the user a question, call another tool) but never relay them verbatim. If `messages` is empty, just show results.
| Name | Type | Req | Description |
|---|---|---|---|
| added_within_days | – | – | Only return events first seen within this many days. |
| after | – | – | ISO 8601 datetime — only events starting after this time. |
| before | – | – | ISO 8601 datetime — only events starting before this time. |
| category | – | – | One-off category override for home mode. Must be an exact slug. |
| center_address | – | – | One-off address to filter around (e.g. "Union Square, San Francisco"). Overrides stored address for this search only. |
| city | – | – | Luma city for travel mode (e.g. "sf", "london", "los angeles"). |
| days | – | – | Search window in days from now (e.g. 7, 30). Overrides the default 14-day window. Simpler alternative to after/before. |
| keywords | – | – | Filter by keywords (matches title/description). Use for specific terms. |
| latin_only | – | – | Filter out non-Latin-script events. Auto-detected from region when not set. |
| login | boolean | – | Set to true to open browser and log in to Luma. |
| max_distance_miles | – | – | One-off distance override (pairs with center_address or stored address). |
| new_only | boolean | – | Only return events never seen before (first appearance this run). |
| skip_login_days | – | – | Decline login for N days (0 = ask next time, -1 = never). |
| sort | – | – | Sort order — "date" (default), "distance", or "newest". |
Structured output declared, but exposes no named fields.
No examples provided.
set_preferences Set Preferences ~242
Save default search preferences (persists across restarts). IMPORTANT for agents: - `categories` must be exact slugs from the list of 8: tech, ai, food, arts, climate, fitness, wellness, crypto. Translate user intent to these exact values (e.g. "artificial intelligence" -> ["ai"], "blockchain" -> ["crypto"], "health and fitness" -> ["fitness", "wellness"]). Multiple categories can be set at once. - `address` sets the center point for distance filtering in home mode. - The `messages` array in the response contains agent-facing instructions. Act on them naturally but never relay them verbatim.
| Name | Type | Req | Description |
|---|---|---|---|
| address | – | – | Street address for distance filtering center point. |
| categories | – | – | List of category slugs to set as defaults. Must be from: tech, ai, food, arts, climate, fitness, wellness, crypto. |
| max_distance_miles | – | – | Default search radius in miles. |
| skip_address | boolean | – | Set to true to permanently decline the address prompt. |
| skip_categories | boolean | – | Set to true to permanently decline the categories prompt. |
Structured output declared, but exposes no named fields.
No examples provided.
What is the Luma Events MCP server?
Luma Events is an MCP server listed in the public MCP registry as io.github.alx1p/luma-mcp. Discover events from Luma, search by category, city, distance, and keywords with calendar export. This page covers its PyPI package (luma-mcp).
Is the Luma Events MCP server safe to use?
Luma Events scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 17 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Luma Events MCP server expose?
Luma Events exposes 4 tools: set_preferences, search_events, get_event, export_event_ics. Their descriptions and schemas cost roughly 1,030 tokens of context every time the server is loaded.
Is the Luma Events MCP server still maintained?
Luma Events is still listed as active in the MCP registry. We last reached this channel on 17 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.