zola-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZOLA_ACCOUNT_ID | No | Account ID, auto-resolved from API on first use. Optional override. | |
| ZOLA_REGISTRY_ID | No | Registry ID, auto-resolved from API on first use. Optional override. | |
| ZOLA_REFRESH_TOKEN | No | Refresh token JWT for Zola API. When unset, the MCP falls back to the fetchproxy extension to read the usr cookie from a signed-in zola.com tab. | |
| ZOLA_DISABLE_FETCHPROXY | No | Set to '1' to opt out of the fetchproxy fallback (e.g., in headless or CI environments). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_vendorsA | List all booked vendors with details |
| search_vendorsA | Search for vendors by name (typeahead) within a vendor category |
| add_vendorC | Book a new vendor |
| update_vendorC | Update a booked vendor's details |
| remove_vendorC | Unbook a vendor |
| get_budgetA | Get the wedding budget summary including total budgeted, actual cost, paid, and all budget items |
| update_budget_itemB | Update a budget item's actual cost and/or note by UUID |
| list_guestsA | List all guest groups with stats (total, invited, missing addresses) |
| add_guestA | Add a new guest group (household) to the guest list |
| update_guest_addressC | Update a guest group's mailing address |
| remove_guestA | Remove a guest group from the guest list |
| list_seating_chartsA | List all seating charts with their UUID and event name |
| get_seating_chartA | Get full seating chart with all tables, seats, and current occupants |
| list_unseated_guestsA | List all guests who have not yet been assigned a seat |
| assign_seatC | Assign a guest to a specific seat in a seating chart |
| list_inquiriesA | List all vendor inquiries with status, vendor name, and unread flag |
| get_inquiry_conversationA | Get full conversation for a vendor inquiry including messages and inquiry details |
| mark_inquiry_readA | Mark a vendor inquiry conversation as read |
| list_eventsA | List all wedding events (ceremony, reception, rehearsal dinner, etc.) with RSVP counts |
| track_rsvpsA | Get RSVP tracking summary per event (attending, declined, not responded) |
| get_gift_trackerA | View gift tracking: total gifts received, values, thank-you note status |
| get_registryA | View the wedding registry with categories and items |
| update_eventC | Update a wedding event (name, time, venue, location, dress code, RSVP settings) |
| get_wedding_dashboardA | Get the wedding planning dashboard overview (invites, paper, planning progress) |
| search_storefrontsB | Search Zola vendor marketplace by category and location (1=Venues, 2=Photographers, 3=Florists, 7=Planners, 9=Bands/DJs) |
| get_storefrontA | Get full details for a vendor storefront (pricing, reviews, photos, about, FAQs) |
| list_favoritesA | List all favorited/saved vendors |
| list_pagesA | List all wedding-website pages with their IDs, types, display order, visibility, and theme info |
| set_page_hiddenA | Show or hide a page on the wedding website (e.g., hide the RSVP page until invites go out) |
| reorder_pagesA | Reorder pages in the website navigation. Pass the complete ordered list of page IDs. |
| update_pageA | Update page-level metadata (title, intro copy, nav title, visibility, layout customization) |
| get_wedding_settingsA | Get top-level wedding settings: title, URL slug, partner names, date, city, hashtag, guest count, search visibility |
| update_wedding_settingsA | Update top-level wedding settings. Provide only the fields you want to change; the rest are preserved. |
| list_faqsA | List all FAQs on the wedding website |
| add_faqA | Add a new FAQ (question + answer) to the website FAQ page |
| update_faqC | Update an existing FAQ — all three fields (question, answer, display_order) must be supplied |
| remove_faqA | Remove an FAQ from the website |
| list_home_sectionsA | List the story sections on the website home page |
| add_home_sectionC | Add a story section to the home page (title + subtitle + description block) |
| update_home_sectionC | Update a home page story section — all fields must be supplied |
| remove_home_sectionC | Remove a story section from the home page |
| list_poisA | List points-of-interest on the "Things to Do" page |
| add_poiC | Add a point-of-interest to the Things-to-Do page (restaurant, attraction, etc.) |
| update_poiB | Update a point-of-interest. Provide only the fields you want to change. |
| remove_poiC | Remove a point-of-interest from the Things-to-Do page |
| list_travel_itemsA | List hotels, flights, and transportation on the website Travel page |
| add_travel_itemC | Add a travel item (hotel, flight, train, car, bus) to the Travel page |
| update_travel_itemA | Update a travel item. Provide only the fields you want to change. |
| remove_travel_itemB | Remove a travel item from the Travel page |
| get_current_themeA | Get the currently-selected website theme: key, name, swatch color, layout type |
| get_website_customizationsA | Get current website colors, font settings, and available font/color options |
| search_themesB | Browse the catalog of available wedding-website themes |
| update_current_themeA | Switch the wedding website to a different theme template |
| update_website_customizationA | Update website colors and fonts. Provide only what changes. Colors are 6-char hex without #. Note: when header_font_family_id changes, the wrapper auto-fetches current state and re-sends all active colors to defend against a Zola partial-update wipe bug. body_font_family_id is restricted to [68, 198]. header_color and nav_font_color exist on Zola's web-api endpoint but are NOT writable via the mobile-api this MCP uses — change them in the Zola web UI for now. |
| search_registry_productsA | Browse Zola products in a category, scoped to your registry. Category IDs are Zola constants (e.g. 544 = Kitchen) — exposed via GET /v3/categories in the iOS app. |
| add_registry_itemA | Add a product (by SKU) to the registry. If collection_id is omitted, the default collection is looked up automatically. |
| update_registry_itemA | Update an existing registry item — all fields must be supplied (it's a full replace) |
| remove_registry_itemC | Remove an item from the registry |
| list_card_projectsA | List your invitation / save-the-date / shower-invite "card" projects (paper or digital). Returns project UUID, name, customizations, suite, and quantity. |
| get_card_projectA | Get full details for one invitation project including all customizations (invitation, envelope, RSVP card, details card), paper/color options, and per-customization pages. |
| validate_card_projectA | Validate an invitation project — reports any text-fit, image, or guest-addressing errors per customization. Use before placing an order. |
| get_card_project_guestsA | List the guest groups assigned to an invitation project, including per-group font-size overrides for printed addressing. |
| get_card_suiteA | Get details for an invitation design "suite" (the family of matching invitation + RSVP + details cards), including paper types, sizes, and price range. |
| search_card_catalogA | Search the invitation design catalog. Faceted search returning suites matching the requested card type. |
| list_favorite_card_suitesA | List invitation design suites you have favorited (hearted). |
| get_rsvp_pageA | Get the RSVP page settings on the wedding website (title, intro copy, visibility, customization). |
| create_card_projectA | Create a new invitation project from a design suite and a lead variation (specific size/paper). |
| swap_card_project_variationA | Swap one or more customizations on a project to different variations (e.g. switch paper type, color, or size). Pass a map of customization UUID → new variation UUID. |
| set_card_project_guestsA | Enable / disable guest groups for an invitation project and optionally override font sizes for printed names and addresses. Pass the full list of guest groups you want recorded. |
| preview_card_templateA | Render an invitation template preview with text substituted in. Use to see how a design would look with your couple's names and wedding date. Returns the template structure including page layouts. |
| preview_qrcodeA | Generate a QR-code PNG for an invitation. Returns the image so it can be inspected. Use set_card_project_qrcode to actually place it on a card. |
| set_card_project_qrcodeA | Place (or update) a QR code on a specific page of an invitation project. The page UUID comes from get_card_project (look under the customization's pages array). |
| set_event_guestsA | Set which guest groups are invited to an event (bulk). For each group, invited:true ensures every guest in the group is invited to the event; invited:false removes the invitation. Other events’ invitations are preserved. Idempotent. Use this to assign guests to events in bulk (e.g. by tier/affiliation/location). |
| invite_guest_to_eventA | Invite a single guest or guest group to an event (additive — does not affect other events). Pass exactly one of guest_group_id (invites all guests in the group) or guest_id (invites just that guest). Idempotent. |
| remove_event_invitationA | Remove an event invitation for a single guest or guest group. Pass exactly one of guest_group_id (removes for all guests in the group) or guest_id (removes for just that guest). Other events’ invitations are preserved. Idempotent. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/zola-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server