Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

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

README.md

evite-mcp

![CI](https://github.com/chrischall/evite-mcp/actions/workflows/ci.yml) ![npm](https://www.npmjs.com/package/evite-mcp) ![license](LICENSE)

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 are confirm-gated — without confirm: true they only return a dry-run preview and send nothing — 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 confirm-gated write tools, plus evite_healthcheck:

| Tool | Endpoint | Returns | | --- | --- | --- | | evite_list_events | GET /services/events/v1/ | your events + a totals breakdown (filterBy = all/host/others, repeatable status, offset/numResults paging) | | evite_get_event | GET /services/event/v1/{id} | single-event detail (event, settings, location) | | evite_list_guests | GET /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_messages | GET /services/event/v1/{id}/posts/ | the event's Messages thread | | evite_list_templates | scrapes /invites/{category}/ | invitation template slugs (the template_name evite_create_event needs) + display names |

Write tools (confirm-gated)

Every write tool takes confirm: boolean. Without confirm: true it performs no network call and returns a dry-run preview of exactly what would be sent — that is the safe default. Only confirm: true reaches the live path. Endpoints are verified; the CSRF token (X-CSRFToken, read fresh per request as it rotates) is attached centrally.

| Tool | Endpoint | Action | | --- | --- | --- | | evite_rsvp | PUT /services/event/v1/{id}/guests/{guestId} | RSVP for a guest (response + adult/kid head counts + optional note) | | evite_send_message | POST /tsunami/v1/services/event/{id}/guest/{gid}/messages | send a private message to one guest (body assumed) | | evite_broadcast | POST /tsunami/v1/services/event/{id}/broadcast/ | broadcast a message to whole RSVP segments (virtual_groups) at once | | evite_upload_photo | POST …/photos/v1/{id}/upload/request/ → GCS → finish → shared-gallery | upload a local image to the event's shared photo album (4-step GCS signed upload) | | evite_create_event | POST /services/event/v1/ ({event:{…}}) | create an event draft (needs template_name; the API 500s even on success) | | evite_update_event | PATCH /services/event/v1/{id} ({event:{…}}) | edit an event (only the fields you pass change) | | evite_add_guest | POST /ajax/event/{id}/guestlist/draft/ | add guests to the draft (un-sent) list — [{name,email}] | | evite_update_guest | PATCH /ajax/event/{id}/guestlist/draft/ | edit a draft guest's name/email/phone | | evite_remove_guest | DELETE /ajax/event/{id}/guestlist/draft/{gid} | remove a draft guest | | evite_send | POST /services/event/v1/{id}/send/ | "Send now" — emails the ready-to-send guests | | evite_cancel_event | POST …/actions/cancel/ | cancel an event / delete a draft (destructive; reversible) | | evite_reinstate_event | POST …/actions/reinstate/ | reinstate a cancelled event | | evite_duplicate_event | GET /plus/create/{id}/copy/ (→302) | copy an event into a fresh draft; returns the new event id |

The authoring flow is evite_create_eventevite_add_guestevite_send. evite_send, evite_send_message, evite_broadcast, and evite_cancel_event have real-world effects (emails / cancellation notices), so their confirm-gating matters.

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. 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) are confirm-gated (dry-run preview unless confirm: true). 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

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

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Communication servers.