
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 分