プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Evite MCP

作者:chrischallバージョン 1.4.0i★ –iパソコンで動く
レジストリ名io.github.chrischall/evite-mcp

インストール

概要

作者による説明(英語の原文)

Evite for Claude — list events, guest lists & RSVPs, RSVP, message guests, and create/edit events

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他
  • 入力が必要なもの:EVITE_PASSWORD, EVITE_SESSION_COOKIE

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: EVITE_EMAIL, EVITE_PASSWORD, EVITE_SESSION_COOKIE, EVITE_SESSION_CACHE, EVITE_SESSION_FILE, EVITE_DISABLE_FETCHPROXY, EVITE_UPLOAD_DIR, FETCHPROXY_WS_PORT, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIR

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "evite": {
      "command": "npx",
      "args": [
        "-y",
        "evite-mcp"
      ],
      "env": {
        "EVITE_EMAIL": "your-value",
        "EVITE_PASSWORD": "your-value",
        "EVITE_SESSION_COOKIE": "your-value",
        "EVITE_SESSION_CACHE": "your-value",
        "EVITE_SESSION_FILE": "your-value",
        "EVITE_DISABLE_FETCHPROXY": "your-value",
        "EVITE_UPLOAD_DIR": "your-value",
        "FETCHPROXY_WS_PORT": "your-value",
        "FETCHPROXY_WS_HOST": "your-value",
        "FETCHPROXY_IDENTITY_DIR": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add evite --env EVITE_EMAIL=your-value --env EVITE_PASSWORD=your-value --env EVITE_SESSION_COOKIE=your-value --env EVITE_SESSION_CACHE=your-value --env EVITE_SESSION_FILE=your-value --env EVITE_DISABLE_FETCHPROXY=your-value --env EVITE_UPLOAD_DIR=your-value --env FETCHPROXY_WS_PORT=your-value --env FETCHPROXY_WS_HOST=your-value --env FETCHPROXY_IDENTITY_DIR=your-value -- npx -y evite-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "evite": {
      "command": "npx",
      "args": [
        "-y",
        "evite-mcp"
      ],
      "env": {
        "EVITE_EMAIL": "your-value",
        "EVITE_PASSWORD": "your-value",
        "EVITE_SESSION_COOKIE": "your-value",
        "EVITE_SESSION_CACHE": "your-value",
        "EVITE_SESSION_FILE": "your-value",
        "EVITE_DISABLE_FETCHPROXY": "your-value",
        "EVITE_UPLOAD_DIR": "your-value",
        "FETCHPROXY_WS_PORT": "your-value",
        "FETCHPROXY_WS_HOST": "your-value",
        "FETCHPROXY_IDENTITY_DIR": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "evite": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "evite-mcp"
      ],
      "env": {
        "EVITE_EMAIL": "your-value",
        "EVITE_PASSWORD": "your-value",
        "EVITE_SESSION_COOKIE": "your-value",
        "EVITE_SESSION_CACHE": "your-value",
        "EVITE_SESSION_FILE": "your-value",
        "EVITE_DISABLE_FETCHPROXY": "your-value",
        "EVITE_UPLOAD_DIR": "your-value",
        "FETCHPROXY_WS_PORT": "your-value",
        "FETCHPROXY_WS_HOST": "your-value",
        "FETCHPROXY_IDENTITY_DIR": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • EVITE_EMAIL env
    Your Evite login email address. Optional — if omitted, the server falls back to a raw session cookie or the fetchproxy browser bridge (requires being signed in to evite.com).
  • EVITE_PASSWORD 秘密 env
    Your Evite password. Optional — see EVITE_EMAIL.
  • EVITE_SESSION_COOKIE 秘密 env
    A raw `cookie:` header copied from a signed-in evite.com tab (alternative to email/password). Used verbatim. Optional.
  • EVITE_SESSION_CACHE env
    Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.
  • EVITE_SESSION_FILE env
    Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.evite-mcp/session.json.
  • EVITE_DISABLE_FETCHPROXY env
    Set to true to disable the fetchproxy browser bridge. With the bridge disabled you MUST provide EVITE_EMAIL/EVITE_PASSWORD or EVITE_SESSION_COOKIE. Defaults to false.
  • EVITE_UPLOAD_DIR env
    Optional. Restrict evite_upload_photo to image files inside this directory (several may be separated by the path delimiter, `:` on macOS/Linux; `~` allowed). A path outside it is refused before anyth…
  • FETCHPROXY_WS_PORT env
    Localhost port of the fetchproxy concentrator the ContextMint Bridge extension connects to (default 37149). Every MCP on one machine shares it, so move it for all of them or not at all.
  • FETCHPROXY_WS_HOST env
    Bind interface for the fetchproxy concentrator, a literal IP only (default 127.0.0.1). Keep on loopback; it exists for hosted deployments that run each MCP in its own network namespace.
  • FETCHPROXY_IDENTITY_DIR env
    Absolute path where the fetchproxy long-term identity keypair is stored (default ~/.fetchproxy/identity/).

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント chrischall で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32691件のうち0%よりスターが多い
  • このカテゴリのほかの32691件のうち92%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32691件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Evite MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:EVITE_PASSWORD, EVITE_SESSION_COOKIE

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.4.0)がレジストリに届いたのは一昨日です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Dialyne

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211一昨日更新
インストール

Dialyne

作者:dialyne

Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.

クラウドで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

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 (see docs/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:

ToolEndpointReturns
evite_list_eventsGET /services/events/v1/your events + a totals breakdown (filterBy = all/host/others, repeatable status, offset/numResults paging)
evite_get_eventGET /services/event/v1/{id}single-event detail (event, settings, location)
evite_list_guestsGET /services/event/v1/{id}/guests/the guest list + RSVP responses (delivery status, views, short links)
evite_rsvp_summary(derived from guests)just the RSVP summary (yes/no/maybe/noReply + head counts)
evite_list_messagesGET /services/event/v1/{id}/posts/the event's Messages thread
evite_list_templatesscrapes /invites/{category}/invitation template slugs (the template_name evite_create_event needs) + display names
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.

ToolEndpointAction
evite_rsvpPUT /services/event/v1/{id}/guests/{guestId}RSVP for a guest (response + adult/kid head counts + optional note)
evite_send_messagePOST /tsunami/v1/services/event/{id}/guest/{gid}/messagessend a private message to one guest (body assumed)
evite_broadcastPOST /tsunami/v1/services/event/{id}/broadcast/broadcast a message to whole RSVP segments (virtual_groups) at once
evite_upload_photoPOST …/photos/v1/{id}/upload/request/ → GCS → finish → shared-galleryupload a photo to the event's shared photo album (4-step GCS signed upload) — from a local path, inline base64, or an upload-slot blob_key (see Photo uploads)
evite_create_eventPOST /services/event/v1/ ({event:{…}})create an event draft (needs template_name; the API 500s even on success)
evite_update_eventPATCH /services/event/v1/{id} ({event:{…}})edit an event (only the fields you pass change)
evite_add_guestPOST /ajax/event/{id}/guestlist/draft/add guests to the draft (un-sent) list — [{name,email}]
evite_update_guestPATCH /ajax/event/{id}/guestlist/draft/edit a draft guest's name/email/phone
evite_remove_guestDELETE /ajax/event/{id}/guestlist/draft/{gid}remove a draft guest
evite_sendPOST /services/event/v1/{id}/send/"Send now" — emails the ready-to-send guests
evite_cancel_eventPOST …/actions/cancel/cancel an event / delete a draft (destructive; reversible)
evite_reinstate_eventPOST …/actions/reinstate/reinstate a cancelled event
evite_duplicate_eventGET /plus/create/{id}/copy/ (→302)copy an event into a fresh draft; returns the new event id

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

variabledefault
MCP_CONFIRM_MODEask-userWhat a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call writes nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse.
MCP_CONFIRM_ELICITATIONonoff never shows a confirmation prompt, so every client gets the MCP_CONFIRM_MODE behaviour. Set it for a client that says it can show prompts but never does (the write hangs — opencode 2.0.x). Any other value is treated as on, with a warning on stderr.
MCP_CONFIRM_TTL_SECONDS600How long a token stays valid.
MCP_CONFIRM_SECRETrandom per processSigning key; set it only if tokens must survive a server restart.

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 inside EVITE_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 a path is refused there with directions. Instead, call evite_upload_slots with the filenames; each slot has a signed uploadUrl and a ready curl command that PUTs the file with the exact Content-Type. Then pass the slot's blobKey as blob_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's blob says whether that delete worked). If the upload fails it is kept, so a retry can reuse the same blob_key. evite_upload_slots refuses on a local install, which has no blob store.
variabledefault
EVITE_UPLOAD_DIR~/Downloads/evite-mcpThe directories evite_upload_photo may read from — one or more, separated by the platform path delimiter (: on macOS/Linux, ; on Windows); ~ is allowed. A relative path is resolved against the first one. A path outside them (symlinks included), or a hidden file or directory inside them, is refused before the file is even looked at. Put photos to upload in ~/Downloads/evite-mcp, or point this elsewhere.

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:

  1. `EVITE_EMAIL` + `EVITE_PASSWORD` (tier-1, preferred) — headless email/password form login: POST the creds to https://www.evite.com/ajax_login, then build the session from the response Set-Cookie jar (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.)*
  2. `EVITE_SESSION_COOKIE` — a raw cookie: header copied from a signed-in evite.com tab (or set in CI). Used verbatim. *(Live.)*
  3. Fetchproxy bootstrap (fallback) — lift the session cookies (x-evite-session, evtsession, x-evite-features, csrftoken) from a signed-in evite.com browser 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 .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome- .zip.sha256). Bootstrap runs once; every API call then goes out via plain Node fetch() with the cookies attached. Opt out with EVITE_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 fetch trips 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

npm install      # resolves @chrischall/mcp-utils from a local tarball (see issue #4)

npm run build npm test

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

PopNxに聞く