
Evite Mcp
io.github.chrischall由 GitHub 帳號 chrischall 發布v1.5.0更新於 Nov 7, 2026
Evite for Claude — list events, guest lists & RSVPs, RSVP, message guests, and create/edit events
概覽
讓助理以賓客或主辦人身分讀取並操作你的 Evite 活動:列出活動、賓客名單與回覆、回覆邀請、傳訊息給賓客,以及建立或編輯活動。
- 可以做什麼
- 列出活動、查看單一活動詳情、瀏覽邀請函範本
- 讀取賓客名單、RSVP 統計和活動留言串
- 替賓客回覆邀請,並向賓客發送私訊或群發訊息
- 建立、編輯、複製、取消或恢復活動
- 新增、修改和刪除草稿賓客,然後寄出邀請
- 把照片上傳到活動的共享相簿,並執行健康檢查
- 適用情境
- 適合在 Evite 上籌辦或參加活動時使用,讓助理查看回覆狀況、催請賓客,或起草並寄出邀請而不必打開網站。對管理賓客名單的主辦人和需要回覆邀請的賓客都有用。
- 執行需求
- 以 npm 套件形式透過 stdio 在本機執行。需要 Evite 帳號工作階段,可用三種方式之一提供:EVITE_EMAIL 加 EVITE_PASSWORD、原始 EVITE_SESSION_COOKIE,或使用 fetchproxy 瀏覽器橋接並搭配已登入 evite.com 的分頁和 ContextMint Bridge Chrome 擴充功能。需要連線至 evite.com;另有工作階段快取檔和上傳目錄等選用設定。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Evite Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
evite-mcp
A Model Context Protocol server for Evite — read and act on your events as both guest (invitations received) and host (events you created): list events, view guest lists & RSVP tallies, RSVP, message guests, and create/edit events. Built on @chrischall/mcp-utils.
Status: read + write tools live. The five read tools work against Evite's internal API, authenticating from email/password (tier-1,
POST /ajax_login), a raw cookie env var, or a signed-in browser tab (fetchproxy bootstrap). The thirteen write tools ask you to confirm first — nothing is sent until you approve (see Confirmations) — and their endpoints are live-verified (seedocs/EVITE-API.md); a couple of request bodies are still assumed rather than captured (#3).
Tools
Six read tools (all read-only), thirteen confirmed write tools, evite_upload_slots (read-only: upload links for photos on the hosted connector), plus evite_healthcheck:
Write tools (confirmed)
Every write tool asks you to confirm before it sends anything. A client that can show a confirmation prompt (Claude Code) shows one with the exact values that would be sent (unless MCP_CONFIRM_ELICITATION=off). Elsewhere (claude.ai, Claude Desktop) the first call performs no write (at most a read-only lookup — e.g. evite_update_guest reads the draft guest list to build an exact preview) and returns that preview plus a confirmToken; only a repeat call with the token performs the write. The token is single-use, expires, and is bound to the tool and the exact values — change anything and it is refused (DRAFT_CHANGED) with a fresh preview. See Confirmations. Endpoints are verified; the CSRF token (X-CSRFToken, read fresh per request as it rotates) is attached centrally.
The authoring flow is evite_create_event → evite_add_guest → evite_send. evite_send, evite_send_message, evite_broadcast, and evite_cancel_event have real-world effects (emails / cancellation notices), so their confirmation matters.
Confirmations
Photo uploads
evite_upload_photo takes the image as exactly one of three inputs (JPEG/PNG/GIF/WebP/HEIC, max 20 MB; the bytes must really be that image type, whatever the name says):
path— local installs only. A file insideEVITE_UPLOAD_DIR(below).inline—{ filename, content_base64 }. Works anywhere; meant for a small photo, since every byte rides inside the tool call.blob_key— the hosted connector's way in. It cannot read files on your machine, so apathis refused there with directions. Instead, callevite_upload_slotswith the filenames; each slot has a signeduploadUrland a readycurlcommand that PUTs the file with the exactContent-Type. Then pass the slot'sblobKeyasblob_key. The upload is read on the preview and again on confirm, and its SHA-256 is bound into the confirmation, so a file replaced in between is refused (DRAFT_CHANGED). It is deleted only after Evite accepts the photo (the result'sblobsays whether that delete worked). If the upload fails it is kept, so a retry can reuse the sameblob_key.evite_upload_slotsrefuses on a local install, which has no blob store.
Architecture
Fetchproxy-archetype MCP. Evite has no public API, so the server calls Evite's internal /services/ web API using your session. src/auth.ts resolves that session in priority order:
EVITE_EMAIL+EVITE_PASSWORD(tier-1, preferred) — headless email/password form login: POST the creds tohttps://www.evite.com/ajax_login, then build the session from the responseSet-Cookiejar (x-evite-session,evtsession,csrftoken,x-evite-features). No browser bridge, no hand-copied cookie. Both vars must be set, or the resolver falls through. (Live.)EVITE_SESSION_COOKIE— a rawcookie:header copied from a signed-inevite.comtab (or set in CI). Used verbatim. (Live.)- Fetchproxy bootstrap (fallback) — lift the session cookies (
x-evite-session,evtsession,x-evite-features,csrftoken) from a signed-inevite.combrowser tab via@fetchproxy/bootstrap, which needs the ContextMint Bridge browser extension (Chrome: load the chrome zip from the releases page unpacked. Safari isn't available yet — it will ship inside the ContextMint app, which has no public download — so use Chrome for now). ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the.sha256file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256). Bootstrap runs once; every API call then goes out via plain Nodefetch()with the cookies attached. Opt out withEVITE_DISABLE_FETCHPROXY=1. (Live.)
One tier is intentionally deferred (the resolver is shaped to slot it in):
- Fetchproxy as transport (bot-wall retry through the browser bridge) — a fallback only needed if plain
fetchtrips a wall; not observed during discovery.
The thirteen write tools (rsvp, add/update/remove-guest, send, send-message, broadcast, upload-photo, create/update/cancel/reinstate/duplicate event) ask you to confirm first (a prompt, or a preview + single-use confirmToken; see Confirmations). The single private client.write() helper attaches the CSRF token via one centralized header (CSRF_HEADER = X-CSRFToken; the csrftoken cookie rotates mid-session, so it's read fresh per request). Endpoints span three bases — REST /services/…, the legacy /ajax/event/{id}/… guest list, and the /tsunami/… messaging service — all live-verified; a couple of request bodies remain assumed (#3).
Development
Docs & roadmap
- Design spec:
docs/superpowers/specs/2026-05-31-evite-mcp-design.md - Plan 1 (scaffold + spike):
docs/superpowers/plans/2026-05-31-evite-mcp-scaffold-and-spike.md - Plan 2 (auth + read tools):
docs/superpowers/plans/2026-05-31-evite-mcp-auth-and-reads.md - Internal API reference (verified from a live session):
docs/EVITE-API.md
Open work: #3 — write endpoints + CSRF are now live-verified; only a couple of request bodies (send / send-message) remain assumed. #4 tracks publishing the shared lib. (Discovery #1, tier-1 email/password login #2, and the read tools are done.)
License
MIT
來源:README.md,提交 a496800
工具
0版本歷史
17- v1.5.0最新Nov 7, 2026
- v1.4.0Nov 4, 2026
- v1.3.7Oct 20, 2026
- v1.3.6Oct 16, 2026
- v1.3.5Oct 10, 2026
- v1.3.4Oct 7, 2026
- v1.3.3Oct 5, 2026
- v1.3.2Oct 3, 2026
- v1.3.1Sep 28, 2026
- v1.3.0Sep 25, 2026
- v1.2.0Sep 24, 2026
- v1.1.3Sep 23, 2026
- v1.1.2Sep 23, 2026
- v1.1.1Sep 21, 2026
- v1.1.0Sep 20, 2026
- v1.0.0Sep 19, 2026
- v0.8.3Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分