
Zola Mcp
io.github.chrischall由 GitHub 帳號 chrischall 發布v2.2.2更新於 Nov 7, 2026
Zola wedding planning for Claude — vendors, budget, guests, seating, registry, and RSVPs
概覽
將 Claude 連接到 Zola 婚禮籌備帳號,可讀取並修改廠商、預算、賓客、座位、RSVP、禮物登記與婚禮網站。
- 可以做什麼
- 檢視與管理廠商、預算項目及廠商詢問
- 列出、新增、更新與刪除賓客群組,追蹤 RSVP 與禮物
- 檢視座位表、列出尚未安排座位的賓客並指派座位
- 管理活動以及受邀的賓客群組
- 瀏覽、新增、更新禮物登記項目,並與禮物追蹤紀錄核對
- 編輯婚禮網站頁面、設定、常見問題、景點推薦、交通住宿、主題及喜帖設計專案
- 適用情境
- 適合在 Zola 上籌備婚禮、希望用自然語言提問或直接修改而不必逐頁操作的人,例如查詢 RSVP 狀態、更新預算、安排座位或編輯網站內容。
- 執行需求
- 透過 npx 或 MCPB 套件在本機執行;需要 Node.js 22 或更新版本、Zola 帳號,以及 Claude Desktop 或 Claude Code。驗證使用 ZOLA_REFRESH_TOKEN(即 usr cookie 值),或透過 ContextMint Bridge Chrome 擴充功能從已登入的 zola.com 分頁讀取該 cookie。另有選用變數控制權杖快取、帳號/登記/婚禮 ID 及寫入確認行為。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Zola Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Zola MCP
A Model Context Protocol server that connects Claude to Zola, giving you natural-language access to your wedding vendors, budget, guest list, seating chart, events, registry, inquiries, and more.
[!WARNING] AI-developed project. This codebase was entirely built and is actively maintained by Claude Code. No human has audited the implementation. Review all code and tool permissions before use.
What you can do
Ask Claude things like:
- "How's wedding planning going?"
- "Find a photographer in Charlotte, NC"
- "Update the venue cost to $25,000"
- "Who hasn't RSVP'd yet?"
- "Seat Pat at Table 1"
- "Any new vendor messages?"
- "Add my cousin Mike to the guest list"
- "Show me the gift tracker"
Requirements
- Claude Desktop or Claude Code
- Node.js 22 or later
- A Zola account
- For the no-env-var path: the ContextMint Bridge Chrome extension (Safari is not available yet — use Chrome for now)
Acknowledgement of Terms
By using this MCP server, you acknowledge and agree to the following:
1. This server accesses your own Zola account. Auth happens via your own credentials. It does not — and cannot — access anyone else's wedding website, registry, or guest list.
2. Zola's Terms of Use govern your use of this server, just as they govern your direct use of zola.com. The clauses most relevant here:
[You may not use] any hardware or software intended to surreptitiously intercept or otherwise obtain any information… including but not limited to the use of any "scraping" or other data mining techniques, robots or similar data gathering and extraction tools.
And, critically, on agent-acting-as-you: "You are responsible for maintaining the confidentiality of your account and password… You accept full responsibility for all activities that occur under your account and password, even if such actions are undertaken by your Authorized Agent or other third party."
You are agreeing to those terms — read by the maintainer 2026-05-23 — every time you invoke a tool in this server. Zola's ToU is explicit: this MCP acting as your Authorized Agent counts as you.
3. Personal, non-commercial use only. This project is not affiliated with, endorsed by, sponsored by, or in partnership with Zola, Inc. It is a personal automation tool for one couple to manage their own wedding website, registry, vendor research, and guest list. Do not use it to bulk-extract Zola's vendor directory, scrape registries, or compete with Zola.
4. Stability is not guaranteed. This server may call internal Zola endpoints that change without notice. It may break.
5. You accept full responsibility for any consequences of using this server in connection with your Zola account — rate limiting, account warnings, suspension, or any enforcement action. Per Zola's ToU, anything this MCP does under your account is your action — review guest list edits, registry changes, and inquiries before confirming. If Zola objects to your use, stop using this server.
This section is the maintainer's good-faith summary of the terms — it is not legal advice and does not modify or supersede Zola's actual ToU.
Installation
Option A — MCPB (recommended)
Download the latest .mcpb bundle from Releases and install:
You'll be prompted for your ZOLA_REFRESH_TOKEN (see Getting your refresh token below).
Option B — npm
Add to your Claude config (.mcp.json or Claude Desktop config):
Option C — from source
Add to Claude Desktop config:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Getting your refresh token
You have two options. Both produce the same usr cookie value — a ~1-year JWT that doubles as the refresh token.
Option A — ContextMint Bridge (recommended)
-
Install ContextMint Bridge — Chrome: download the chrome zip from the latest release, unzip it, and load it unpacked at
chrome://extensions(Developer mode on). Safari is not 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 (fetchproxy#extension) 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). -
Sign in at zola.com/account/login in that browser.
-
Leave
ZOLA_REFRESH_TOKENunset in your Claude config.
On the first tool call, the MCP asks the extension for the HttpOnly usr cookie via chrome.cookies.get, then operates direct-to-API from Node — the bridge is never in the hot path.
That cookie is the ~1-year refresh token, so it is cached at $MCP_DATA_DIR/.zola-mcp/refresh-token.json (falling back to $HOME, mode 0600). Later starts read it from there and need no browser at all, which is what makes the server usable on a remote host where none exists. If the API ever rejects the cached token — you signed out, or it aged past its year — it is discarded automatically and the extension is asked again. To re-auth, just sign back in to zola.com. Set ZOLA_TOKEN_CACHE=false to keep nothing on disk and ask the browser every time.
You can opt out of this fallback with ZOLA_DISABLE_FETCHPROXY=1 (e.g. in headless / CI environments where no extension is available).
Option B — manual (DevTools)
- Sign in at zola.com/account/login in any browser.
- Open DevTools → Application → Cookies →
https://www.zola.com. - Copy the value of the
usrcookie. - Paste it into
.envasZOLA_REFRESH_TOKEN=<value>(or into your Claude configenvblock).
Restart Claude Desktop
Quit completely (Cmd+Q on Mac) and relaunch.
Verify
Ask Claude: "How's wedding planning going?" — it should show your wedding dashboard.
Credentials
Available tools
77 tools across 12 areas. The Permission column says what stands between a call and a change:
- Auto — read-only; runs without asking.
- Host prompt — a write. Clients that prompt before non-read-only tools (Claude Code, Claude Desktop) ask you first; the server itself does not, so on a client with no prompt (claude.ai) it runs on the first call.
- Server gate — a write that cannot be undone or that changes what guests see, so the server confirms it itself on every client.
The server-gated writes are remove_guest, update_event, update_wedding_settings, remove_faq, remove_home_section, remove_poi, remove_travel_item, remove_registry_item, set_event_guests and remove_event_invitation (set_event_guests only when it uninvites anyone). Each first shows a preview naming the household, event, item or page content and exactly what changes (for a slug change, the old and new website URL; a registry item on a private or passcode-gated registry, or outside the default collection, is shown by id because only the public page names it), then proceeds only once you approve — see MCP_CONFIRM_MODE above.
Vendors
Budget
Guests
Seating
Inquiries
Events & RSVPs
Registry & Gifts
Wedding website — pages & settings
Wedding website — content (FAQs, home, things to do, travel)
Wedding website — theme
Invitations & save-the-dates
Discovery & health
Upgrading
next release
preview_qrcode now hands the image back through the shared delivery ladder. A normal QR preview is unchanged: one image content block, PNG. What changed are the edge cases:
- An image type is always a bare media type (
image/png, neverimage/png;charset=UTF-8), which a host's image renderer would reject. - A non-image type that Zola might return comes back as an embedded
resourceblock locally (it was mislabelled as animageblock), and as a download link on a hosted install. - An image over 10 MiB is never inlined. On a hosted install it comes back as one text block of JSON,
{ via: "link", fileName, mimeType, sizeBytes, url, expiresAt, note }, whereurlis a signed link that expires atexpiresAt. With no blob store the tool fails with atoo_largeerror.
Troubleshooting
"Zola auth: set ZOLA_REFRESH_TOKEN, or install the ContextMint Bridge extension…" — either set ZOLA_REFRESH_TOKEN in your config or install the ContextMint Bridge extension and sign into zola.com.
"Zola session refresh failed" — your refresh token has expired (~1 year) or been revoked. Either capture a new usr cookie (DevTools) or sign back into zola.com with the ContextMint Bridge extension installed.
403 from mobile API — the x-zola-session-id header may be missing. Update to the latest version.
Tools not appearing in Claude — go to Claude Desktop → Settings → Developer to see connected servers. Make sure you fully quit and relaunched after editing the config.
Security
- The refresh token lives only in your local
.envor config file (when set) or in the user's browser cookie store (fetchproxy path) - It is passed as an environment variable and never logged
- The server authenticates with Zola's mobile API using the same flow as the iOS app
- Account and registry IDs are auto-resolved from the API (no manual configuration needed)
Development
Project structure
Auth flow
All tools use the Zola mobile API (mobile-api.zola.com) with Bearer JWT auth:
POST /v3/sessions/refreshwith refresh token JWT → returns 30-min session token- All API calls use
Authorization: Bearer <session_token>+x-zola-session-idheader - On 401, auto-refreshes and retries once
- Session tokens are cached for their lifetime (30 min)
Building the MCPB bundle
The .mcpb bundle is built automatically by the Release workflow when a version tag is pushed. To build locally:
This produces zola-mcp.mcpb using the configuration in manifest.json. The bundle includes the compiled dist/bundle.js and user config prompts for ZOLA_REFRESH_TOKEN.
Releasing
Releases are automated via GitHub Actions:
- Run the Cut & Bump workflow (manual trigger) — tags the current version and bumps patch
- The tag push triggers the Release workflow which:
- Runs CI (build + test)
- Packages
.skilland.mcpbbundles - Publishes to npm
- Creates a GitHub Release with the bundles
License
MIT
來源:README.md,提交 f089e06
工具
0版本歷史
17- v2.2.2最新Nov 7, 2026
- v2.2.1Nov 5, 2026
- v2.2.0Nov 4, 2026
- v2.1.12Nov 3, 2026
- v2.1.11Oct 16, 2026
- v2.1.10Oct 10, 2026
- v2.1.9Oct 7, 2026
- v2.1.8Oct 5, 2026
- v2.1.7Oct 3, 2026
- v2.1.5Sep 28, 2026
- v2.1.4Sep 25, 2026
- v2.1.3Sep 23, 2026
- v2.1.2Sep 23, 2026
- v2.1.1Sep 21, 2026
- v2.1.0Sep 20, 2026
- v2.0.0Sep 19, 2026
- v1.12.4Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分