mcpField
L
lu

lu

ローカル
github.com/adelaidasofiaビジネス・マーケティング03 日前に更新

lu について

luは、lu.maのイベント、チケット、クーポン、RSVP、参加者向けメールを管理するMCPサーバーです。書き込みを下書きと確認に分け、自由記述欄の監査ログとプロンプトインジェクション対策も備えています。

主な機能

  1. 01イベントの作成と更新
  2. 02チケット種別と価格の設定
  3. 03イベント・カレンダー単位のクーポン発行
  4. 04ゲストとRSVPの一覧表示
  5. 05書き込みの下書きと確認
  6. 06監査ログとテキストの無害化

活用シーン

  1. 01有料ワークショップと参加者メールの準備
  2. 02複数イベントのプログラムでRSVPを管理
  3. 03イベントテンプレートから定例会の日時を変更

MCP 対応

lu.maのイベント管理機能をMCPツールとして公開します。読み取りはAPIを直接呼び出し、書き込みは下書きの後に明示的な確認を行うまでLumaに反映されません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbluma-mcp.mcpb0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

luma-mcp

ライセンス GitHub のスター 最終コミット 未解決の issue PyPI バージョン PyPI ダウンロード数 Mycelium AI 製

lu.ma イベント用 MCP サーバーです。イベントの作成、チケット価格の設定、クーポンコードの発行、RSVP の一覧表示、参加者へのメール送信ができます。すべての書き込みは下書き+確認を経由するため、明示的に承認するまで Luma に投稿されることはありません。Luma の公式公開 API を使用しています。

できること

  • lu.ma イベントの作成・更新(名前、日付、タイムゾーン、定員、ミーティング URL、公開範囲、カバー画像)
  • チケット種別と価格の設定
  • クーポンコードの発行(カレンダー単位またはイベント単位、割合割引または固定額割引、利用上限)
  • イベントのゲスト/RSVP の一覧表示
  • 参加者への Markdown メール送信(事前準備、当日、フォローアップ)
  • すべての API 呼び出しの監査ログ(JSONL、キー/トークンの秘匿化)
  • ユーザーが入力した自由記述フィールドに対するプロンプトインジェクション除去

ツール(v0.1.0)

読み取り(API を直接呼び出します):

  • luma_health — 認証チェック+下書きストアのサイズ
  • luma_get_event — ID でイベントを 1 件取得
  • luma_list_events — ページネーション対応のカレンダー一覧
  • luma_list_event_guests — ステータスで絞り込んだ RSVP
  • luma_list_coupons — カレンダー単位またはイベント単位

書き込み(下書き+確認のペア):

  • luma_create_event_draft / luma_create_event_confirm
  • luma_update_event_draft / luma_update_event_confirm
  • luma_create_ticket_type_draft / luma_create_ticket_type_confirm
  • luma_create_coupon_draft / luma_create_coupon_confirm
  • luma_send_event_email_draft / luma_send_event_email_confirm

その他:

  • luma_cancel_draft — 未確認の下書きをキャンセル(冪等)

合計 14 個のツールです。

アーキテクチャ

luma-mcp/
├── pyproject.toml
├── README.md
├── SETUP.md
├── LICENSE
├── .env.example
├── luma_mcp/
│   ├── __init__.py
│   ├── server.py             FastMCP entry point + .env loader
│   ├── client.py             HTTP wrapper around api.lu.ma/public/v1
│   ├── drafts.py             Thread-safe draft store with TTL
│   ├── audit.py              JSONL audit log with redaction
│   ├── scrubber.py           Prompt-injection neutralizer
│   ├── _shared/              Day-1 shared utilities
│   │   ├── normalize.py      Timezone alias + datetime helpers
│   │   └── types.py          Permissive typed shapes for API responses
│   └── tools/
│       ├── health.py         luma_health, luma_cancel_draft
│       ├── events.py         create / update / get / list events
│       ├── tickets.py        create ticket types
│       ├── coupons.py        create / list coupons
│       ├── guests.py         list event guests
│       └── emails.py         send email to attendees
└── tests/integration/
    └── test_full_pipeline.py 10-step bare-runnable verification

安全性のパターン

  1. すべての書き込みで下書き+確認を行います。 下書きツールは draft_id を返します。一致する確認ツールが呼び出されるまで、Luma に反映されることはありません。下書きの有効期限は 1 時間で、確認できるのは 1 回だけです。
  2. 監査ログ。 すべての API 呼び出しを、ts、tool、action、args(秘匿化済み)、status、latency_ms とともに JSONL 形式で記録します。パス:~/.claude/luma-mcp/audit.log。
  3. トークンの秘匿化。 長いキーのヒューリスティックに一致する文字列や、api_key、token、cookie、secret などのキーに対応する値は、ログ記録前にマスクされます。
  4. プロンプトインジェクション除去。 ユーザーが入力した自由記述フィールド(イベント名、説明、メールの件名、メール本文)に unicodedata.normalize("NFKC") を適用し、ゼロ幅文字を除去します。また、ロールを偽装するプレフィックスや偽のフェンスをバッククォートで囲みます(オペレーターからの視認性を保ちつつ、後続の読み取りにおけるモデルへの影響を無効化します)。
  5. ツールの処理経路では LLM を使用しません。 すべてのルーティング判断はルールベースです。

ユースケース

  • ワークショップ+有料イベント — 通常価格を設定し、コミュニティ限定の 100%割引クーポンを発行して、ゲストリストを取得し、事前準備メールを一斉送信します。
  • 複数イベントのプログラム — 1 つの cohorte の告知を行い、Luma でサブイベントを作成し、各セッションの RSVP を取得します。
  • 定期ミートアップ — update_event_draft でイベントテンプレートを複製し、日付を変更して公開します。

インストール

Claude Codeを開き、次を貼り付けます。

/plugin marketplace add adelaidasofia/luma-mcp
/plugin install luma-mcp@luma-mcp

サーバーの認証には、次の2つが必要です。

  1. 使用するカレンダーの Luma Plus サブスクリプション(公開APIの利用にはPlusが必要です)。
  2. https://lu.ma/settings/api で生成した APIキー を ~/.claude/luma-mcp/.env に LUMA_API_KEY=... として保存します。

両方の手順を完了したら、Claude Codeを再起動します。ツールは mcp__luma__* の下に表示されます。

旧インストール方法

手動で .mcp.json に登録する方法については、SETUP.md を参照してください。上記のプラグインインストールを使用すると、この方法は不要になります。

動作確認

cd ~/.claude/luma-mcp && python3 tests/integration/test_full_pipeline.py
# expected: PASSED — luma-mcp v0.1.0 integration test (10 steps green)

その後、Claude Codeのセッションで mcp__luma__luma_health() を実行すると、{ok: true, user: {...}} が返されます。

レート制限

Lumaの公開APIでは、カレンダーごとに1分あたり200件までリクエストできます。クライアントは429エラーを自動で再試行せず、エラーを表示して、オペレーターがリクエストのペースを調整できるようにします。

関連するMCP

同じ作者による、同じアーキテクチャパターン(FastMCP、書き込み時の下書き+確認、該当する場合はVaultへの自動エクスポート)を採用したプロジェクトです。

テレメトリ

このプラグインは、特定のマシンでClaude Codeのセッションに初めて読み込まれたときに、匿名のインストール通知を1回だけ myceliumai.co に送信します。

送信される情報:

  • プラグイン名(例:slack-mcp)
  • プラグインのバージョン(例:0.1.0)

送信されない情報:

  • ユーザー識別子、氏名、メールアドレス、トークン、APIキーは送信されません
  • ファイルパス、メッセージ内容、作業に関する情報は送信されません
  • 重複排除処理後にIPアドレスは保存されません

目的: メンテナーが実際にインストールされているプラグインを把握し、利用されているプラグインに注力できるようにします。

オプトアウト: Claude Codeを起動する前に、環境変数 MYCELIUM_NO_PING=1 を設定してください。フックはネットワーク呼び出しを完全にスキップします。通知済みのインストールでは ~/.mycelium/onboarded-<plugin> に識別用ファイルが作成されます。状態をリセットするには、このファイルを削除してください。

ライセンス

MITです。LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。