Luma Events MCP Server
Provides serverless deployment infrastructure for running the MCP server on Cloudflare's global edge network
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Luma Events MCP Serversearch for upcoming AI conferences in San Francisco"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Luma Events MCP Server
A Model Context Protocol (MCP) server that provides access to tech events from Luma. Built with mcp-lite and deployed on Cloudflare Workers.
Features
🎯 Search Tech Events: Discover upcoming tech events, conferences, and meetups
🚀 Serverless: Runs on Cloudflare's global edge network
⚡ Fast: Built with mcp-lite for minimal overhead
🔧 MCP Compatible: Works with any MCP client (Claude Desktop, etc.)
Prerequisites
Before you begin, make sure you have:
Node.js 18+ installed
pnpm package manager (or npm/yarn)
Cloudflare account (free tier works fine)
Wrangler CLI (installed automatically with dependencies)
Installation
1. Clone or Navigate to Project
cd mv-mcp-lite2. Install Dependencies
pnpm installThis will install:
mcp-lite- MCP server frameworkhono- Web framework for Cloudflare Workersaxios- HTTP client for API requestszod- Schema validationwrangler- Cloudflare Workers CLI
3. Set Up Authentication (Optional)
If you need to authenticate with Cloudflare:
pnpm wrangler loginThis will open a browser window to authorize Wrangler with your Cloudflare account.
Local Development
Start Development Server
pnpm devThis starts a local Cloudflare Workers development server at http://localhost:8787.
Test the Server
Health Check: Visit
http://localhost:8787/in your browserShould display: "Luma MCP Server (Apify) – connect via /mcp"
MCP Endpoint: The MCP server is available at
http://localhost:8787/mcp
Configure MCP Client
To use this server with an MCP client like Claude Desktop, add this to your MCP configuration file:
macOS/Linux: ~/.cursor/mcp.json or ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"luma-events": {
"url": "http://localhost:8787/mcp",
"transport": "http"
}
}
}Note: For local development, use
localhost:8787. After deployment, replace with your Cloudflare Workers URL.
Deployment to Cloudflare
1. Deploy to Cloudflare Workers
pnpm deployThis command:
Bundles your code
Minifies for production
Deploys to Cloudflare's global network
Provides you with a live URL (e.g.,
https://luma-events-mcp.your-subdomain.workers.dev)
2. Get Your Deployment URL
After deployment, Wrangler will display your Worker's URL:
Published luma-events-mcp (X.XX sec)
https://luma-events-mcp.your-subdomain.workers.dev3. Update MCP Client Configuration
Update your MCP configuration to use the production URL:
{
"mcpServers": {
"luma-events": {
"url": "https://luma-events-mcp.your-subdomain.workers.dev/mcp",
"transport": "http"
}
}
}4. Restart Your MCP Client
Restart Claude Desktop or your MCP client to connect to the deployed server.
Usage
Once configured, you can use the following tool through your MCP client:
Available Tools
search_luma_events
Searches for tech events on Luma.
Parameters:
city(optional): City name (currently not implemented in filtering)country(optional): Country name (currently not implemented in filtering)query(optional): Search keyword or topic (e.g., "hackathon", "AI", "web3")
Example prompts in Claude:
"Find tech events on Luma"
"Search for AI events on Luma"
"Show me upcoming hackathons from Luma"
"What tech events are happening soon?"
Example Response: The tool returns a JSON array of events with details like:
Event name and description
Date and time
Location (physical or virtual)
Number of attendees
Registration link
Host information
Configuration
Environment Variables
For local development, create a .dev.vars file in the project root:
# .dev.vars (for local development only)
# Add any API keys or secrets here
# EXAMPLE_API_KEY=your-key-hereFor production secrets:
# Set production secrets
pnpm wrangler secret put EXAMPLE_API_KEYWrangler Configuration
Edit wrangler.jsonc to customize:
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "luma-events-mcp", // Worker name
"main": "src/index.ts", // Entry point
"compatibility_date": "2025-10-07" // Cloudflare compatibility date
}Project Structure
mv-mcp-lite/
├── src/
│ └── index.ts # Main MCP server code
├── package.json # Dependencies and scripts
├── wrangler.jsonc # Cloudflare Workers config
├── tsconfig.json # TypeScript configuration
├── .dev.vars # Local environment variables (gitignored)
└── README.md # This fileDevelopment
Available Scripts
# Start local development server
pnpm dev
# Deploy to Cloudflare Workers
pnpm deploy
# Generate TypeScript types for Cloudflare bindings
pnpm cf-typegenAdding New Tools
To add new MCP tools, edit src/index.ts:
mcp.tool("your_tool_name", {
description: "What your tool does",
inputSchema: z.object({
param1: z.string().describe("Description"),
param2: z.number().optional(),
}),
handler: async (args) => {
// Your tool logic here
return {
content: [
{
type: "text",
text: "Your response",
},
],
};
},
});Adding Resources
Resources provide URI-identified content:
mcp.resource(
"events://upcoming",
{
name: "Upcoming Events",
description: "List of upcoming tech events",
mimeType: "application/json",
},
async (uri) => ({
contents: [
{
uri: uri.href,
type: "text",
text: JSON.stringify({ events: [] }),
mimeType: "application/json",
},
],
})
);Troubleshooting
Issue: "Module not found" errors
Solution: Make sure dependencies are installed:
pnpm installIssue: Wrangler login fails
Solution: Try logging in with a different method:
pnpm wrangler login --browser=falseIssue: Deployment fails
Solution: Check your Cloudflare account limits and verify authentication:
pnpm wrangler whoamiIssue: MCP client can't connect
Solution:
Verify the URL is correct (include
/mcppath)Check if the server is running (visit the URL in browser)
Restart your MCP client after configuration changes
Check MCP client logs for connection errors
Issue: CORS errors
Solution: If accessing from a web client, add CORS middleware to src/index.ts:
import { cors } from "hono/cors";
app.use(
"/mcp",
cors({
origin: ["https://your-client-domain.com"],
credentials: true,
})
);Technical Details
Built With
mcp-lite: Lightweight MCP server framework
Hono: Fast web framework for edge computing
Cloudflare Workers: Serverless execution environment
Zod: TypeScript-first schema validation
Architecture
┌─────────────────┐
│ MCP Client │
│ (Claude, etc.) │
└────────┬────────┘
│ HTTP/SSE
▼
┌─────────────────┐
│ Cloudflare │
│ Workers │
│ (Edge Runtime) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ mcp-lite │
│ McpServer │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Luma API │
│ (lu.ma/tech) │
└─────────────────┘Resources
mcp-lite Documentation: https://github.com/fiberplane/mcp-lite
Model Context Protocol: https://modelcontextprotocol.io/
Cloudflare Workers Docs: https://developers.cloudflare.com/workers/
Luma Platform: https://lu.ma
License
[Add your license here]
Contributing
Contributions welcome! Please feel free to submit a Pull Request.
Support
For issues and questions:
Check the Troubleshooting section
Review mcp-lite examples
Open an issue in this repository
Built with ❤️ using mcp-lite
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/douglac/mcp-luma-events'
If you have feedback or need assistance with the MCP directory API, please join our Discord server