Token导航 LogoToken导航TokenDH.com
Luma Cal MCP logo
日程管理stdio官方级别未说明来源级核验

Luma Cal MCP

MCP Server

一个从Luma发现事件并结合发现订阅日历的FastMCP服务器,具有距离过滤和ICS导出功能。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude日程管理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

alx1p

提供方

alx1p

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m luma_mcp.server

详细介绍

Luma事件MCP服务器

A. FastMCP 从中发现事件的服务器 老的 --将Discover提要和订阅日历与距离过滤和ICS导出相结合。基本发现不需要API密钥。

运作原理

Luma的Discover API有两个表现非常不同的端点:

  • 分类搜索 (例如人工智能、技术、食品)-返回数百个带有丰富标签的事件,但仅适用于您所在的地区。深度大,地理位置封闭。
  • 城市搜索 (例如巴黎、伦敦、东京)——返回该城市精心策划的约20-40场顶级/特色活动。覆盖面广,套型小。

此MCP通过两种搜索模式使用这两种模式:

  • 家庭模式 (默认值,否 city param)-通过类别API搜索您的首选类别。通过地址和距离过滤的深度、丰富的结果。
  • 出行模式 (通过a city)-通过Place API获取该城市策划的顶级活动。

在第一次运行时,服务器会返回您附近的热门事件(受IP影响的地理位置),然后引导您设置类别、地址和登录,以获得越来越丰富的结果。

工具

工具它做什么
search_events家庭模式:通过地址/距离过滤按类别搜索。 出行模式:为特定城市策划的活动。
set_preferences保存默认类别(列表)、地址和最大距离。在重启过程中持续使用SQLite。
get_event通过API id或获取单个事件的完整详细信息 lu.ma URL。
export_event_ics为任何事件生成ICS字符串——粘贴到Apple日历、Google日历、Outlook等中。

设置

先决条件

安装

git clone 
cd "Luma Cal MCP"
uv venv .venv --python 3.12
source .venv/bin/activate
uv pip install -e .

已订阅日历(可选)

要在Luma上访问日历中的事件,请安装可选的身份验证依赖项:

uv pip install -e ".[auth]"
playwright install chromium

首次运行

首次使用时,原始的Discover提要会返回您附近的数百个热门事件(受IP地理偏见影响)。然后,服务器会一次引导您完成一个提示的设置,以缩小结果范围:

  1. 地址 --询问您的位置和首选搜索半径,这大大减少了您附近事件的结果集。
  2. 类别 --询问你对哪些主题感兴趣(来自:科技、人工智能、食品、艺术、气候、健身、健康、加密货币),以便集中发现。
  3. 登录 --询问是否登录订阅的日历。

每个提示都会在返回结果后出现,因此您可以立即看到事件。配置首选项后,搜索会自动重新运行,并出现下一个提示。您可以回复“现在不行”(下次再次出现提示)或“从不”(永久取消)。

配置

使用 set_preferences 要保存重新启动后仍然存在的默认值,请执行以下操作:

set_preferences(address="3180 18th St, San Francisco", max_distance_miles=15)
set_preferences(categories=["ai", "tech"])

# stdio transport (for Cursor, Claude Desktop, etc.)
fastmcp run src/luma_mcp/server.py

# or directly
python -m luma_mcp.server

认证

订阅的日历需要Luma会话cookie。服务器通过内联登录流自动处理此问题。

它是如何工作的:

  1. 第一个电话 --结果出来后,服务器会提示登录。客服在聊天中问你。
  2. 登录 --代理人打电话来 search_eventslogin=trueChromium浏览器打开 lu.ma/signin;正常登录。会话cookie存储在本地SQLite数据库中。
  3. 下降 --代理人打电话来 search_eventsskip_login_days=N 推迟(0=下次问,-1=从不)。
  4. 返回用户,cookie已过期 --浏览器会自动打开以进行重新身份验证。
  5. 验证 -存储的cookie每24小时根据Luma的API进行验证。

新事件跟踪

服务器维护一个本地SQLite数据库(~/.luma-mcp/events.db 默认情况下),记录每个事件首次出现的时间。这将启用两个过滤器 search_events:

  • added_within_days --仅返回过去N天内首次出现的事件。
  • new_only --只返回以前从未见过的事件。

每个结果还包括 first_seen_at (ISO时间戳)和 is_new (布尔值)。

光标MCP配置

添加到光标MCP设置(.cursor/mcp.json):

{
  "mcpServers": {
    "luma-events": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/Luma Cal MCP",
        "fastmcp", "run", "src/luma_mcp/server.py"
      ],
      "env": {
        "PYTHONPATH": "/path/to/Luma Cal MCP/src"
      }
    }
  }
}

数据源

来源授权覆盖范围
发现 (api.lu.ma)无需按城市和类别列出的公共活动——与相同的订阅源 luma.com/discover
订阅的日历 (api.lu.ma)浏览器登录(自动管理)您在Luma上关注的日历事件

无需登录,服务器仍可工作——Discover完全可用,无需身份验证。

距离过滤

通过设置家庭住址 set_preferences(address="...")max_distance_miles在家庭模式下,半径以外的事件被排除在外。默认情况下包括没有位置数据的事件( distance_miles: null).在旅行模式下,距离过滤会自动使用25英里处的市中心。

地理编码用途 提名 (免费,OpenStreetMap)默认情况下。对于更高的音量,请设置 GEOCODING_PROVIDER=googlemapbox 与相应 GEOCODING_API_KEY 在您的环境中。

活动时间

活动时间(start_at, end_at)以用户的系统时区返回。这 timezone 每个结果中都包含Luma的字段以供参考。

局限性

  • RSVP仅适用于浏览器。 get_event 返回RSVP URL;没有无头注册路径。使用 export_event_ics 将事件添加到日历中。
  • Web端点没有文档记录。 Discover和订阅日历订阅源使用Luma的内部API(api.lu.ma),如有更改,恕不另行通知。破损被隔离 luma_web_client.py.

目录标签

目录标签

PythonClaude日程管理活动发现本地部署日历管理距离过滤ICS导出事件订阅

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP